Skip to content

Releases: Hmbown/CodeWhale

v0.8.62

18 Jun 06:27

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm package deepseek-tui is
deprecated and receives no further releases. Users coming from
v0.8.x legacy deepseek / deepseek-tui names should migrate
with docs/REBRAND.md.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.62

The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Each platform also has bare, unarchived binaries attached below (codewhale-<platform> and codewhale-tui-<platform>) β€” these are what the npm wrapper and the in-app codewhale update download, whereas the .tar.gz / .zip archives above are the recommended manual download and additionally bundle an install script. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

What's in v0.8.62

Changed

  • GLM-5.2 is now the default direct Z.AI model. DEFAULT_ZAI_MODEL resolves
    to GLM-5.2 in both codewhale-tui and codewhale-config; the glm-5.1
    alias still resolves to GLM-5.1 (the defaulting was decoupled from the alias
    arm so it no longer tracks the default). Docs and config.example.toml no
    longer describe GLM-5.2 as an opt-in preview.
  • GLM-5-Turbo registered as a real model and wired as the faster/explore
    sub-agent sibling for the GLM family: a GLM-5.2 parent routes
    faster/explore children to GLM-5-Turbo (direct Z.ai) and z-ai/glm-5-turbo
    (OpenRouter), instead of down to GLM-5.1. GLM-5.1 and GLM-5-Turbo themselves
    have no cheaper tier and keep children on the parent.
  • type: "explore" sub-agents default to model_strength: "faster". Bounded
    read-only lookup/search/status work now uses the cheaper same-family sibling
    automatically, unless an explicit model or model_strength: "same" is
    supplied. Non-explore roles keep the conservative same default.
  • GPT-5.5 / OpenAI Codex faster route stays on GPT-5.5 with reasoning
    resolved to low (the Codex Responses API has no true off, so the resolved
    effort is now honest low rather than off silently rewritten). No
    DeepSeek/GLM fallback is fabricated when no cheaper same-provider sibling
    exists. DeepSeek Pro→Flash routing and its no-thinking faster lane are
    unchanged.
  • Base prompt / delegate skill guidance updated to encourage parallel
    read-only exploration (2-4 type: "explore" sub-agents) for broad repo,
    version, branch, benchmark, and API-surface investigations, while keeping
    architecture, integration, and final verification in the parent. The
    delegate skill examples now use provider-neutral model_strength instead of
    hardcoded DeepSeek model ids.
  • Agent synthesis guardrails. The base constitution now frames tools around
    sufficient evidence rather than open-ended persistence: extra reads, searches,
    and delegation must target a missing fact, and agents should answer with
    limits instead of broadening searches indefinitely. The runtime loop guard
    now blocks duplicate read-only/delegated calls earlier and caps repeated
    broad lookup/delegation loops in a single turn with a synthesis-forcing tool
    error. Guard metadata distinguishes exact duplicates
    (identical_tool_call) from no-progress loops (no_progress_tool_loop).
  • Sub-agent handoff and visibility. Direct sub-agent completions are drained
    before the next parent model request, so finished children can wake the main
    model promptly instead of waiting for an empty-tool-use branch or idle engine
    path. Nested sub-agents now report completions to their immediate parent
    inbox; the main model still receives only direct-child completions, avoiding
    grandchild floods while preserving nested evidence flow. Sub-agent output
    guidance now requires child-agent provenance when a sub-agent relies on a
    child report: cite the child agent_id and the child's EVIDENCE line(s), and
    do not present child findings as directly verified facts. The sidebar orders
    sub-agents as a parent/child tree and annotates nested rows with parent and
    depth information in hover text.
  • Sub-agent summary provenance (#2652). A sub-agent's free-text result is now
    explicitly treated as an unverified self-report rather than confirmed
    evidence. The completion sentinel carries summary_kind: complete | truncated
    so the parent model can branch on whether it saw the full report or a clipped
    excerpt. Short summaries (≀ 12,000 chars) get a soft "re-verify material
    claims" suffix; longer ones are head+tail truncated with an honest marker
    stating the elided middle is not retrievable via retrieve_tool_result.
    Every summary therefore carries exactly one boundary marker, never both.
  • Provider metadata centralization. Provider env vars, config keys, aliases,
    and auth hints are now resolved through the shared ProviderMetadata registry
    across codewhale-config, codewhale-tui, and codewhale-cli, reducing drift
    between the provider picker, codewhale auth, doctor --json, and setup
    hints.

Added

  • Agent clarification questions (#3102). Agents now have a first-class
    request_user_input tool to ask the user structured clarifying questions
    through a modal UI surface instead of only emitting a chat message and hoping
    the user notices. Mirrors the approval/secret-request flow the harness
    already used for permissions. The tool accepts 1-3 questions, each with a
    header, an id, 2-4 selectable options (label + description), and
    allow_free_text / multi_select flags (both default to false for
    back-compat). Input is validated up front with actionable errors. Wired
    across all layers: the request_user_input tool, engine handling
    (turn_loop β†’ approval), an interactive TUI modal (UserInputView) with
    full keyboard navigation, and the runtime protocol
    (EventFrame::UserInputRequest + AppRequest::SubmitUserInput) so headless
    / app-server clients can answer programmatically. Parity tests cover the
    wire round-trip and the omitted-flags default.
  • Transcript hyperlinks β€” out-of-band OSC 8 (#3029). Clickable file /
    file:line / URL links now reach the terminal through a column-drift-safe
    path. Link payloads are embedded in-band by the markdown renderer, then
    extracted out of the ratatui buffer cells and re-emitted out-of-band by
    ColorCompatBackend β€” so the ESC bytes never occupy display columns or
    corrupt selection. Supporting terminals get live hyperlinks; others see the
    label text unchanged. Clipboard/selection extraction strips residual codes as
    defense-in-depth.
  • CodeWhale-only skill discovery gate (#3296). New
    [skills].scan_codewhale_only = true limits session-time skill discovery to
    CodeWhale-owned roots (<workspace>/.codewhale/skills, ~/.codewhale/skills,
    and any explicit skills_dir) while ignoring cross-tool directories such as
    .claude/skills, .opencode/skills, .cursor/skills, and ~/.agents/skills.
    The default remains the broad compatibility scan.
  • Permission/ask runtime rules (#3295). Sibling permissions.toml ask-only
    rules are now loaded by the TUI engine and applied to exec_shell before
    Auto/session approval shortcuts. Matching ask rules force an approval prompt
    in otherwise auto-approved flows and are rejected under
    approval_mode = "never".
  • Runtime API no-auth documentation. docs/RUNTIME_API.md now documents
    codewhale app-server --insecure-no-auth ...
Read more

v0.8.61

16 Jun 09:16

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm package deepseek-tui is
deprecated and receives no further releases. Users coming from
v0.8.x legacy deepseek / deepseek-tui names should migrate
with docs/REBRAND.md.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.61

The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Each platform also has bare, unarchived binaries attached below (codewhale-<platform> and codewhale-tui-<platform>) β€” these are what the npm wrapper and the in-app codewhale update download, whereas the .tar.gz / .zip archives above are the recommended manual download and additionally bundle an install script. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

What's in v0.8.61

This release lands the runtime control plane for multi-agent work: the TUI stays
responsive while sub-agents run, sub-agents converge toward fleet-style durable workers
with per-role model routing, and provider/model routes are isolated per session. It also
folds in several community contributions.

Added

  • WhaleFlow runtime foundations β€” worker runtime profiles (role / permissions / shell /
    tools / model-route, with non-escalating child derivation), a cross-provider model registry
    with offline catalog hydration, and provider-readiness / context-budget / provider-adapter /
    resource-telemetry services. (#3217, #3071, #3072, #3073)
  • Per-role, heterogeneous-model sub-agent routing β€” sub-agents can be assigned a model and
    provider per role (e.g. scout vs. synthesis; verifiers route to a fast model). (#2027, #1768)
  • Durable goal mode β€” cross-turn goal progress with token/time accounting and a
    verifier-as-judge gate before a goal may complete. (#3215, #891, #1976, #2058, #2029)
  • Parent-visible worker interaction contract β€” a recommended action per worker. (#3226)
  • Maintainer GitHub workflow skills; ACP registry submission prepared. (#3192)
  • OpenAI-compatible /v1/chat/completions endpoint on the legacy app-server HTTP transport,
    provider-neutral, with model registry resolution and configured-credential forwarding.

Changed

  • Sub-agents converge toward fleet-style durable workers β€” real worker lifecycle states are
    projected to the sidebar instead of a hardcoded "running", and a sub-agent returns a structured
    needs-input checkpoint instead of parking. (#3226, #3096, #3154)
  • The per-turn runtime tag exposes capability posture instead of human-facing mode labels. (#3213)
  • Independent shell and verifier work defaults to background jobs with nonblocking waits and a
    completion notification; blocking now requires an explicit wait. (#3212)
  • Sub-agent launches now expose explicit model_strength and thinking controls to the model
    instead of hidden child-model auto-routing; explore work is documented as a good fit for
    faster models and thinking: "off".
  • Plan mode is strictly read-only (no shell tools), consistent with its runtime posture.
  • /swarm is gated behind the durable worker substrate. (#3218)
  • Legacy deepseek install/update path resolves to codewhale. (#2960, #2924, #2917)

Fixed

  • TUI freeze when multiple sub-agents spawn (launch blocker) β€” the terminal input pump runs
    off the render thread, AgentProgress events are coalesced, and sub-agents no longer park on
    input with no orchestrator to answer; a six-worker stress test guards input/render/cancel
    liveness. (#3216, #3096)
  • Idle sub-agent completion notifications now resume the parent turn instead of waiting for a
    later user message; thanks @giovanni-paolilla for the deadlock report (#3266).
  • Provider/model route isolation β€” provider and model state is session-local, and a
    mismatched provider+model tuple is rejected at the route boundary. (#3227)
  • Route-effective context-window metadata, over-limit preflight, and bounded recovery from
    context_length_exceeded instead of re-looping. (#3204)
  • Synchronous tools (file_search, grep_files, list_dir) are cancellable and no longer hold
    a turn open against cancellation. (#1791)
  • MCP stdio proxy startup prompts no longer strand YOLO / non-interactive runs. (#2475)
  • Stalled / failed background-shell recovery; configurable sub-agent API timeout. (#1737, #1786, #1806)
  • Composer: reliable queued steering + Ctrl+S send (#3203, #3224); footer busy/idle indicator
    (#2982); CJK word-wrap (#963); clickable sidebar stop targets (#3028); live token throughput
    (#3190); auto-expiring terminal sub-agent cards (#3078).
  • Linux glibc preflight in the installer/update path with a clear error. (#3207, #1067)
  • Self-update retries transient GitHub metadata/asset failures and falls back from the GitHub
    REST API to the public releases/latest redirect before constructing release asset URLs. (#3232)
  • Provider picker lists providers in neutral alphabetical order instead of hard-coding DeepSeek first; the active provider stays pre-selected. (#3076)
  • Work sidebar no longer shows stale phase now: / phase next: strategy rows once the checklist
    is 100% complete.
  • Plan mode no longer shortcuts investigation for requests that name a repository, URL, version,
    release, build state, benchmark, bug, PR, issue, API surface, or local code path.
  • Oversized pasted text stays editable in the composer, with a file backup appended at submit
    time for model access; thanks @idling11 (#3267, closes #3263).
  • Bare digit keys 1-8 now insert text instead of firing hotbar slots; use Alt+digit for
    hotbar actions. Thanks @wjq2026 for the report and @DieMoe233 for the paste-path note (#3243).
  • Kimi/Moonshot tool schemas normalize empty function parameters to a root object schema; thanks
    @jghwwnq for the provider repro (#3265).
  • Novita defaults to its OpenAI-compatible /openai/v1 endpoint so chat completions no longer
    404 out of the box; thanks @buko for the report and endpoint verification (#3255).
  • Dependency security: ws pinned to 8.21.0 across npm packages to close remote memory-exhaustion
    DoS (dependabot).

Community contributions

  • Non-DeepSeek model pricing β€” thanks @mvanhorn (#3201)
  • Telegram polling transport β€” thanks @cyq1017 (#3195)
  • Mobile event history β€” thanks @RobertEmprechtinger (#3220)
  • Runtime-API session save β€” thanks @gaord (#3199)
  • Whale-accent rename β€” thanks @nightt5879 (#3197)
  • DEEPSEEK_BASE_URL / MODEL honored in exec β€” thanks @hongchen1993 (#3221)
  • VS Code read-only API documentation β€” thanks @cyq1017 (#3013)
  • Atomic ask-only permission rule persistence β€” thanks @greyfreedom (#3233)
  • DeepInfra provider support and release-surface follow-through β€” thanks @idling11 (#3235, closes #3231) and @nightt5879 (#3236)
  • Editable oversized paste composer flow β€” thanks @idling11 (#3267, closes #3263)
  • WeChat bridge (integrations/weixin-bridge via Feishu + Tencent OpenClaw) β€” thanks @VincentCorleone (#3206)
  • Config robustness: atomic permission-rule save, one-time config .bak backup before the first changed write, CODEWHALE_HOME as primary config home, and accepting the dispatcher-written config shape (camelCase aliases + [features.enabled] table) so legacy/dual-written configs parse cleanly
  • Dependency/CI bumps: docker login/qemu actions, softprops gh-release, download-artifact, vitest, @opennextjs/cloudflare, form-data, js-yaml, dompurify, ws

Contributor credits for th...

Read more

v0.8.60

14 Jun 07:50

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm package deepseek-tui is
deprecated and receives no further releases. Users coming from
v0.8.x legacy deepseek / deepseek-tui names should migrate
with docs/REBRAND.md.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.60

The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Individual binaries are also attached below for scripting and the npm wrapper. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

What's in v0.8.60

Added

  • Agent Fleet real-run cutover (#3154/#3096). codewhale fleet run now
    launches durable workers through the headless codewhale exec --output-format stream-json path instead of the local simulation interpreter, with terminal
    worker events freeing leases so queued fleet tasks continue running.
  • Read-only shell parallelism (#2983). The engine can now run conservative
    read-only shell calls in parallel, including strict bash/sh/zsh -c
    wrappers for whitelisted commands, while writes, stdin, background TTY work,
    redirects, pipes, command substitution, and follow-mode tails stay serial.
  • Declarative JS/TS WhaleFlow authoring (#3097). WhaleFlow now accepts a
    compile-only workflow({...}) JavaScript/TypeScript authoring form that
    lowers into the existing WorkflowSpec validator without executing user
    JavaScript.
  • Slash-menu Ctrl+P/Ctrl+N navigation (#3196). The slash command menu now
    supports Ctrl+P/Ctrl+N movement without letting the global file picker steal
    focus while the menu is open. Thanks @1Git2Clone for the PR.
  • New models and first-party provider routes. This release adds
    GLM-5.2 (selectable on the Z.ai Coding Plan and over OpenRouter as
    z-ai/glm-5.2, alongside the existing GLM-5.1 default), a first-party
    Z.ai provider route, a first-party StepFun / StepFlash route
    (step-3.7-flash), and a first-party MiniMax route defaulting to
    MiniMax-M3 with the M2.7/M2.5/M2.1 family selectable (#3187/#3191).

Changed

  • README and contributor credits. The README now has a shorter public
    overview and moves the full contributor ledger to docs/CONTRIBUTORS.md,
    preserving public thanks for DeepSeek,
    DataWhale,
    OpenWarp, and
    Open Design.
  • Fleet-backed sub-agent direction. Runtime docs now state the intended
    cutover clearly: "sub-agent" is role/UX vocabulary, while durable detached
    work should converge on the fleet-backed worker lifecycle with retries,
    receipts, and ledgered inspection.

Fixed

  • Sub-agent eval no longer blocks by default. agent_eval now returns the
    current projection immediately and delivers follow-up input without waiting
    for a running child to finish its provider call. Pass block:true for an
    intentional terminal wait.
  • Z.ai GLM thinking traces. Direct Z.ai requests now use the documented
    thinking shape, preserve and replay reasoning_content, classify GLM
    reasoning streams as thinking output, and accept ultracode as a max-effort
    alias.
  • Claude skill archive compatibility (#2743). /skill install keeps
    portable Claude-style skill folders supported while rejecting multi-skill
    Claude plugin archives clearly instead of silently installing only one skill
    and dropping plugin semantics. Thanks @AiurArtanis for the ecosystem request.

Contributor credits for this release live in the changelog entry above β€”
thank you to everyone whose reports, PRs, reviews, and reproductions shaped it.

See CHANGELOG.md for full notes and docs/CHANGELOG_ARCHIVE.md for older releases.

Contributors

Thanks to the community members whose PRs and ecosystem reports shaped v0.8.60:

And thank you to everyone who filed issues, tested builds, reviewed PRs, and shared reproductions across the v0.8.58–v0.8.60 release train.

v0.8.59

13 Jun 00:04

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm package deepseek-tui is
deprecated and receives no further releases. Users coming from
v0.8.x legacy deepseek / deepseek-tui names should migrate
with docs/REBRAND.md.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.59

The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Individual binaries are also attached below for scripting and the npm wrapper. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

What's in v0.8.59

Added

  • Moonshot Kimi K2.7 Code model. The Moonshot/Kimi provider now defaults to
    kimi-k2.7-code, recognizes kimi/kimi-k2 aliases for that model, keeps
    explicit kimi-k2.6 selectable, and adds the OpenRouter
    moonshotai/kimi-k2.7-code registry row.
  • Concise verbosity mode (#3052). CLI noninteractive launches now default
    to concise prompt/output discipline unless overridden by config, env, or
    --verbosity, while interactive TUI launches remain normal by default.
    Thanks @cyq1017 for the PR.
  • Ephemeral generated project context (#3058). Opening CodeWhale in a
    directory with no instruction files now keeps the bounded generated project
    overview in memory instead of creating .codewhale/instructions.md.
  • ACP registry auth metadata (#1447). The ACP stdio adapter now advertises
    terminal authentication setup in initialize.authMethods, matching the
    registry's validation requirement.
  • Sidebar context menus (#3065). Right-clicking the sidebar no longer shows
    Paste; clickable sidebar rows now offer their row command as the first
    context action.
  • Sidebar hover popovers (#3088). Streaming turns now keep sidebar hover
    popovers responsive while continuing to throttle transcript/body mouse
    motion.
  • Dark-theme selection contrast (#3074, thanks @drpars). Session, config,
    help, context-menu, and approval selections now use the muted selection
    background instead of the bright accent color.
  • Cursor-style activity metadata rows (#3146). Dense successful tool-run
    summaries now render as a single muted Explored ... / Updated metadata
    row, include short command-family labels for successful generic verifier
    groups, and keep keyboard/mouse expansion and detail inspection intact.
  • Provider-wait observability (#3095). Footer stall reasons now name the
    active provider/model route, idle seconds vs stream budget, and whether a
    fanout plan is still at 0 running or dispatch is pending. Structured
    provider-wait incidents log once per turn from the main tick loop (not on
    every footer redraw).
  • Interactive fanout launch gate (#3095). Direct sub-agent children queue
    behind a configurable semaphore ([subagents] interactive_max_launch,
    default 4) with a visible queued: waiting for an interactive fanout slot
    reason before their first model step.
  • Goal lifecycle controls. /goal is now the primary command surface for
    session goals, with pause, resume, complete, blocked, and clear
    controls while /hunt remains a compatibility alias.
  • Persistent thread-goal API. App-server clients can now set, get, and clear
    durable thread goals through thread/goal/set, thread/goal/get, and
    thread/goal/clear, backed by the state store with Codex-style status and
    token/time accounting fields.
  • Command-boundary ownership layers (#2888/#3055). Built-in slash command
    metadata now lives in commands/registry.rs, slash parsing in
    commands/parse.rs, and handlers under group-owned command areas, preserving
    the existing dispatch surface while reducing future commands/mod.rs churn.
  • Approval-rule source metadata (#1186/#2971). Runtime API
    approval.required events now include optional matched_rule metadata when
    an execution-policy rule caused the prompt. Thanks @greyfreedom for the PR
    and @Ram9199 for the audit-semantics discussion.
  • Localized tool-family labels (#2901). Tool activity labels for read,
    patch, run, find, delegate, fanout, RLM, verify, think, and generic tool
    work now route through the shipped locale tables. Thanks @gordonlu for the
    PR.
  • Localized config section labels (#2918). The interactive config view now
    localizes section and session/saved scope labels while preserving English
    search terms. Thanks @gordonlu for the PR.
  • Localized config editor labels (#2919). The config editor modal now
    localizes edit labels, default/unavailable placeholders, and effective
    currency hints. Thanks @gordonlu for the PR.
  • Hotbar number-key dispatch (#3056). Bare 1-8 now trigger bound
    hotbar slots only when the composer is empty, while Alt+1-Alt+8 trigger
    slots regardless of composer text and overlays keep key ownership. Thanks
    @reidliu41 for the PR.
  • Voice dictation commands (#3051). /voice, /voice-send, and
    /voice-control now record through sox/rec/arecord, transcribe via the
    active provider's chat-completions API, and insert transcripts at the
    composer cursor. The voice.toggle hotbar action dispatches the real voice
    command, with help and status text localized across all seven shipped
    locales. Thanks @HUQIANTAO for the PR.
  • Thread rewind and snapshot restore API (#2808). GUI clients can now call
    POST /v1/threads/{id}/undo, /patch-undo, and /retry to fork, roll back,
    or rerun recent thread turns, plus POST /v1/snapshots/{id}/restore to
    restore a workspace snapshot by id. Thanks @bengao168 for the PR.
  • Active provider fallback chain (#2773). Configured fallback_providers
    now build an ordered primary-plus-fallback route that the TUI can report,
    advance through, and reset with /provider fallback reset, including footer
    visibility for fallback state. Thanks @idling11 for the PR.
  • Provider metadata registry (#3005). Built-in provider ids, display names,
    defaults, env vars, config keys, aliases, and wire formats now live in a
    shared metadata registry, with the provider drift check covering the registry
    contract. Thanks @sximelon for the PR.
  • Hugging Face provider route (#2879). Hugging Face Inference Providers now
    have first-class config, env, docs, and registry coverage for the
    OpenAI-compatible router, including huggingface/hugging-face/
    hugging_face/hf aliases and HUGGINGFACE_*/HF_* env fallbacks. Thanks
    @mvanhorn for the PR.

Fixed

  • SSE data lines without spaces (#3152). Chat Completions, Responses, and
    Anthropic stream readers now accept both data: {...} and data:{...} SSE
    frames, matching the spec and preventing providers that omit the optional
    space from streaming empty output. Thanks @wgeeker for the PR.
  • Runtime thread detail N+1 reads (#3141). get_thread_detail now scans
    persisted turn items once and groups them by turn instead of reading the
    items directory once per turn, preserving item order while keeping large
    thread detail loads responsive.
  • Project-local hook trust boundary (#3140). .codewhale/hooks.toml is now
    loaded only after the workspace is trusted in user-owned config, matching the
    project-local MCP trust model while preserving the documented shell-command
    hook contract.
  • Skill registry sync latency (#3139). /skills sync now syncs registry
    entries with bounded ordered concurrency, so network latency no lo...
Read more

v0.8.58

11 Jun 06:40

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm package deepseek-tui is
deprecated and receives no further releases. Users coming from
v0.8.x legacy deepseek / deepseek-tui names should migrate
with docs/REBRAND.md.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.58

The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Individual binaries are also attached below for scripting and the npm wrapper. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

What's in v0.8.58

Added

  • Native Anthropic provider. A dedicated Messages API adapter
    (/v1/messages with x-api-key auth) replaces OpenAI-dialect shims for
    Claude models: adaptive thinking with output_config.effort shaping,
    prompt-cache breakpoints (capped at 4, earliest dropped), signed-thinking
    replay via signature_delta, normalized cache-hit/miss usage telemetry,
    and SSE error envelopes. claude-opus-4-8, claude-sonnet-4-6, and
    claude-haiku-4-5 join the model registry; configure with
    ANTHROPIC_API_KEY (#3014).
  • Hooks v2. tool_call_before hooks can now return a JSON decision β€”
    {"decision": "allow"|"deny"|"ask", "reason", "updatedInput", "additionalContext"} β€” with deny > ask > allow precedence across multiple
    hooks, last-writer-wins input rewriting, and concatenated context. Exit
    code 2 remains a legacy hard deny. Hooks support glob matchers and
    project-local .codewhale/hooks.toml (#3026).
  • Clickable sidebar. Background-job rows show/cancel on click, the
    Ctrl+K hint row runs /jobs cancel-all, and agent rows open /subagents;
    row actions are built in the same pass as the rendered lines so a click
    can never target the wrong job (#3028).
  • OSC 8 out-of-band hyperlink infrastructure with per-region open/close
    sequences that survive partial redraws (#3029).
  • codewhale exec gains --allowed-tools, --disallowed-tools (deny wins),
    --max-turns, and --append-system-prompt (#3027).
  • Constitution prompt source: YAML source-of-truth plus Python renderer for
    the system prompt, with the active prompt now served from
    constitution.md (#3015, renderer reconciliation still tracked).
  • Agent-task issue template, labels, and runner protocol (#3021); remote
    smoke-test droplet loop hardening β€” gh CLI, swapfile, agent sessions
    (#3022).

Changed

  • Sub-agent routing is provider-aware. DeepSeek ids are no longer
    hardcoded into model validation; routing works from per-provider
    big/cheap candidates, the network router is skipped when a provider has
    no cheap tier, and spawn-time model requests are validated against the
    active provider (#3018).
  • Model-specific facts in the system prompt (context window, sub-agent
    pricing, thinking notes, architecture characteristics) are now templated
    per-model instead of hardcoded DeepSeek V4 claims, in both base.md and
    constitution.md (#3025).
  • Provider capability lookups for Moonshot/OpenAI/Atlascloud resolve from
    per-model registry rows (bare and vendor-prefixed ids) instead of
    hardcoded 64K-era floors (#3023).
  • Reasoning-effort now reaches Atlascloud (DeepSeek dialect), Moonshot
    (thinking enable/disable), and Ollama (think param) (#3024); Moonshot/
    Kimi models joined the reasoning-content provider and model gates (#3016).
  • Transcript polish: compact tool-call cells without boilerplate (#3031),
    internal turn/agent ids hidden behind stable labels (#3030), and Ctrl+B
    now backgrounds the running foreground shell directly instead of opening
    a menu (#3032).
  • The Tasks sidebar separates "Model reasoning" from "Background commands",
    and auth list reports the same active-credential source as
    auth status for openai-codex.

Fixed

  • TUI freeze under sub-agent load. Rapid AgentProgress events
    saturated the render loop and starved terminal input; progress-driven
    repaints are now throttled to one per 100ms (#3033).
  • Hooks on Windows. Hook commands were passed to cmd /C through
    CRT-style argument quoting, which injected literal \" sequences that
    cmd.exe never unescapes β€” JSON decisions could not parse. Commands now
    reach cmd.exe verbatim via raw_arg.
  • Codex Responses: assistant tool results are converted to
    function_call_output items (multi-turn tool calling previously broke),
    tool schemas are sanitized for the Responses API, and maximum effort
    maps to xhigh (#3019, #3017 β€” both partially; retry/backoff and
    per-tool strict mode remain open).
  • Better tool-denial and provider error messages harvested from PR #2933
    (#3020).

Contributor credits for this release live in the changelog entry above β€”
thank you to everyone whose reports, PRs, reviews, and reproductions shaped it.

See CHANGELOG.md for full notes and docs/CHANGELOG_ARCHIVE.md for older releases.

v0.8.57

10 Jun 07:50

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm package deepseek-tui is
deprecated and receives no further releases. Users coming from
v0.8.x legacy deepseek / deepseek-tui names should migrate
with docs/REBRAND.md.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.57

The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Individual binaries are also attached below for scripting and the npm wrapper. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

What's in v0.8.57

Added

  • Turns now survive system sleep. When the host suspends mid-stream, the
    connection used to die on wake with Stream read error: error decoding response body and the turn was lost (#2990). The engine now stamps stream
    progress with both monotonic and wall-clock time; a large divergence on a
    stream error identifies a sleep/wake cycle, and the request is silently
    re-issued (up to the existing 3-retry budget) instead of failing the turn.
  • One-command release prep. ./scripts/release/prepare-release.sh X.Y.Z
    bumps the workspace version, every internal crate dependency pin, the npm
    wrapper, and the README install-tag examples, refreshes Cargo.lock,
    regenerates the embedded TUI changelog slice and web facts, and runs
    check-versions.sh β€” the v0.8.56 release needed nine follow-up commits for
    exactly these sync points.
  • .github/CODEOWNERS and .github/dependabot.yml (weekly cargo +
    github-actions updates, monthly npm for web/).

Changed

  • The changelog went on a diet. Root CHANGELOG.md now carries recent
    releases (v0.8.40+); older entries moved to docs/CHANGELOG_ARCHIVE.md.
    crates/tui/CHANGELOG.md β€” embedded into every binary for /change β€” is a
    generated 15-release slice (scripts/sync-changelog.sh), no longer a
    357 KB manual byte-for-byte copy (~300 KB smaller binaries).
  • GitHub Release bodies are generated from the tagged version's changelog
    section (scripts/release/generate-release-body.sh) instead of a
    hardcoded workflow blob with a hand-pasted contributor list.
  • check-versions.sh now also gates web/lib/facts.generated.ts and the
    README install-tag examples; the CNB mirror pipeline validates the pushed
    tag against Cargo.toml before generating release notes.
  • Docs reorganized: internal design notes moved under docs/rfcs/; stale
    internal docs (old audits, handoffs, region-specific VM notes) removed.
  • Agent-facing polish: the system prompt environment block reports
    codewhale_version (was deepseek_version), the legacy
    .deepseek/instructions.md path is no longer advertised in the prompt
    (still honored for back-compat), and oversized instruction files are
    truncated with an explicit […truncated: N bytes omitted] marker instead
    of a bare ellipsis.

Fixed

  • Docker images build again. The release docker job failed for v0.8.56
    because the Dockerfile still copied the pre-rebrand deepseek /
    deepseek-tui binaries; they are now symlinks to the codewhale binaries
    inside the image, so legacy container entrypoints keep working.
  • .devcontainer/devcontainer.json used the pre-rebrand container name,
    mount path, and deepseek remote user.
  • Stale --bin deepseek examples, DeepSeek-TUI strings in /change
    output, and pre-rebrand doc comments.

Removed

  • Unused dependencies: tracing-appender and zeroize (TUI crate),
    rustls (release crate); the orphaned vendor/schemaui-0.12.0 lockfile
    leftover and a machine-specific one-off scripts/verify_task.sh.

Contributor credits for this release live in the changelog entry above β€”
thank you to everyone whose reports, PRs, reviews, and reproductions shaped it.

See CHANGELOG.md for full notes and docs/CHANGELOG_ARCHIVE.md for older releases.

v0.8.56 β€” Community Harvest: localization, providers, prefix-cache stability, and fixes

10 Jun 05:06

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm package deepseek-tui is
deprecated and receives no further releases. Users coming from
v0.8.x legacy deepseek / deepseek-tui names should migrate
with docs/REBRAND.md.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.56

The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Individual binaries are also attached below for scripting and the npm wrapper. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

Contributors

Thanks to @sximelon, @cyq1017, @Artenx, @LHqweasd, @wywsoor,
@hsdbeebou, @mserrano11, @Dr3259, @yekern, @lioryx,
@puneetdixit200, @HUQIANTAO, @xyuai, @gaord, @shenjackyuanjie,
@AdityaVG13, @aboimpinto, @ousamabenyounes, @reidliu41,
@ljm3790865, @idling11, @h3c-hexin, @AresNing, @tdccccc,
@qiyuanlicn, @bevis-wong, @shuxiangxuebiancheng, @hongqitai,
@NASLXTO, @wuxixing, @linzhiqin2003, @merchloubna70-dot,
@mvanhorn, @Implementist, @jrcjrcc, @punkcanyang,
@yusufgurdogan, @LeoAlex0, @mo-vic, @AiurArtanis, @nasus9527,
and @lbcheng888 for reports, PRs, reviews, reproductions,
design direction, and harvested work that shaped v0.9.0.

Changelog

See CHANGELOG.md for the full notes for this release.

v0.8.55 β€” Together AI, OpenAI Codex, Model Catalog

09 Jun 05:46

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm package deepseek-tui is
deprecated and receives no further releases. Users coming from
v0.8.x legacy deepseek / deepseek-tui names should migrate
with docs/REBRAND.md.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.55

The image ships the codewhale dispatcher and codewhale-tui runtime. The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Individual binaries are also attached below for scripting and the npm wrapper. The legacy npm package deepseek-tui is deprecated and is not republished. For migration from v0.8.x legacy binary names, see docs/REBRAND.md.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

Contributors

Thanks to @sximelon, @cyq1017, @Artenx, @LHqweasd, @wywsoor,
@hsdbeebou, @mserrano11, @Dr3259, @yekern, @lioryx,
@puneetdixit200, @HUQIANTAO, @xyuai, @gaord, @shenjackyuanjie,
@AdityaVG13, @aboimpinto, @ousamabenyounes, @reidliu41,
@ljm3790865, @idling11, @h3c-hexin, @AresNing, @tdccccc,
@qiyuanlicn, @bevis-wong, @shuxiangxuebiancheng, @hongqitai,
@NASLXTO, @wuxixing, @linzhiqin2003, @merchloubna70-dot,
@mvanhorn, @Implementist, @jrcjrcc, @punkcanyang,
@yusufgurdogan, @LeoAlex0, @mo-vic, @AiurArtanis, @nasus9527,
and @lbcheng888 for reports, PRs, reviews, reproductions,
design direction, and harvested work that shaped v0.9.0.

Changelog

See CHANGELOG.md for the full notes for this release.

CodeWhale v0.8.54

08 Jun 14:55

Choose a tag to compare

CodeWhale is the canonical project, command, npm package, and release-asset name. The legacy npm package deepseek-tui is deprecated and receives no further releases.

Install

Cargo

cargo install codewhale-cli codewhale-tui --locked

Both crates are required: codewhale-cli provides the codewhale dispatcher and codewhale-tui provides the interactive runtime.

GitHub Releases

Download the platform archive for your OS below. Each archive contains both the codewhale dispatcher and the codewhale-tui runtime.

CNB

Users who cannot reliably reach GitHub can use the CNB mirror:

cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.54 codewhale-cli --locked --force
cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.54 codewhale-tui --locked --force

npm

The codewhale npm wrapper for v0.8.54 is intentionally deferred while the release asset publication path is being hardened. Use Cargo, GitHub Releases, or CNB for this release.

Verify

sha256sum -c codewhale-bundles-sha256.txt
sha256sum -c codewhale-artifacts-sha256.txt

Contributors

Thanks to the contributors, reporters, reviewers, and maintainers credited in the v0.8.54 changelog and README for the reports, PRs, reproductions, reviews, design direction, and harvested work that shaped this release.

Changelog

See CHANGELOG.md for the full notes for this release.

v0.8.53

04 Jun 00:02

Choose a tag to compare

This release renames the project to CodeWhale. The legacy
deepseek and deepseek-tui binaries continue to ship as
compatibility-only deprecation shims during v0.8.x; they print a
one-line warning and forward to codewhale / codewhale-tui.
They will be removed in v0.9.0. The legacy npm package
deepseek-tui is deprecated and receives no further releases.
See docs/REBRAND.md for the full migration story.

Install

Recommended β€” npm (one command, both binaries)

npm install -g codewhale

The wrapper downloads both binaries from this Release and places them in the same directory.

Docker / GHCR

docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v ~/.deepseek:/home/codewhale/.deepseek \
  ghcr.io/hmbown/codewhale:v0.8.53

The image ships the codewhale dispatcher and codewhale-tui runtime (plus the legacy deepseek / deepseek-tui shims during the transition). The latest tag is also updated on release.

Cargo (Linux / macOS)

cargo install codewhale-cli codewhale-tui --locked

Both crates are required β€” codewhale-cli produces the codewhale dispatcher and codewhale-tui produces the interactive runtime that the dispatcher delegates to. Installing only one binary will fail at runtime with a MISSING_COMPANION_BINARY error.

Manual download β€” platform archives (recommended)

Each archive below contains both the codewhale dispatcher and codewhale-tui runtime, plus an install script:

Platform Archive Install script
Linux x64 codewhale-linux-x64.tar.gz install.sh
Linux ARM64 codewhale-linux-arm64.tar.gz install.sh
Linux RISC-V codewhale-linux-riscv64.tar.gz install.sh
macOS x64 codewhale-macos-x64.tar.gz install.sh
macOS ARM codewhale-macos-arm64.tar.gz install.sh
Windows x64 (installer) CodeWhaleSetup.exe NSIS setup
Windows x64 codewhale-windows-x64.zip install.bat
Windows x64 (portable) codewhale-windows-x64-portable.zip β€”

Unix (Linux / macOS):

tar xzf codewhale-<platform>.tar.gz
cd codewhale-<platform>
./install.sh

Windows:

  • For the installer path, run CodeWhaleSetup.exe; it installs both binaries under %LOCALAPPDATA%\Programs\CodeWhale\bin and adds that directory to the current-user PATH.
  • Extract codewhale-windows-x64.zip
  • Run install.bat (copies to %USERPROFILE%\bin)
  • Add %USERPROFILE%\bin to your PATH

The portable Windows archive skips the install script β€” extract and run from any directory. The NSIS installer is currently unsigned and may trigger Windows SmartScreen until a signing certificate is wired into the release pipeline.

Individual binaries are also attached below for scripting and the npm wrapper. Legacy deepseek-* and deepseek-tui-* assets are compatibility-only deprecation shims for v0.8.x so that existing deepseek update invocations on v0.8.40 keep working; they forward to the canonical binaries. The legacy npm package deepseek-tui is deprecated and is not republished.

Verify (recommended)

Download the checksum manifests from this Release and verify:

# Linux β€” archive bundles
sha256sum -c codewhale-bundles-sha256.txt

# Linux β€” individual binaries
sha256sum -c codewhale-artifacts-sha256.txt

# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt
shasum -a 256 -c codewhale-artifacts-sha256.txt

The legacy deepseek-artifacts-sha256.txt is also attached for backward compatibility and contains the same hashes as the canonical manifest.

Changelog

See CHANGELOG.md for the full notes for this release.

Contributors

  • @Hmbown for v0.8.53 release integration, Hugging Face provider routing/docs, tool-surface and project-context polish, and release stabilization.
  • @xyuai for provider persistence, scoped /logout behavior, provider picker key replacement, and MiMo auth cleanup work, ported from #2714, #2715, #2717, and #2718.
  • @RefuseOdd for configurable path_suffix support on OpenAI-compatible endpoints, harvested from #2558.
  • @cyq1017 for model-family classification work, harvested from #2525.
  • @reidliu41 for hiding shell-prompt guidance when shell execution is disabled, harvested from #2638.