According to Dynamic Beating's monitoring, Anthropic recently open-sourced the claude-desktop-buddy repository on GitHub, releasing the Bluetooth API of the Claude desktop application for the maker community, along with a reference implementation of an ESP32 desktop pet.
The specific approach is that Claude's macOS and Windows clients, in developer mode (Help → Troubleshooting → Enable Developer Mode), open a BLE interface. Through the Nordic UART Service (a commonly used custom UART service in Bluetooth Low Energy), they send session status, permission requests, and recent message notifications to paired hardware. The hardware can also send back "approve/deny" button responses to the desktop. For developers interested in creating AI peripherals, this pathway eliminates the need to integrate with the Claude API directly: as long as the user's desktop client is running, the hardware can receive real-time session status and complete approvals locally via buttons.
The repository provides an example using an M5StickC Plus as a desktop pet: when there is no active session on the desktop, it sleeps; when a session starts, it wakes up; when there is a permission request pending, it becomes anxious, and the user can press A to approve or B to deny. The manufacturer of this microcontroller board, M5Stack (Chinese name MingStack), was acquired by Espressif, the parent company of the ESP32 chip, in 2024, and is now a subsidiary of Espressif. The main controller on the board is Espressif's own ESP32-PICO-D4 dual-core 240 MHz chip, and the board field in the engineering configuration file platformio.ini is explicitly set to m5stick-c. The firmware comes with 18 ASCII characters, each with seven sets of animations covering sleeping, idle, working, pending approval, upgrading, being shaken, and fast approval—these seven states. Every 50K tokens accumulated trigger an upgrade celebration, and if approval is granted within five seconds, a heart pops up. If users want to switch to a GIF character, the desktop application supports directly pushing a folder containing a manifest.json file and several 96-pixel-wide GIFs to the device, with the entire package not exceeding 1.8 MB.
Anthropic emphasizes in the repository description that this BLE API only works in developer mode, is not an officially supported product feature, and is positioned as a lightweight interface that requires manual user activation for the maker community.
