Clawd on Desk
A pixel desktop pet that watches Claude Code, Codex, Cursor and other AI coding agents in real time — so you don't have to.
- Source repo
- rullerzhou-afk/clawd-on-desk
- Stars
- ★ 6.5k
- Last updated
- today
- License
- AGPL-3.0
- Primary language
- JavaScript
- FA score
- 73/100 · Some gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code
- Cost
- Free, no paid service needed
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A Claude Code user kicking off a long refactor or test run: walk away and let the crab's sleeping or celebration animation tell you when it's done instead of polling the terminal.
- Not a fit if
- Teams that cannot run a GUI desktop app on every developer machine
- Users who need the international Trae build or a Linux QwenWork client
- Anyone expecting every agent integration to support permission bubbles
- Source review
- 73/100 · Some gaps
What does this agent do, and when should you use it?
Clawd on Desk is an open-source (AGPL-3.0) Electron desktop pet for Windows, macOS and Linux that mirrors what your AI coding agents are doing. It reads agent lifecycle state through command hooks, HTTP permission hooks, log polling or plugin integrations covering more than twenty local agents — Claude Code, Codex CLI, Copilot CLI, Gemini CLI, Cursor Agent, Qwen Code and many others — and drives a pixel character through 12 animated states: thinking, typing, subagent groove, juggling, error, celebration and sleep. When a permission-capable agent requests approval, Clawd pops a floating bubble card for one-click Allow/Deny, with optional remote approval via Telegram and Feishu/Lark and notification-only push to Slack. The app also ships a multi-session dashboard and HUD, a private local Recap, subscription quota rings, a read-only LAN PWA mobile mirror, three built-in themes (Clawd the crab, Calico the cat, Cloudling) plus custom themes and Codex Pet pack imports. Prebuilt installers exist for Windows x64/ARM64, macOS DMG, Linux AppImage/deb and Homebrew; Claude Code and Codex hooks auto-register on first launch while the rest are enabled from Settings → Agents.
Clawd runs as an Electron desktop process. For Claude Code it performs full integration via command hooks plus HTTP permission hooks; for Codex CLI it uses official hooks with a JSONL fallback polling ~/.codex/sessions/; for Gemini, Qwen, Cursor, CodeBuddy, Kimi and others it registers command hooks by writing each agent's config file (e.g. ~/.gemini/settings.json, ~/.cursor/hooks.json, ~/.qwen/settings.json), also installable via scripts like npm run install:gemini-hooks. It maps agent lifecycle events to 12 animation states (idle, thinking, typing, building, subagent groove, juggling, error, happy, notification, sweeping, carrying, sleeping), tracks each session independently across simultaneously running agents, and resolves them to the highest-priority state. Permission requests appear as stacked bubble cards bottom-right with global hotkeys Ctrl+Shift+Y / Ctrl+Shift+N and three handling modes (Ask every time / Question prompts only / Auto-approve), plus remote Allow/Deny through Telegram and Feishu (Lark); Slack receives notification-only Block Kit cards. The Dashboard (right-click → Open Dashboard) shows live sessions, recent events and aliases with one-click terminal focus; Orbit rings and Dashboard bars show subscription quota (local Claude collection is off by default and uses the official status-line rate_limits payload). Settings → Mobile / PWA generates a token-gated LAN pairing URL for a read-only phone mirror of session states. Custom themes are scaffolded with node scripts/create-theme.js, require at minimum 1 eye-tracking SVG plus 7 GIF/APNG files, and can be validated with node scripts/validate-theme.js.
- A Claude Code user kicking off a long refactor or test run: walk away and let the crab's sleeping or celebration animation tell you when it's done instead of polling the terminal.
- A power user running Claude Code, Codex CLI and Cursor Agent in parallel: Clawd tracks each session independently and shows one subagent as a headphones groove, two or more as juggling.
- A security-conscious developer: approve or deny file-write and command permissions from the desktop bubble, or remotely from Telegram/Feishu, without babysitting the terminal.
- A remote/WSL worker: deploy hooks via Settings → Remote SSH to a server-side Claude Code or Codex install and still get state and permission bubbles locally.
- Someone quantifying their AI-assisted coding: review accepted agent activity by hour/day/month in Recap and watch subscription quota in Dashboard bars.
- A theme tinkerer: scaffold a custom character with
create-theme.jsor import an existing Codex Pet zip animation pack.
How do you install or deploy this agent?
For normal use, download a prebuilt installer from GitHub Releases: Windows x64 or ARM64 Clawd-on-Desk-Setup-<version>-*.exe, macOS .dmg, or Linux .AppImage/.deb. On macOS or Linux x86_64 you can also run brew install --cask clawd-on-desk. To run from source you need Node.js: git clone https://github.com/rullerzhou-afk/clawd-on-desk.git && cd clawd-on-desk && npm install && npm start. On first launch Clawd auto-registers Claude Code and Codex hooks; other agent integrations are installed from Settings → Agents as needed.
How do you use this agent?
After installing and launching, Clawd sits on your desktop with Claude Code / Codex integrations auto-synced. To attach other agents, open Settings… → Agents and install the hook or plugin for each. Right-click or use the tray menu to open the Dashboard (live sessions), Recap (activity history), Mini Mode (edge-docked mini mode) and Do Not Disturb. When a permission bubble appears, click Allow/Deny or press Ctrl+Shift+Y / Ctrl+Shift+N; configure Telegram or Feishu channels for remote approval. Switch or import themes under Settings → Theme, and pair your phone via the URL in Settings → Mobile / PWA.
What are this agent's strengths and limitations?
- Exceptional agent coverage: beyond out-of-the-box Claude Code and Codex, the README documents concrete hook/plugin wiring for Copilot, Gemini, Cursor, Qwen, Kiro, opencode, Hermes and many more.
- Permission approval is genuinely actionable: desktop bubbles, global hotkeys, and Telegram/Feishu remote Allow/Deny, while state-only agents explicitly keep their native permission flow.
- Fine-grained multi-session awareness: independent per-session tracking with the one-subagent-headphones vs two-plus-juggling mapping makes concurrency legible at a glance.
- Clear local privacy boundaries: Recap stores only minimized local data with no telemetry; the mobile PWA is a LAN-only, token-gated read-only mirror; Slack secrets live in a local env file with 0600 permissions.
- Many integrations are phase-1/state-only: Antigravity, Pi, CodeWhale, QoderWork, TraeCode and others show animations but no permission bubbles, and some (DeepSeek Harness, TraeCode) are explicitly experimental — check the known-limitations table before adopting.
- Except for Claude Code and Codex, every other agent's hooks must be installed manually from Settings → Agents and kept in sync, which adds setup cost.
- Slack is notification-only — it cannot Allow or Deny; the mobile PWA is read-only too, with in-browser approval still on the roadmap.
- Running from source pulls Electron build tooling and a large node_modules tree, suitable mainly for contributors and debugging.
- The Clawd character is Anthropic's property and the project is an unofficial fan work; bundled artwork is not covered by AGPL-3.0, so redistribution of assets needs care.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Clawd on Desk This agent | 73 · Some gaps | Desktop appFree | ★ 6.5k | today | JavaScript | Codex · Claude Code |
| T3 Code | 52 · Major gaps | — | ★ 30k | today | TypeScript | Codex · Claude Code |
| Peon Ping — AI Agent Voice Notifications | 50 · Major gaps | CLIFree | ★ 5.1k | 5d ago | Shell | Codex · Claude Code |
| Better Harness | 85 · Good | Agent plugin / skillFree | ★ 2.4k | 5d ago | JavaScript | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Integrations inject hooks into many agent config files (~/.claude, ~/.codex, etc.); most are opt-in with uninstall scripts, but Claude/Codex auto-sync writes user configs by default — not top marks. Permission bubbles offer Ask-always / tools-only / auto-approve modes, with auto-approve degrading after restart (good), but auto-approve accepts unrecognized request names — deducted. Data-flow docs cover statusline non-scraping, local 0600 secret files, private-channel advice; good but asserted rather than code-verified. Pinned deps plus a dependency-security-floor test. Uninstall/cleanup scripts for rollback. Author, AGPL-3.0, and NOTICE.md present.
package. description still says 'reacts to your Claude Code sessions' while README covers 20+ agents — minor self-inconsistency, deducted. Dependency ranges reasonable (Node>=22.12, pinned koffi 2.16.3) with postinstall verification. CI failure paths and assertions are thorough, but runtime error-message quality cannot be verified statically.
Target scenario (multi-agent monitoring desktop pet) clearly described; Windows/macOS/Linux multi-arch coverage earns full marks. Per-agent capability boundaries (state-only vs permission bubbles) are noted item by item, but many 'phase 1' limits are prose-only — 2. Trigger mapping docs (state-mapping.md) and environment fit (WSL limits, multi-monitor) documented.
Good doc architecture: multi-language READMEs, docs/guides/, install notes covering prebuilt installers and source. Full AGPL-3.0 text consistent with package. (AGPL-3.0-only) — full marks. Version 1.0.0 and release badges exist but no CHANGELOG file seen — deducted on versioning. Individual maintainer with credited contributor (@Bynlk) — average.
The product output (animations, session panel, permission bubbles, remote notifications) has clear marginal value for 'walk away from the terminal'; low friction overall, though memory footprint is undeclared — cost_benefit deducted 1.
Most feature claims map to hooks/*.js scripts, docs/guides, and dedicated CI tests (telegram-retirement, koffi-smoke, audit-packaged-native) — good traceability, but static review did not verify implementations file-by-file. Facts and inferences are mostly separated; performance/stability claims lack runtime evidence — deducted.
- Auto-approve permission mode may approve unrecognized request names; keep 'Ask always' by default.
- Installation writes to multiple agents' global config files; review install/uninstall hook scripts before use.
- Publisher is unverified and identity unknown; audit the hooks/ install scripts yourself.
- Slack/Telegram/Feishu messages may include session titles and paths — use a private channel.
- The LAN PWA bridge is read-only and token-protected, but enable only on trusted networks.
- This is a static review; no code was executed and runtime behavior is unverified.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
v1.4.0 Clawd v1.4.0 reorganizes Settings into five focused tabs, reduces idle CPU use with sleep-aware rendering, and adds KiroCrew and Qoder CN integrations. It also adds opt-in external permission review, read-only phone approval summaries, local OpenCode/MiMo question answers, and herdr pane focus. Settings - Five-tab Settings redesign (#1218, #1220, #1179; related #969) — splits General into General, Pet, Notifications, Sessions, and Permissions & approval; moves Remote approval into the Permissions & approval tab with On this machine, …View on GitHub ↗ -
Release notes excerpt
v1.3.0 Clawd v1.3.0 improves how the pet follows Claude Code tool batches, Codex compaction and approval routing, and WorkBuddy conversations. DeepSeek Harness gains desktop support alongside its web integration. This release also adds optional quota reminders and improves session history, official theme downloads, pet sizing, Footprints, and Linux AppImage shutdown. Claude Code - Thinking between tool batches (#1123, #1150, #1153, #1154; issue #1018) — returns the pet to thinking after a correlated tool batch, instead of typing …View on GitHub ↗ -
Release notes excerpt
v1.2.0 Clawd v1.2.0 adds experimental MiniMax Code support, OpenCode 2.x permissions, DeepSeek Harness session details, safer optional approval automation, and new theme behavior. Idle bubbles in the built-in Clawd theme now mirror on the right half of the screen, where the pet appears by default. This release also improves session recovery, hook health, notifications, and remote Codex monitoring. Agents And Sessions - MiniMax Code (#1038, #1049) — adds an experimental, state-only integration through Clawd's managed local plugin at ~/.minimax/plugins/clawd-state. …View on GitHub ↗