Anthropic just dropped a curious little gift for the maker community on GitHub: a Bluetooth API for its Claude desktop app, complete with a reference implementation for an ESP32-powered desk companion.
Here's how it works. When you enable developer mode in the Claude desktop client for macOS or Windows (Help → Troubleshooting → Enable Developer Mode), it opens a Bluetooth Low Energy (BLE) interface. Using the Nordic UART Service—a common custom serial protocol over BLE—the app pushes session status, permission requests, and recent messages to any paired hardware. That hardware can then send back "approve" or "deny" button presses to the desktop.
For developers dreaming up AI peripherals, this is a clever shortcut. It bypasses the need to directly integrate with the Claude API. As long as the user's desktop client is running, your gadget can get real-time session status and handle approvals with a local button press.

The example project in the repo uses an M5StickC Plus board to create a desk pet. It sleeps when there's no active session, wakes up when a chat starts, and gets visibly anxious when a permission request is pending. Press button A to approve, B to deny.
M5Stack, the Chinese manufacturer of this tiny dev board (whose name translates to "Mingzhan"), was acquired in 2024 by Espressif, the parent company of the ESP32 chip. It's now an Espressif subsidiary. The board's main controller is Espressif's own ESP32-PICO-D4, a dual-core 240 MHz chip, and the project's platformio.ini2 configuration file explicitly sets the board as m5stick-c.
The firmware comes pre-loaded with 18 different ASCII characters, each with seven animations covering states like sleeping, idle, working, awaiting approval, leveling up, being shaken, and quick approval. Every 50,000 tokens processed triggers a celebratory level-up animation. If you approve a request within five seconds, a little heart pops up.
Want to swap out the ASCII art for GIFs? The desktop app supports pushing a folder—containing a manifest.json and a bunch of 96-pixel-wide GIFs—directly to the device. The whole package can't exceed 1.8 MB.
Anthropic is careful to note in the repository that this BLE API only works in developer mode. It's not an officially supported product feature. The company positions it as a lightweight, user-enabled interface specifically for the maker community.