Skip to content

v0.13.0

Latest

Choose a tag to compare

@github-actions github-actions released this 22 Jul 10:59

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.