Codewhale is the public product from Shannon Labs. The
codewhale
command, npm package, and release-asset names remain lowercase technical
identifiers. 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 entrypoints)
npm install -g codewhaleThe wrapper downloads the matched codewhale and codew command assets
from this Release. Both contain the same compiled runtime.
Docker / GHCR
docker run --rm -it \
-e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
-v codewhale-home:/home/codewhale/.codewhale \
ghcr.io/hmbown/codewhale:v0.9.5The image exposes the same runtime as both codewhale and codew. The
latest tag is also updated on release.
Cargo (Linux / macOS)
cargo install codewhale-cli --lockedThe Cargo package installs codewhale. Cargo cannot create a second command
alias from one binary target; users who want the shorter spelling can add a
codew symlink to that installed executable. The npm, Homebrew, archive,
shell-installer, and container channels install both command names directly.
Manual download — platform archives (recommended)
Each archive below contains the same runtime under the codewhale and
codew command names, 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
|
| Android ARM64 (Termux) | codewhale-android-arm64.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
| — |
| Windows ARM64 | codewhale-windows-arm64.zip
| install.bat
|
| Windows ARM64 (portable) | codewhale-windows-arm64-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
codewhale.exeandcodew.exeunder
%LOCALAPPDATA%\Programs\CodeWhale\binand adds that directory to the
current-user PATH. - Extract the archive for your machine:
codewhale-windows-x64.zipor
codewhale-windows-arm64.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 codewhale-<platform> and
codew-<platform> assets. The seven codewhale-tui-<platform> filenames
attached to v0.9.5 are byte-identical compatibility copies used only to let
already-installed v0.9.4 clients discover and cross this single-binary
transition; current installers do not expose a third runtime. 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 --ignore-missing
# Linux — individual binaries
sha256sum -c codewhale-artifacts-sha256.txt --ignore-missing
# macOS
shasum -a 256 -c codewhale-bundles-sha256.txt --ignore-missing
shasum -a 256 -c codewhale-artifacts-sha256.txt --ignore-missingWhat's in v0.9.5
Codewhale v0.9.5 consolidates the terminal application into one compiled
runtime while preserving the familiar codewhale and codew commands. It
also expands the managed Runtime API, makes session and Fleet work easier to
inspect and resume, and removes the hidden local continuation backstop that
could end productive work without a final assistant response.
Added
model = "auto"for prompt-based tier selection: When set, the
dispatcher analyses the user's prompt before delegating to the TUI and
selectsdeepseek-v4-profor complex tasks ordeepseek-v4-flashfor simple
tasks (PR #5257).- Runtime API controls for persistent goals, bounded memory inspection, MCP
server and skill lifecycle management, and durable Fleet receipt evidence. - Append-only session-tree history with
/tree,/branch,/fork, and
/resume, plus/rcremote control and managed login. - A unified Fleet roster for built-in dispatch postures and a pinned indicator
that keeps active background work visible above the composer. - Incremental MCP registry refreshes that return the local snapshot immediately
and update it in the background. - Scout and Reviewer agents can use a bounded direct-command evidence shell for
read-only workspace, Git, and GitHub inspection, and can keep private working
notes in their own To-do while the durable transcript retains their evidence.
Changed
codewhale-clinow contains the terminal runtime directly. Release installers
expose byte-identicalcodewhaleandcodewcommands without a separate TUI
executable. The v0.9.5 asset set alone retains deprecated
codewhale-tui-*filenames as byte-identical compatibility copies so
installed v0.9.4 clients can discover and complete this upgrade.- Startup release checks cache successful lookups for one hour. The updater
downloads and verifies the primary runtime once, then refreshes any existing
codewor legacycodewhale-tuicommand paths from the same bytes. - Headless
codewhale execruns and verifier benchmark rollouts no longer
impose a 100-step default.--max-turnsremains available as an explicit
opt-in ceiling; Fleet workers retain their separately configured budget. - Goal token and time budgets are telemetry rather than default stop
conditions, and automatic goal continuation is unlimited unless the user
explicitly configures a continuation ceiling. - Command-palette and slash-completion shadowing now share one alias-aware
discovery contract. - The website install guidance, localized product copy, navigation controls,
social metadata, and Cloudflare build pipeline now describe and deploy the
same one-runtime release contract.
Fixed
- The hidden 20-step no-user-input backstop no longer ends productive turns.
Tool results, queued steering, child completions, REPL feedback, and goal
continuations can all reach the next provider step and a final assistant
response; explicit user-configured limits and genuine stuck-loop guards remain. - Complete error details are directly inspectable after a failure instead of
leaving the terminal with a clipped, unrecoverable error fragment. - A newly minted OAuth credential is adopted in the same provider-selection
flow instead of requiring a second picker trip. - Fresh session titles can replace a stale cached
New Sessionplaceholder,
unknown model context limits fail loudly, and release/source-install fallbacks
no longer request binaries removed by the single-runtime conversion.
Contributors
- Sh1Zuku (
@SparkofSpike) fixed stale
cached session titles that could pin theNew Sessionplaceholder. - Paulo Aboim Pinto (
@aboimpinto) built the
shared alias-aware command discovery contract and acceptance coverage. - Sun Zhenyuan (
@bistack) contributed the
background incremental MCP Registry refresh. - SKY ZHAO (
@skyzhao1223) contributed
prompt-basedmodel = "auto"routing in PR #5257.
See CHANGELOG.md for full notes and docs/CHANGELOG_ARCHIVE.md for older releases.