explaingit

bournechoi4353/claudebuddy

0JavaScriptAudience · developerComplexity · 3/5ActiveSetup · moderate

TLDR

A pixel art crab Mac desktop companion that walks across the screen and opens a Claude chat panel using your existing Pro or Max subscription via the Claude Agent SDK, with screen reading and Spotify control.

Mindmap

mindmap
  root((ClaudeBuddy))
    Inputs
      Chat messages
      Screen captures
      Spotify OAuth
      App switch events
    Outputs
      Streamed Claude replies
      Spotify actions
      Screen aware answers
      Sleeping crab animation
    Use Cases
      Pet style Claude chat
      Ask about current app
      Control music hands free
      Read the active browser tab
    Tech Stack
      Electron
      JavaScript
      Node 20
      Claude Agent SDK
      Spotify API

Things people build with this

USE CASE 1

Get a desktop pet that doubles as a Claude chat panel using your Pro or Max subscription

USE CASE 2

Ask Claude what is on the active browser tab or which app you just switched to

USE CASE 3

Control Spotify from a chat prompt like pause or play hello by adele

USE CASE 4

Study how to wrap the Claude Agent SDK in an Electron menubar app without an API key

Tech stack

ElectronJavaScriptNodeClaude Agent SDKSpotify

Getting it running

Difficulty · moderate Time to first run · 30min

Needs macOS with Node 20+, a Claude Pro or Max subscription, claude login already run, and a one-time Gatekeeper right-click to launch the self-signed app.

In plain English

Clawd is a small Mac desktop companion: a pixel-art crab that walks back and forth along the bottom of your screen and is also a chat interface to Claude, the AI assistant from Anthropic. You click the crab to open a small chat panel and type into it. The README is clear that this runs against your existing Claude Pro or Max subscription via the Claude Agent SDK, with no separate API key and no per-token billing. Clawd can do more than chat. It can look at your screen on request (which triggers a macOS Screen Recording permission prompt that you have to grant once), control Spotify if you connect it through a standard OAuth flow, react when you switch apps, and take a nap if you ignore it for about three minutes, complete with sleepy z characters floating up. Example prompts include what time is it, what app am I in, read my chrome tab, what is playing, pause, skip, or play hello by adele. Mundane questions just stream back without any tool use. Installation is one curl command piped into bash. The installer checks your machine, downloads the source, builds the app locally, signs it with a self-signed certificate, and copies it into /Applications. The first launch is blocked by macOS Gatekeeper because the project does not have a paid Apple Developer ID, so you right-click and pick Open once to trust it, and after that Spotlight and Launchpad work normally. Updates run the same installer again. Requirements are macOS (best tested on Apple Silicon), Node.js 20 or newer to build, a Claude Pro or Max subscription, and Claude Code installed with claude login already run so the credentials file at ~/.claude/.credentials.json exists. Spotify is optional. A menubar item lets you reset the conversation, change the crab's size, switch monitors, connect or disconnect Spotify, and toggle launch at login. Developers can clone the repo and use npm scripts to run it as an Electron app in dev mode.

Copy-paste prompts

Prompt 1
Install ClaudeBuddy with the one line curl installer and right click to bypass Gatekeeper on first launch
Prompt 2
Walk me through how ClaudeBuddy reads ~/.claude/.credentials.json and calls the Claude Agent SDK
Prompt 3
Add a new menubar option to ClaudeBuddy that toggles whether the crab walks or stays in place
Prompt 4
Wire up an extra tool to ClaudeBuddy that reads the macOS clipboard and feeds it into Claude
Prompt 5
Run ClaudeBuddy from source in Electron dev mode and hot reload the chat panel UI
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.