Codewhale

codewhale-hqMIT活跃维护

用 Rust 写的终端编码 Agent,可接入任意模型提供商,在命令行里直接完成代码编写与多 Agent 编排任务。

Open-source agent for the terminal written in Rust. Use any provider or model. Issues & PRs always welcome

v0.10.2发布于 2026-10-24 17:31 UTC41,175star +14 / 7 天3,569fork同步于 2026-11-10 05:19 UTC

怎么上手

由 README 提炼,执行前请确认
curl -fsSL https://codewhale.net/install.sh | sh
硬件要求按 README 说明

README 未说明显存或 GPU 要求;本地模型通过 Ollama、vLLM、SGLang 运行,未配置提供商且 Ollama 已在提供聊天模型时会自动使用

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

Rust 写的开源终端编码代理,接任意模型,读仓库、改文件、跑命令直到任务完成

用 Rust 写的终端编码 Agent,可接入任意模型提供商,在命令行里直接完成代码编写与多 Agent 编排任务。

核心能力

  • 支持 40+ 内置提供商及任意 OpenAI 兼容端点
  • 用 /receipts 列出改动的文件、执行的命令与 MCP 调用
  • 用 /undo 一步回滚上次请求及其全部文件改动
  • Plan/Work 模式配合 Ask、Accept Edits、Auto-Review、Full Access 四档权限
  • codewhale exec 无界面跑单任务,可接 CI 与脚本

容易踩的坑

