Releases: Hmbown/CodeWhale
v0.8.62
CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe 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.62The 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 --lockedBoth 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.shWindows:
- 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.txtWhat's in v0.8.62
Changed
- GLM-5.2 is now the default direct Z.AI model.
DEFAULT_ZAI_MODELresolves
toGLM-5.2in bothcodewhale-tuiandcodewhale-config; theglm-5.1
alias still resolves toGLM-5.1(the defaulting was decoupled from the alias
arm so it no longer tracks the default). Docs andconfig.example.tomlno
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: aGLM-5.2parent routes
faster/explore children toGLM-5-Turbo(direct Z.ai) andz-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 tomodel_strength: "faster". Bounded
read-only lookup/search/status work now uses the cheaper same-family sibling
automatically, unless an explicitmodelormodel_strength: "same"is
supplied. Non-explore roles keep the conservativesamedefault.- GPT-5.5 / OpenAI Codex faster route stays on GPT-5.5 with reasoning
resolved tolow(the Codex Responses API has no trueoff, so the resolved
effort is now honestlowrather thanoffsilently 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-4type: "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-neutralmodel_strengthinstead 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 childagent_idand 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 carriessummary_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 viaretrieve_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 sharedProviderMetadataregistry
acrosscodewhale-config,codewhale-tui, andcodewhale-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_inputtool 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_selectflags (both default tofalsefor
back-compat). Input is validated up front with actionable errors. Wired
across all layers: therequest_user_inputtool, 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 theESCbytes 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 = truelimits session-time skill discovery to
CodeWhale-owned roots (<workspace>/.codewhale/skills,~/.codewhale/skills,
and any explicitskills_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.tomlask-only
rules are now loaded by the TUI engine and applied toexec_shellbefore
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.mdnow documents
codewhale app-server --insecure-no-auth...
v0.8.61
CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe 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.61The 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 --lockedBoth 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.shWindows:
- 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.txtWhat'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 publicreleases/latestredirect 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-8now insert text instead of firing hotbar slots; useAlt+digitfor
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/v1endpoint so chat completions no longer
404 out of the box; thanks @buko for the report and endpoint verification (#3255). - Dependency security:
wspinned 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/MODELhonored inexecβ 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-bridgevia Feishu + Tencent OpenClaw) β thanks @VincentCorleone (#3206) - Config robustness: atomic permission-rule save, one-time config
.bakbackup before the first changed write,CODEWHALE_HOMEas 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...
v0.8.60
CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe 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.60The 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 --lockedBoth 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.shWindows:
- 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.
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.txtWhat's in v0.8.60
Added
- Agent Fleet real-run cutover (#3154/#3096).
codewhale fleet runnow
launches durable workers through the headlesscodewhale exec --output-format stream-jsonpath 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 strictbash/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-onlyworkflow({...})JavaScript/TypeScript authoring form that
lowers into the existingWorkflowSpecvalidator 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-M3with 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 todocs/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_evalnow returns the
current projection immediately and delivers follow-up input without waiting
for a running child to finish its provider call. Passblock:truefor an
intentional terminal wait. - Z.ai GLM thinking traces. Direct Z.ai requests now use the documented
thinkingshape, preserve and replayreasoning_content, classify GLM
reasoning streams as thinking output, and acceptultracodeas a max-effort
alias. - Claude skill archive compatibility (#2743).
/skill installkeeps
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:
- @1Git2Clone β slash-menu Ctrl+P/Ctrl+N navigation (#3196)
- @AiurArtanis β Claude skill archive compatibility (#2743)
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
CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe 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.59The 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 --lockedBoth 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.shWindows:
- 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.
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.txtWhat's in v0.8.59
Added
- Moonshot Kimi K2.7 Code model. The Moonshot/Kimi provider now defaults to
kimi-k2.7-code, recognizeskimi/kimi-k2aliases for that model, keeps
explicitkimi-k2.6selectable, and adds the OpenRouter
moonshotai/kimi-k2.7-coderegistry 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 ininitialize.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 mutedExplored .../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 at0 runningor 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 visiblequeued: waiting for an interactive fanout slot
reason before their first model step. - Goal lifecycle controls.
/goalis now the primary command surface for
session goals, withpause,resume,complete,blocked, andclear
controls while/huntremains a compatibility alias. - Persistent thread-goal API. App-server clients can now set, get, and clear
durable thread goals throughthread/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 incommands/registry.rs, slash parsing in
commands/parse.rs, and handlers under group-owned command areas, preserving
the existing dispatch surface while reducing futurecommands/mod.rschurn. - Approval-rule source metadata (#1186/#2971). Runtime API
approval.requiredevents now include optionalmatched_rulemetadata 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-8now trigger bound
hotbar slots only when the composer is empty, whileAlt+1-Alt+8trigger
slots regardless of composer text and overlays keep key ownership. Thanks
@reidliu41 for the PR. - Voice dictation commands (#3051).
/voice,/voice-send, and
/voice-controlnow record throughsox/rec/arecord, transcribe via the
active provider's chat-completions API, and insert transcripts at the
composer cursor. Thevoice.togglehotbar 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/retryto fork, roll back,
or rerun recent thread turns, plusPOST /v1/snapshots/{id}/restoreto
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, includinghuggingface/hugging-face/
hugging_face/hfaliases andHUGGINGFACE_*/HF_*env fallbacks. Thanks
@mvanhorn for the PR.
Fixed
- SSE data lines without spaces (#3152). Chat Completions, Responses, and
Anthropic stream readers now accept bothdata: {...}anddata:{...}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_detailnow 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.tomlis 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 syncnow syncs registry
entries with bounded ordered concurrency, so network latency no lo...
v0.8.58
CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe 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.58The 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 --lockedBoth 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.shWindows:
- 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.
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.txtWhat's in v0.8.58
Added
- Native Anthropic provider. A dedicated Messages API adapter
(/v1/messageswithx-api-keyauth) replaces OpenAI-dialect shims for
Claude models: adaptive thinking withoutput_config.effortshaping,
prompt-cache breakpoints (capped at 4, earliest dropped), signed-thinking
replay viasignature_delta, normalized cache-hit/miss usage telemetry,
and SSE error envelopes.claude-opus-4-8,claude-sonnet-4-6, and
claude-haiku-4-5join the model registry; configure with
ANTHROPIC_API_KEY(#3014). - Hooks v2.
tool_call_beforehooks 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 execgains--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 bothbase.mdand
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
(thinkingenable/disable), and Ollama (thinkparam) (#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",
andauth listreports the same active-credential source as
auth statusfor openai-codex.
Fixed
- TUI freeze under sub-agent load. Rapid
AgentProgressevents
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 /Cthrough
CRT-style argument quoting, which injected literal\"sequences that
cmd.exe never unescapes β JSON decisions could not parse. Commands now
reach cmd.exe verbatim viaraw_arg. - Codex Responses: assistant tool results are converted to
function_call_outputitems (multi-turn tool calling previously broke),
tool schemas are sanitized for the Responses API, andmaximumeffort
maps toxhigh(#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
CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe 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.57The 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 --lockedBoth 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.shWindows:
- 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.
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.txtWhat's in v0.8.57
Added
- Turns now survive system sleep. When the host suspends mid-stream, the
connection used to die on wake withStream read error: error decoding response bodyand 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, refreshesCargo.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/CODEOWNERSand.github/dependabot.yml(weekly cargo +
github-actions updates, monthly npm forweb/).
Changed
- The changelog went on a diet. Root
CHANGELOG.mdnow carries recent
releases (v0.8.40+); older entries moved todocs/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.shnow also gatesweb/lib/facts.generated.tsand the
README install-tag examples; the CNB mirror pipeline validates the pushed
tag againstCargo.tomlbefore 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(wasdeepseek_version), the legacy
.deepseek/instructions.mdpath 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
dockerjob failed for v0.8.56
because the Dockerfile still copied the pre-rebranddeepseek/
deepseek-tuibinaries; they are now symlinks to the codewhale binaries
inside the image, so legacy container entrypoints keep working. .devcontainer/devcontainer.jsonused the pre-rebrand container name,
mount path, anddeepseekremote user.- Stale
--bin deepseekexamples,DeepSeek-TUIstrings in/change
output, and pre-rebrand doc comments.
Removed
- Unused dependencies:
tracing-appenderandzeroize(TUI crate),
rustls(release crate); the orphanedvendor/schemaui-0.12.0lockfile
leftover and a machine-specific one-offscripts/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
CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe 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.56The 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 --lockedBoth 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.shWindows:
- 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.
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.txtContributors
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
CodeWhale is the canonical project, command, npm package, and
release-asset name. The legacy npm packagedeepseek-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 codewhaleThe 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.55The 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 --lockedBoth 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.shWindows:
- 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.
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.txtContributors
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
CodeWhale is the canonical project, command, npm package, and release-asset name. The legacy npm package
deepseek-tuiis deprecated and receives no further releases.
Install
Cargo
cargo install codewhale-cli codewhale-tui --lockedBoth 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 --forcenpm
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.txtContributors
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
This release renames the project to CodeWhale. The legacy
deepseekanddeepseek-tuibinaries continue to ship as
compatibility-only deprecation shims during v0.8.x; they print a
one-line warning and forward tocodewhale/codewhale-tui.
They will be removed in v0.9.0. The legacy npm package
deepseek-tuiis deprecated and receives no further releases.
Seedocs/REBRAND.mdfor the full migration story.
Install
Recommended β npm (one command, both binaries)
npm install -g codewhaleThe 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.53The 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 --lockedBoth 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.shWindows:
- 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.
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.txtThe 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.