github Hmbown/CodeWhale v0.8.58

15 hours ago

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.

Don't miss a new CodeWhale release

NewReleases is sending notifications on new releases.