安装后若提示 command not found,需按安装器输出把 ~/.local/bin 加进 PATH;每台机器只用一种安装方式,否则 PATH 上会有两份副本;exec --auto 默认 Full Access 会关闭沙箱,需加 --sandbox workspace-write 才保留限制

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.10.2
  1. v0.10.2Codewhale v0.10.2最新正式版2026-10-24 · 2026-10-24 17:31 UTC

    What's in v0.10.2

    Codewhale v0.10.2 adds an animated pet view (/pet on), a live Terminal work dock, per-chat composer colors (/color) and a one-time note on the first start after an update that says what changed. It closes three session data-loss paths and a codewhale web session leak; adds the default Runtime daemon socket locations to the sandbox deny-list; holds a curl or wget that uploads a credential; refuses shell commands containing invisible Unicode; keeps the Linux sandbox working when a hidden credential directory is a symlink; and reduces idle TUI redraw work. /undo takes back a whole request, including long and multiline prompts. exec --auto explains its Full Access default, honors an explicitly stricter sandbox, and saves tool-enabled runs and their failure receipts. Local runtimes appear during onboarding, /diff works outside a Git repository, DeepSeek's Responses route no longer rejects replayed tool history, and contributor fixes improve token accounting, relay model lists, localized replies and Windows launcher guidance. Delegated work continues without model-invented turn or time caps, and independent workflow steps can continue after another child fails.

    Install

    Recommended — official GitHub release

    New macOS/Linux install (checksummed binaries from this release):

    curl -fsSL https://codewhale.net/install.sh | CODEWHALE_VERSION="v0.10.2" sh
    "$HOME/.local/bin/codewhale" --version
    

    For Windows, use the matching installer or archive below. For an existing direct install, run codewhale update; it prints the executable path and keeps newer builds. If the install directory is occupied by a different build, use the fresh-directory migration in the installation guide.

    Secondary packaging — npm and Cargo

    npm install -g codewhale
    # or build from source
    cargo install codewhale-cli --locked
    

    The 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/codewhale-hq/codewhale:v0.10.2
    

    The 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 --locked
    

    The 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:

    PlatformArchiveInstall script
    Linux x64codewhale-linux-x64.tar.gzinstall.sh
    Linux ARM64codewhale-linux-arm64.tar.gzinstall.sh
    Android ARM64 (Termux)codewhale-android-arm64.tar.gzinstall.sh
    macOS x64codewhale-macos-x64.tar.gzinstall.sh
    macOS ARMcodewhale-macos-arm64.tar.gzinstall.sh
    Windows x64 (installer)CodeWhaleSetup.exeNSIS setup
    Windows x64codewhale-windows-x64.zipinstall.bat
    Windows x64 (portable)codewhale-windows-x64-portable.zip—
    Windows ARM64codewhale-windows-arm64.zipinstall.bat
    Windows ARM64 (portable)codewhale-windows-arm64-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 codewhale.exe, codew.exe, and codewhale.bat under %LOCALAPPDATA%\Programs\CodeWhale\bin, adds that directory to the current-user
  2. v0.10.12026-10-08 · 2026-10-08 01:47 UTC
    查看更新说明

    Codewhale is the public product from Shannon Labs. The codewhale command, npm package, and release-asset names remain lowercase technical identifiers. 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 — official GitHub release

    New macOS/Linux install (checksummed binaries from this release):

    curl -fsSL https://codewhale.net/install.sh | CODEWHALE_VERSION="v0.10.1" sh
    "$HOME/.local/bin/codewhale" --version
    

    For Windows, use the matching installer or archive below. For an existing direct install, run codewhale update; it prints the executable path and keeps newer builds. If the install directory is occupied by a different build, use the fresh-directory migration in the installation guide.

    Secondary packaging — npm and Cargo

    npm install -g codewhale
    # or build from source
    cargo install codewhale-cli --locked
    

    The 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/codewhale-hq/codewhale:v0.10.1
    

    The 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 --locked
    

    The 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:

    PlatformArchiveInstall script
    Linux x64codewhale-linux-x64.tar.gzinstall.sh
    Linux ARM64codewhale-linux-arm64.tar.gzinstall.sh
    Android ARM64 (Termux)codewhale-android-arm64.tar.gzinstall.sh
    macOS x64codewhale-macos-x64.tar.gzinstall.sh
    macOS ARMcodewhale-macos-arm64.tar.gzinstall.sh
    Windows x64 (installer)CodeWhaleSetup.exeNSIS setup
    Windows x64codewhale-windows-x64.zipinstall.bat
    Windows x64 (portable)codewhale-windows-x64-portable.zip—
    Windows ARM64codewhale-windows-arm64.zipinstall.bat
    Windows ARM64 (portable)codewhale-windows-arm64-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 codewhale.exe, codew.exe, and codewhale.bat under %LOCALAPPDATA%\Programs\CodeWhale\bin, adds that directory to the current-user PATH, and creates a Start Menu shortcut that prefers Windows Terminal (wt.exe) when it is installed.
    • Extract the archive for your machine: codewhale-windows-x64.zip or codewhale-windows-arm64.zip
    • Double-click codewhale.bat (not the raw .exe) to launch
    • Run install.bat to copy the binaries and launcher to %USERPROFILE%\bin
    • Add %USERPROFILE%\bin to your PATH

    The portable Windows archive skips the install script — extract and run codewhale.bat 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

  3. v0.10.02026-09-22 · 2026-09-22 17:28 UTC
    查看更新说明

    Codewhale is the public product from Shannon Labs. The codewhale command, npm package, and release-asset names remain lowercase technical identifiers. 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 — official GitHub release

    New macOS/Linux install (checksummed binaries from this release):

    curl -fsSL https://codewhale.net/install.sh | CODEWHALE_VERSION="v0.10.0" sh
    "$HOME/.local/bin/codewhale" --version
    

    For Windows, use the matching installer or archive below. For an existing direct install, run codewhale update; it prints the executable path and keeps newer builds. If the install directory is occupied by a different build, use the fresh-directory migration in the installation guide.

    Secondary packaging — npm and Cargo

    npm install -g codewhale
    # or build from source
    cargo install codewhale-cli --locked
    

    The 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.10.0
    

    The 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 --locked
    

    The 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:

    PlatformArchiveInstall script
    Linux x64codewhale-linux-x64.tar.gzinstall.sh
    Linux ARM64codewhale-linux-arm64.tar.gzinstall.sh
    Android ARM64 (Termux)codewhale-android-arm64.tar.gzinstall.sh
    macOS x64codewhale-macos-x64.tar.gzinstall.sh
    macOS ARMcodewhale-macos-arm64.tar.gzinstall.sh
    Windows x64 (installer)CodeWhaleSetup.exeNSIS setup
    Windows x64codewhale-windows-x64.zipinstall.bat
    Windows x64 (portable)codewhale-windows-x64-portable.zip—
    Windows ARM64codewhale-windows-arm64.zipinstall.bat
    Windows ARM64 (portable)codewhale-windows-arm64-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 codewhale.exe, codew.exe, and codewhale.bat under %LOCALAPPDATA%\Programs\CodeWhale\bin, adds that directory to the current-user PATH, and creates a Start Menu shortcut that prefers Windows Terminal (wt.exe) when it is installed.
    • Extract the archive for your machine: codewhale-windows-x64.zip or codewhale-windows-arm64.zip
    • Double-click codewhale.bat (not the raw .exe) to launch
    • Run install.bat to copy the binaries and launcher to %USERPROFILE%\bin
    • Add %USERPROFILE%\bin to your PATH

    The portable Windows archive skips the install script — extract and run codewhale.bat 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 alre

  4. v0.9.132026-09-14 · 2026-09-14 03:48 UTC
    查看更新说明

    Codewhale is the public product from Shannon Labs. The codewhale command, npm package, and release-asset names remain lowercase technical identifiers. 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 — official GitHub release

    New macOS/Linux install (checksummed binaries from this release):

    curl -fsSL https://codewhale.net/install.sh | CODEWHALE_VERSION="v0.9.13" sh
    "$HOME/.local/bin/codewhale" --version
    

    For Windows, use the matching installer or archive below. For an existing direct install, run codewhale update; it prints the executable path and keeps newer builds. If the install directory is occupied by a different build, use the fresh-directory migration in the installation guide.

    Secondary packaging — npm and Cargo

    npm install -g codewhale
    # or build from source
    cargo install codewhale-cli --locked
    

    The 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.13
    

    The 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 --locked
    

    The 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:

    PlatformArchiveInstall script
    Linux x64codewhale-linux-x64.tar.gzinstall.sh
    Linux ARM64codewhale-linux-arm64.tar.gzinstall.sh
    Android ARM64 (Termux)codewhale-android-arm64.tar.gzinstall.sh
    macOS x64codewhale-macos-x64.tar.gzinstall.sh
    macOS ARMcodewhale-macos-arm64.tar.gzinstall.sh
    Windows x64 (installer)CodeWhaleSetup.exeNSIS setup
    Windows x64codewhale-windows-x64.zipinstall.bat
    Windows x64 (portable)codewhale-windows-x64-portable.zip—
    Windows ARM64codewhale-windows-arm64.zipinstall.bat
    Windows ARM64 (portable)codewhale-windows-arm64-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 codewhale.exe, codew.exe, and codewhale.bat under %LOCALAPPDATA%\Programs\CodeWhale\bin, adds that directory to the current-user PATH, and creates a Start Menu shortcut that prefers Windows Terminal (wt.exe) when it is installed.
    • Extract the archive for your machine: codewhale-windows-x64.zip or codewhale-windows-arm64.zip
    • Double-click codewhale.bat (not the raw .exe) to launch
    • Run install.bat to copy the binaries and launcher to %USERPROFILE%\bin
    • Add %USERPROFILE%\bin to your PATH

    The portable Windows archive skips the install script — extract and run codewhale.bat 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 alre

  5. v0.9.122026-09-05 · 2026-09-05 09:59 UTC
    查看更新说明

    Codewhale is the public product from Shannon Labs. The codewhale command, npm package, and release-asset names remain lowercase technical identifiers. 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 — official GitHub release

    New macOS/Linux install (checksummed binaries from this release):

    curl -fsSL https://codewhale.net/install.sh | CODEWHALE_VERSION="v0.9.12" sh
    "$HOME/.local/bin/codewhale" --version
    

    For Windows, use the matching installer or archive below. For an existing direct install, run codewhale update; it prints the executable path and keeps newer builds. If the install directory is occupied by a different build, use the fresh-directory migration in the installation guide.

    Secondary packaging — npm and Cargo

    npm install -g codewhale
    # or build from source
    cargo install codewhale-cli --locked
    

    The 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.12
    

    The 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 --locked
    

    The 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:

    PlatformArchiveInstall script
    Linux x64codewhale-linux-x64.tar.gzinstall.sh
    Linux ARM64codewhale-linux-arm64.tar.gzinstall.sh
    Android ARM64 (Termux)codewhale-android-arm64.tar.gzinstall.sh
    macOS x64codewhale-macos-x64.tar.gzinstall.sh
    macOS ARMcodewhale-macos-arm64.tar.gzinstall.sh
    Windows x64 (installer)CodeWhaleSetup.exeNSIS setup
    Windows x64codewhale-windows-x64.zipinstall.bat
    Windows x64 (portable)codewhale-windows-x64-portable.zip—
    Windows ARM64codewhale-windows-arm64.zipinstall.bat
    Windows ARM64 (portable)codewhale-windows-arm64-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 codewhale.exe, codew.exe, and codewhale.bat under %LOCALAPPDATA%\Programs\CodeWhale\bin, adds that directory to the current-user PATH, and creates a Start Menu shortcut that prefers Windows Terminal (wt.exe) when it is installed.
    • Extract the archive for your machine: codewhale-windows-x64.zip or codewhale-windows-arm64.zip
    • Double-click codewhale.bat (not the raw .exe) to launch
    • Run install.bat to copy the binaries and launcher to %USERPROFILE%\bin
    • Add %USERPROFILE%\bin to your PATH

    The portable Windows archive skips the install script — extract and run codewhale.bat 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 alre

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    An open-source coding agent for your terminal that works with any model.

    Give Codewhale a task and it reads the repository, edits files, and runs commands until the task is done or it needs input from you. It works with more than 40 built-in providers, DeepSeek V4.1 Flash by default, and with models running on your own machine. /receipts lists the files it changed, the commands it ran, and the web and MCP calls it made.

    CI crates.io npm License: MIT Discord

    Website · Documentation · Changelog · Contributing

    简体中文 · 日本語 · Tiếng Việt · Bahasa Indonesia · 한국어 · Español · Português · Русский · Українська · Français · Deutsch · 繁體中文 · हिन्दी · Türkçe · Italiano · Polski · العربية · Català

    A 0.10.2 development build with a scripted test model, in Full Access inside a throwaway workspace. The edit, three tests and a sub-agent review ran for real.

    View the Codewhale × OrcaRouter offer. Codewhale earns a referral fee from OrcaRouter.

    Install

    macOS and Linux:

    curl -fsSL https://codewhale.net/install.sh | sh
    

    The installer puts checksum-verified codewhale and its short alias codew in ~/.local/bin. If your shell then says command not found, run the PATH line the installer prints (details). codewhale update upgrades it. These commands install the latest release. This page follows main, so a feature marked with a version arrives in that release; the changelog lists what each release adds.

    winget install HunterBown.CodeWhale  # Windows x64 (or Scoop, or the installer from GitHub Releases)
    npm install -g codewhale            # wraps the same release binaries
    cargo install codewhale-cli --locked  # crates.io; can trail GitHub Releases
    

    Prebuilt binaries cover Linux, macOS, and Windows on x64 and arm64. Nix, Homebrew on Linux, Android/Termux (preview), and manual downloads are in the installation guide, and containers in Docker. Stick to one install method per machine; otherwise two copies end up on PATH and whichever comes first wins.

    Quickstart

    1. Commit or stash your work, then run codewhale from the root of a git repository. By default it asks before each file edit and command; press Shift+Tab once for Accept Edits to let it edit files in the repository without asking.
    2. Run /provider (or press F3), pick a provider, paste its API key, and choose a model. DeepSeek is the default provider. With no key, pick a local runtime instead. If no provider is configured and Ollama is already serving a chat model, Codewhale uses it automatically; from 0.10.2 it offers it when you send your first message.
    3. Type a task:
    Fix the failing tests and explain what changed.
    

    Read-only commands run straight away. For any other shell command Codewhale asks first: y runs it once, a allows commands like it for the rest of the conversation, n refuses. /undo takes back your last request and its file changes. /help lists commands and keys.

    For scripts and CI, codewhale exec runs one task without the interface. By default, --auto uses Full Access: tools run without asking, shell commands have no Codewhale sandbox, and trust mode lets file tools write outside the workspace. Add --sandbox workspace-write to keep the shell sandbox and file-tool workspace restrictions, with trust mode off:

    codewhale exec --auto --sandbox workspace-write "fix the failing tests and explain what changed"
    

    Modes and permissions

    A fresh install starts in Work mode with the Ask permission.

    Switch withOptions
    ModeTab (when the input is empty) or /modePlan reads and searches but changes nothing. Work edits files and runs commands; start a goal with /goal when a request needs more than one turn.
    PermissionShift+TabAsk asks before every file edit and every shell command that is not read-only. Accept Edits applies file edits in your git repository without asking and still asks before commands. Auto-Review lets rules and a reviewer model approve routine calls and refuses high-risk ones; switch to Ask to approve those yourself. Full Access never asks and turns off Codewhale's sandbox; repository rules and managed policy still apply.

    See the modes and permissions guide for the details.

    What it does

    New in 0.10.2

    • /pet on turns your terminal into an animated whale that shows what the agent is doing, while the message box stays live. Its 980 particles spell the current step in English, Chinese or Japanese.
    • /workbar terminal shows the shells the agent is running as they run. Type into one, or press Ctrl+N for a shell of your own (macOS and Linux).
    • /undo takes back your whole last request in one step, including every file it changed, and /diff works in folders without Git.
    • When a plan is ready, Codewhale asks whether to start Work with Ask or Auto-Review, or keep planning.
    • /color gives each chat its own composer color, saved with the session.
    • web_search can use DeepSeek's new Search API: set [search] provider = "deepseek" with a DeepSeek key.
    • Outside Full Access, a curl or wget that would upload a credential never runs without your approval, and a command that hides invisible Unicode is refused. write no longer replaces a file the agent has not read, or one that changed after it read it.

    Models

    More than 40 providers are built in, including Anthropic, OpenAI, DeepSeek, Google, Mistral, Moonshot, OpenRouter, and xAI. Any OpenAI-compatible endpoint works, and so do local models through Ollama, vLLM, or SGLang. The default is DeepSeek's deepseek-flash, which DeepSeek moved to DeepSeek-V4.1-Flash-1017 on 2026-10-17; 0.10.1 runs it without an update (details).

    /model switches models between turns, and /model auto picks one for each turn (/router sets up how). /turn inspect shows which model a turn used, what it cost and how long it took. codewhale auth chatgpt lets you use a ChatGPT plan instead of an API key (experimental). See Providers.

    Receipts and undo

    /receipts, or codewhale receipts --last after you quit, lists the files changed, commands run, web and MCP calls, agents started, approvals and who gave them, and failures. /undo takes back your last request and the files it changed, in one step and without trust mode. /restore rolls the whole workspace back to an earlier snapshot; because that overwrites later edits, it needs /trust on or Full Access. See Receipts.

    Exec runs that offer tools are saved in every output format, so codewhale receipts --last works after exec --auto, including --json. Answer-only text and --json runs are saved only when resuming or when conversation compaction starts; use --output-format stream-json to always save them for receipts or exec --continue.

    Longer work

    /goal sets an objective that carries across turns. Codewhale can split work across sub-agents, run a fleet of agents, or follow a workflow checked into the repository.

    Coming from another agent

    Codewhale reads AGENTS.md on its own. Instruction files written for other tools, such as CLAUDE.md, .cursorrules, or .github/copilot-instructions.md, load only when you opt in with project_instruction_imports = ["claude"] (or "cursor", "cline", "windsurf", "copilot", "all") in your config; see config.example.toml. Codewhale warns when it finds one it did not load.

    /import-claude prepares an import of your Claude Code settings and MCP servers for you to review. /plugin install accepts Claude Code plugins containing skills, commands, agent profiles, and MCP servers, and refuses plugins that need hooks or LSP servers (details).

    Extensions

    Connect MCP servers, add skills and plugins, and run hooks on session and tool events. Code mode (experimental, on by default) lets the model write one execute_tools program that calls several MCP and plugin tools; each call still meets your approval rules and keeps its receipt. The independently installed Computer Use plugin (experimental, macOS only) can observe and operate other apps. It stays off until you review its access and enable it (guide).

    Ways to run it

    CommandWhat it does
    codewhaleThe interactive terminal app
    codewhale exec "…"One task without the interface. On its own it answers without using tools; --auto enables tools with Full Access by default, --sandbox workspace-write restricts them, and --output-format stream-json streams events as JSON
    codewhale webA local web UI on 127.0.0.1 (guide)
    codewhale review --pr NAn advisory review of a GitHub pull request. The GitHub bot setup generates a pinned workflow for automatic reviews and @codewhale review, using your own model key and optional App identity
    codewhale app-server --httpThe Runtime API, a local HTTP API for threads, events, approvals, and each turn's file changes
    codewhale serve --acpThe Agent Client Protocol over stdio, for editors such as Zed

    The terminal app, exec, web, and the Runtime API share one engine (architecture). A community-maintained VS Code extension connects to it from the sidebar (source). A native desktop app built on the Runtime API is in development; it has no public download yet.

    Cost and accounts

    Codewhale is free and MIT licensed. With your own API key you pay the provider directly; local models need no key. The footer and /cost show what a session has cost when the price is known, and an unknown price is shown as unknown, never as free.

    You don't need an account. Keys you add with /provider stay on your machine.

    Safety and privacy

    In Ask and Auto-Review, commands run in an OS sandbox where the system has one: Seatbelt on macOS, and bubblewrap on Linux when it is installed. Windows has no OS sandbox yet, and Full Access turns the sandbox off. Inside the sandbox, shell commands cannot read credential stores such as ~/.ssh, ~/.aws and .env files; from 0.10.2 the same rule covers terminal sessions and more file tools. /preview-request shows a redacted preview of the next request without sending it.

    Telemetry is on by default. It sends aggregate counts (version and platform, session length and outcome, which built-in providers you used, feature and error counts) with a random install ID that rotates every 90 days, and never conversations, code, prompts, model names, file or repository names, or credentials. codewhale config set telemetry false turns it off. At startup Codewhale also checks GitHub for a new release; set CODEWHALE_NO_UPDATE_CHECK=1 to skip that. More in authorization order, sandboxing, and telemetry.

    Documentation

    Start hereReference
    InstallationConfiguration
    Providers and local modelsArchitecture
    Modes and permissionsRuntime API
    KeybindingsPlugin authoring
    GitHub PR reviewAll documentation

    Community

    If a provider is missing or a workflow is awkward, open an issue or send a pull request. Contributors keep credit for the work that lands, and the repository layout shows where things live.

    Chat on Discord, or add the maintainer, Hunter, on WeChat (hunterbown) and ask to join the Whale Brothers group.

    History and license

    Codewhale started as deepseek-tui and still reads that project's configuration and sessions. It is independently maintained and not affiliated with DeepSeek or any other model provider. Thanks to everyone who has contributed.

    Codewhale contributors

    MIT. Code adapted from other open-source projects is listed in the third-party notices.