Clawd on Desk

rullerzhou-afk·rullerzhou-afk.clawd-on-desk

A pixel desktop pet that watches Claude Code, Codex, Cursor & other AI coding agents — so you don't have to.

Clawd lives on your desktop and reacts to what your AI coding agent is doing — in real time. Start a long task, walk away, come back when the crab tells you it's done. Thinking when you prompt, typing when tools run, juggling subagents, reviewing permissions, celebrating when tasks complete, sleeping when you step away. Ships with two built-in themes: Clawd (pixel crab) and Calico (三花猫), with full support for custom themes. Supports Windows 11, macOS, and Ubuntu/Linux. Requires Node.js. Works with Claude Code, Codex CLI, Copilot CLI, Gemini CLI, Cursor Agent, CodeBuddy, Kiro CLI, and opencode. Features Multi-Agent Support - Claude Code — full integration via command hooks + HTTP permission hooks - Codex CLI — automatic JSONL log polling (~/.codex/sessions/), no configuration needed - Copilot CLI — command hooks via ~/.copilot/hooks/hooks.json - Gemini CLI — command hooks via ~/.gemini/settings.json (registered automatically when Clawd starts, or run npm run install:gemini-hooks) - Cursor Agent — Cursor IDE hooks in ~/.cursor/hooks.json (registered automatically when Clawd starts, or run npm run install:cursor-hooks) - CodeBuddy — Claude Code-compatible command hooks + HTTP permission hooks via ~/.codebuddy/settings.json (registered automatically when Clawd starts, or run node hooks/codebuddy-install.js) - Kiro CLI — command hooks injected into custom agent configs under ~/.kiro/agents/, plus an auto-created clawd agent that is re-synced from Kiro's built-in kiro_default whenever Clawd starts, so you can opt into hooks with minimal behavior drift via kiro-cli --agent clawd or /agent swap clawd (registered automatically when Clawd starts, or run npm run install:kiro-hooks). State hooks have been verified on macOS. - opencode — plugin integration via ~/.config/opencode/opencode.json (registered automatically when Clawd starts); zero-latency event streaming, permission bubbles with Allow/Always/Deny, and building animations when parallel subagents are spawned via the task tool - Multi-agent coexistence — run all agents simultaneously; Clawd tracks each session independently Animations & Interaction - Real-time state awareness — agent hooks and log polling drive Clawd's animations automatically - 12 animated states — idle, thinking, typing, building, juggling, conducting, error, happy, notification, sweeping, carrying, sleeping - Eye tracking — Clawd follows your cursor in idle state, with body lean and shadow stretch - Sleep sequence — yawning, dozing, collapsing, sleeping after 60s idle; mouse movement triggers a startled wake-up animation - Click reactions — double-click for a poke, 4 clicks for a flail - Drag from any state — grab Clawd anytime (Pointer Capture prevents fast-flick drops), release to resume - Mini mode — drag to right edge or right-click "Mini Mode"; Clawd hides at screen edge with peek-on-hover, mini alerts/celebrations, and parabolic jump transitions Permission Bubble - In-app permission review — when Claude Code, CodeBuddy, or opencode request tool permissions, Clawd pops a floating bubble card instead of waiting in the terminal - Allow / deny / agent-native extras — one-click approve or reject, plus permission rules / Always actions when the source agent supports them - Global hotkeys — Ctrl+Shift+Y to Allow, Ctrl+Shift+N to Deny the latest permission bubble (only registered while bubbles are visible) - Stacking layout — multiple permission requests stack upward from the bottom-right corner - Auto-dismiss — if you answer in the terminal first, the bubble disappears automatically - Per-agent toggle — open Settings… → Agents, pick an agent, and turn off Show pop-up bubbles to keep prompts in that agent's own terminal/TUI Session Intelligence - Multi-session tracking — sessions across all agents resolve to the highest-priority state - Subagent awareness — juggling for 1 subagent, conducting for 2+ - Terminal focus — right-click Clawd → Sessions menu to jump to a specific session's terminal window; notification/attention states auto-focus the relevant terminal - Process liveness detection — detects crashed/exited supported agent processes and cleans up orphan sessions - Startup recovery — if Clawd restarts while any supported agent is still running, it stays awake instead of falling asleep System - Click-through — transparent areas pass clicks to windows below; only Clawd's body is interactive - Position memory — Clawd remembers where you left it across restarts (including mini mode) - Single instance lock — prevents duplicate Clawd windows - Auto-start — Claude Code's SessionStart hook can launch Clawd automatically if it's not running - Do Not Disturb — right-click or tray menu to enter sleep mode; all hook events are silenced until you wake Clawd. Permission bubbles are suppressed during DND — opencode falls back to its built-in TUI prompt, while Claude Code and CodeBuddy fall back to their built-in permission flow - Sound effects — short audio cues on task completion and permission requests (toggle via right-click menu; 10s cooldown, auto-muted during DND) - System tray — resize (S/M/L), DND mode, language switch, auto-start, check for updates - i18n — English, Chinese, and Korean UI; switch via right-click menu or tray - Auto-update — checks GitHub releases; Windows installs NSIS updates on quit, macOS/Linux git pull + restart when running from a cloned repo

