Release notes
Codewhale v0.8.61
CodeWhale is the canonical project, command, npm package, and release-asset name. The legacy npm package
deepseek-tuiis deprecated and receives no further releases. Users coming from v0.8.x legacydeepseek/deepseek-tuinames should migrate withdocs/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\binand adds that directory to the current-user PATH. - Extract
codewhale-windows-x64.zip - Run
install.bat(copies to%USERPROFILE%\bin) - Add
%USERPROFILE%\binto 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/completionsendpoint 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_strengthandthinkingcontrols to the model instead of hidden child-model auto-routing;explorework is documented as a good fit for faster models andthinking: "off". - Plan mode is strictly read-only (no shell tools), consistent with its runtime posture.
/swarmis gated behind the durable worker substrate. (#3218)- Legacy
deepseekinstall/update path resolves tocodewhale. (#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_exceededinstead 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/latestredirect before constructing release asset URLs. (#3232)
…