← all repositories
anthropics/claude-desktop-buddy

Anthropic built a desk pet that lives off your code review anxiety

A reference BLE API and ESP32 firmware that turns an M5StickC into a twitchy little hardware buddy for Claude Desktop.

2.2k stars C++ Coding AssistantsOther AI
claude-desktop-buddy
Velocity · 7d
+37
★ / day
Trend
steady
star history

What it does

Claude Desktop (macOS/Windows) can now talk to maker hardware over Bluetooth Low Energy. This repo is both the wire-protocol reference and a working firmware example: an ESP32 desk pet that sleeps, sulks, and celebrates based on what Claude is doing. It can even approve or deny permission prompts from the device itself.

The interesting bit

The GIF streaming is the clever part. Drop a folder of 96px-wide GIFs onto the Hardware Buddy window in Claude Desktop and it pushes the whole pack over BLE to the stick, live. The device switches modes without a reflash. There’s also a tidy state machine mapping Claude’s internal mood—idle, busy, approval pending, token-milestone “level ups”—to seven pet animations.

Key highlights

  • Wire protocol is documented separately in REFERENCE.md; you can build your own device without touching this repo
  • 18 built-in ASCII pets with 7 animations each, or custom GIF characters via drag-and-drop
  • Approval prompts surface on-device with dedicated approve/deny buttons
  • Character packs must stay under 1.8 MB; includes prep_character.py and flash_character.py tooling
  • Auto-reconnects when both sides are awake; 30-second screen timeout with wake-on-interaction

Caveats

  • BLE API is developer-mode only and explicitly “not an officially supported product feature”
  • Firmware hardcodes M5StickC Plus drivers; porting to other ESP32 boards means forking the display/IMU/button layer
  • No Linux support mentioned; macOS and Windows only

Verdict

Grab this if you’re a maker who wants Claude’s state visible in physical space, or if you’re building custom BLE peripherals and need a working protocol reference. Skip it if you were hoping for a polished consumer gadget—this is a tinkerer’s API with a very cute demo attached.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.