winget install --id rullerzhou-afk.clawd-on-desk --exact --source winget

Latest 0.13.0·July 22, 2026

Release Notes

v0.13.0 v0.13.0 is an agent-extensibility and runtime-reliability release. It adds WorkBuddy and MiMo Code integrations, lets users register state-only custom HTTP agents, adds a default idle-animation picker, brings remote approval to both Feishu and Lark, surfaces Codex request_user_input questions on the desktop, and hardens hook recovery and Windows/macOS window behavior. This release welcomes seven first-time contributors. New Integrations And Extensibility

  • WorkBuddy support (#618) — optional Claude Code-compatible command hooks support the current ~/.workbuddy-ai/settings.json location and the legacy ~/.workbuddy/settings.json location. WorkBuddy is state + Notification only: approval remains in WorkBuddy's native sandbox and GUI, and Clawd never registers a /permission hook. Thanks to first-time contributor @kkirito16.
  • MiMo Code support (#607) — MiMo joins the opencode family through @mimo-ai/plugin, with comment-preserving JSONC install/repair/uninstall, deterministic handling of multiple config candidates, and the same Allow/Always/Deny permission bridge and DND fallback as opencode. task child sessions are headless and do not participate in the visible multi-session animation fanout. Thanks to first-time contributor @jiaxuan1101.
  • Custom HTTP agents (#652) — Settings can register local applications and assign stable custom-... IDs for state-only /state reporting through the runtime-discovered port. Registration does not install a hook or observe a process automatically; disabled, removed, stale, and forged IDs fail closed, while server-side session namespacing prevents two custom applications from overwriting one another. Thanks to first-time contributor @200780381.
  • Default idle animation picker (#679) — choose the idle visual used by a theme while preserving eye-tracking capability rules. Thanks to returning contributor @KaiC5504.
  • Lark remote approval (#493) — the existing Feishu channel now supports Lark tenants as a first-class platform, with real-tenant fixes and updated event-subscription guidance. Agent Runtime And Permission Reliability
  • Codex desktop questions (#707) — supported request_user_input prompts can appear as desktop question cards, including recovery after restart and correct resolution cleanup. Recovery is bounded by age, file count, and byte budget, keeps durable read positions, handles exact 1 MiB record boundaries, and does not replay stale completion events. Thanks to first-time contributor @JesmonX; rollout read-position and unavailable-session work also came from first-time contributor @lurui1997 (#698, #700).
  • Codex Desktop attribution and deduplication (#669) — Desktop originator metadata is retained and Desktop sessions are counted separately where needed. Thanks to first-time contributor @Dxy2326.
  • Claude hook self-healing (#673) — all in-process Claude settings mutations now run through one server-owned queue. Directory watching catches atomic replacement, a periodic read-only health audit finds deleted scripts even without an fs event, and three repeated failed repairs transition to a manual fix state. Explicit Install/Fix only reports success after the entire declared hook set verifies healthy.
  • CodeBuddy permission ownership — local and explicitly configured custom permission URLs remain supported, while unrelated HTTP hooks are preserved; a bare hook named only clawd is never treated as owned.
  • Kimi passive approval cues (#675, #680, #702, #703) — permission cards are tool-aware, batched approval state is tracked without taking over Kimi's native decision, dismissing a cue can focus the terminal, and the legacy suspect heuristic is migrated safely. New legacy ~/.kimi installs now default to persisted --permission-mode=suspect because current kimi-cli versions do not emit explicit permission fields; an existing explicit choice is preserved. Pre-approved gated commands lasting longer than about 0.8s may briefly show a false-alarm cue. Set CLAWD_KIMI_PERMISSION_MODE=explicit before reinstalling/syncing to opt out persistently, or use the same runtime environment variable for a temporary override.
  • Permission fallback clarity (#704) — opencode-family bubbles can return control to the terminal without silently deciding the request.
  • Nested hook Doctor checks (#668) — integration health is validated per event instead of accepting a partially present nested hook configuration. Desktop And Platform Fixes
  • No residual Windows Terminal prompt flash (#672) — foreground Windows Terminal sampling moves into the already-running Electron process, removing the remaining per-prompt PowerShell spawn. Hook process-tree inspection is also skipped when Clawd is offline and temporary caches no longer retain agent command lines (#681). Thanks to @Dxy2326.
  • Windows DWM cloak recovery (#525, #701) — the pet can detect and recover from an unexpectedly cloaked window across watchdog and power/display-wake paths.
  • Windows first-frame visibility recovery — after the first pet visual is actually rendered, Clawd replays the existing window bounds and native visibility/topmost recovery sequence without relocating the saved pet position. This prevents an upgrade launch from requiring the tray recovery action before the pet appears.
  • Desktop shell fullscreen detection (#721) — Explorer/desktop shell windows are no longer mistaken for fullscreen applications. Thanks to returning contributor @KaiC5504.
  • Stable tray flash icon (#722, #723) — notification flashing no longer changes tray icon size. Thanks to first-time contributor @chen86860.
  • macOS SkyLight editing dodge (#640, #664) — while a text-input bubble is being edited, the pet and hit windows are transactionally moved out of the private stationary Space so they sit behind the input/IME surface, with a fade fallback if the native path cannot be applied. Thanks to returning contributor @Yike-Ye.
  • Electron install integrity (#710, #712) — postinstall and explicit verification detect incomplete or mismatched Electron distributions, retain Linux override fallback behavior, and validate packaged platform binaries. Electron is updated to 41.10.2; source builds now require Node.js 22.12.0 or newer and the repository pins Node 24.18.0 in .nvmrc. Release Hardening
  • Release CI now runs the full test suite on Windows, macOS, and Linux before building, so POSIX-only installer/JSONC behavior is no longer skipped by the only test job.
  • Custom-agent session keys are namespaced at the HTTP trust boundary, Claude explicit repairs require a fully healthy report, and local/remote Codex recovery retains complete records that begin exactly at the tail window.
  • Windows still ships separate x64 and ARM64 NSIS installers. macOS and Linux packages retain their platform-specific sidecars and executable checks. Contributors Welcome to first-time contributors @jiaxuan1101, @kkirito16, @200780381, @Dxy2326, @lurui1997, @JesmonX, and @chen86860. Thanks also to returning contributors @KaiC5504, @Yike-Ye, and @Git-creat7, and to everyone who tested real agent and platform behavior. Upgrade Notes
  • Existing preferences, themes, and installed/enabled integration flags are preserved when upgrading from v0.12.0.
  • WorkBuddy users should prefer ~/.workbuddy-ai/settings.json; the legacy ~/.workbuddy/settings.json path remains supported.
  • Custom HTTP senders must continue discovering the active port from ~/.clawd/runtime.json; port 23333 must not be hardcoded.
  • After upgrading from v0.12.0 or earlier, fully quit and start Clawd once so ~/.clawd/runtime.json gains its ownerPid. Until that first restart, hooks fail closed for process-tree metadata: state/approval routing still works, but terminal PID and click-to-focus metadata may be temporarily absent.
  • WorkBuddy has no verified standalone Linux/WSL CLI. MiMo/opencode task children remain headless rather than driving visible building fanout. Validation Status
  • Windows x64: packaged real-machine smoke passed on July 22, 2026. The final win-unpacked app opened a live window, owned its runtime identity, fell back from occupied port 23333 to 23334, and returned a valid GET /state health response. The NSIS cleanup entry point also removed a managed MiMo plugin from JSONC while preserving its comment, trailing comma, third-party plugin, and unrelated settings. After the first draft installer exposed a blank pet on upgrade launch, the rebuilt package was cold-started twice with the saved pre-fix position/display snapshot: both runs kept the saved 189,403 position, reported a visible uncloaked native window, and the first run's captured HWND contained the rendered Cloudling visual without using the tray recovery action.
  • Windows ARM64: not real-machine validated for v0.13.0.
  • macOS: not real-machine validated for the final v0.13.0 package in this Windows-first release environment.
  • Linux: not real-machine validated for the final v0.13.0 package in this Windows-first release environment.
  • Feishu China tenant and QoderWork IDE: not real-machine validated for v0.13.0. Lark tenant behavior and Qoder CLI are covered separately. CI builds and unit tests are release gates, but do not count as real-machine validation.

Installer type: nullsoft

x64user8F4E8C501C809EBB592E0DD5236CD7CA895EE8B14E43CC5E26BB8BFAEE897B13
x64machine8F4E8C501C809EBB592E0DD5236CD7CA895EE8B14E43CC5E26BB8BFAEE897B13

Details

Homepage
https://github.com/rullerzhou-afk/clawd-on-desk
License
MIT
Publisher
rullerzhou-afk
Support
https://github.com/rullerzhou-afk/clawd-on-desk/issues
Copyright
Copyright (c) 2026 rullerzhou-afk

Tags

claude-codecodebuddycodexcopilot-clicursordesktop-petgemini-clikiroopencode

Older versions (12)

0.12.0
x64user46B4AF9FB45883CDFF65750CBEDC1671CAA2C255F8CAD495CEED2F9774975CAC
x64machine46B4AF9FB45883CDFF65750CBEDC1671CAA2C255F8CAD495CEED2F9774975CAC
0.11.0
x64userB4E35A7C51AE565444F93354142047423BAE015D4F86F478709A02D136D1B626
x64machineB4E35A7C51AE565444F93354142047423BAE015D4F86F478709A02D136D1B626
0.10.0
x64user29870450B45809424F502F712F9ECC07BBC719AD9D9084BC4A535236B8602548
x64machine29870450B45809424F502F712F9ECC07BBC719AD9D9084BC4A535236B8602548
0.9.0
x64user8125D5552E02A4CA29EA671A805F91737B1ADD597D7A11BE3C2D7E310E1E234C
x64machine8125D5552E02A4CA29EA671A805F91737B1ADD597D7A11BE3C2D7E310E1E234C
0.8.1
x64userCBDF13776CF715463360FEB9B3E5E8ABFE74767FAC55D8B1C7D49FC91C3AE45C
x64machineCBDF13776CF715463360FEB9B3E5E8ABFE74767FAC55D8B1C7D49FC91C3AE45C
0.8.0
x64userCDA594FD6DCE17C125732613622D7DF2B8E2EEAE1F3164473077AAE210B89C79
x64machineCDA594FD6DCE17C125732613622D7DF2B8E2EEAE1F3164473077AAE210B89C79
0.7.1
x64userB4C288356D1D869499C65FFD519E74849928D54C7CF3FB88C6585AAF3991D7E4
x64machineB4C288356D1D869499C65FFD519E74849928D54C7CF3FB88C6585AAF3991D7E4
0.7.0
x64userA92F06AD942A40825AD9BAF5EAE908E016C209907FBB31FE247897E7712D3D27
x64machineA92F06AD942A40825AD9BAF5EAE908E016C209907FBB31FE247897E7712D3D27
0.6.3
x64user1E37C1C81A99919EAADB5AC582B811CD0F4F8A9B37F305C738ED4387E215AD2C
x64machine1E37C1C81A99919EAADB5AC582B811CD0F4F8A9B37F305C738ED4387E215AD2C
0.6.2
x64user018BFABACDDEB212A6AC8B61CC78D743339C1C36B58FA163FE967BBA5FD1DD4F
x64machine018BFABACDDEB212A6AC8B61CC78D743339C1C36B58FA163FE967BBA5FD1DD4F
0.6.1
x64user46DEF4B527F43E0632B5B7F991445A9D68B9A1D70068DCED7E9E74BC0FC2EF84
x64machine46DEF4B527F43E0632B5B7F991445A9D68B9A1D70068DCED7E9E74BC0FC2EF84
0.6.0
x64user2A87ADB15E64CFB812ECEA1B98B0DF2DDBD6D3DA0292ABC67DF3714CDCC4BEA3
x64machine2A87ADB15E64CFB812ECEA1B98B0DF2DDBD6D3DA0292ABC67DF3714CDCC4BEA3