# Claude Desktop Buddy

> An open-source Bluetooth API reference and example firmware for connecting Claude desktop apps to maker hardware devices like ESP32 over BLE.

Claude Desktop Buddy is an open-source reference implementation and example firmware that enables Claude for macOS and Windows to connect to maker hardware devices over Bluetooth Low Energy (BLE). It provides a lightweight, opt-in API so developers and makers can build physical hardware that displays permission prompts, recent messages, and other Claude interactions. The project ships with a working ESP32 desk-pet example built on the M5StickC Plus that reacts to Claude sessions in real time. The BLE API is available when Claude desktop apps are in developer mode and is intended for the maker community.

- **BLE Bridge** — *Uses the Nordic UART Service to relay JSON-encoded wire protocol messages between Claude desktop and your ESP32 device over Bluetooth.*
- **Permission Prompt Hardware UI** — *Lets you approve or deny Claude tool-use permission prompts directly from physical buttons on the device.*
- **ASCII & GIF Pet Animations** — *Ships with 18 ASCII pets (7 animation states each) and supports custom GIF character packs streamed over BLE.*
- **Seven Reactive States** — *Device animates through sleep, idle, busy, attention, celebrate, dizzy, and heart states driven by live Claude session events.*
- **Folder Push Transport** — *Drag a character pack folder onto the Hardware Buddy window to stream it to the device over BLE without USB.*
- **PlatformIO Firmware** — *Flash the firmware with `pio run -t upload` after installing PlatformIO Core; supports factory reset from the device menu.*
- **Open Wire Protocol** — *REFERENCE.md documents Nordic UART Service UUIDs, JSON schemas, and the folder push transport so you can build any compatible device without using this codebase.*
- **NVS-Backed Settings** — *Pet choice, stats, owner info, and settings persist to non-volatile storage across reboots.*

## Features
- BLE connectivity via Nordic UART Service
- Permission prompt approval/denial from hardware buttons
- 18 ASCII pets with 7 animation states each
- Custom GIF character pack support streamed over BLE
- Seven reactive states driven by Claude session events
- Folder push transport for character packs
- PlatformIO-based ESP32 firmware
- Open wire protocol documented in REFERENCE.md
- NVS-backed persistent settings and stats
- Auto-reconnect bridge between Claude desktop and device
- Screen auto-power-off with wake on button press
- Factory reset from device menu

## Integrations
Claude for macOS, Claude for Windows, Claude Code Desktop, ESP32, M5StickC Plus, PlatformIO, Arduino framework

## Platforms
WINDOWS, MACOS, API, DEVELOPER_SDK, CLI

## Pricing
Open Source

## Links
- Website: https://github.com/anthropics/claude-desktop-buddy
- Documentation: https://github.com/anthropics/claude-desktop-buddy/blob/main/REFERENCE.md
- Repository: https://github.com/anthropics/claude-desktop-buddy
- EveryDev.ai: https://www.everydev.ai/tools/claude-desktop-buddy
