One runtime. Every model. Your machine.
Codewhale is a coding agent for your terminal. It works with any model;
open models first. Give it a provider, a model, and a task: it reads your
code, edits files, runs commands, checks its work, and stops when the job
is done or it needs you. Switch models mid-task with /model. Use the TUI
for interactive work, codewhale exec for scripts and CI. Rust, MIT,
runs on your machine.
Why Codewhale:
- No lock-in. DeepSeek, Claude, GPT, Kimi, GLM, 30+ providers, and your own vLLM, SGLang, or Ollama — no key required — run through one runtime and one toolset. Context budgets and prices come from the real route. An unknown price shows as unknown, never as $0.
- Safe by construction. Plan mode is read-only. Approvals gate every
risky call. The OS sandbox holds — Seatbelt, Landlock, seccomp, bwrap.
A repo's
constitution.jsoncompiles into write holds that even Full Access cannot skip. - Work that survives. Fleets record every step in an append-only
ledger;
fleet resumepicks up where you stopped. Every turn leaves a receipt you can inspect.
Born as deepseek-tui. Its community needed more providers, so we built
one where the model is a component, not the product.
简体中文 · 日本語 · Tiếng Việt · 한국어 · Español · Português · codewhale.net · Docs · Changelog
npm install -g codewhaleCargo, Docker, Nix, Scoop, prebuilt archives, Android/Termux, and a CNB mirror
for users who cannot reach GitHub are covered in
docs/INSTALL.md. Coming from deepseek-tui? Your config and
sessions carry over — see docs/REBRAND.md.
codewhale auth set --provider deepseek # or export ANTHROPIC_API_KEY, etc.
codewhale # open the TUI
codewhale exec "fix the failing test" # headlessIn the TUI: /model switches provider and model together, /fleet runs a
team of workers, /restore undoes a turn, Tab cycles Plan / Act / Operate,
Shift+Tab cycles the Ask / Auto-Review / Full Access approval posture, and
! runs a shell command through the normal approval path.
- docs/PROVIDERS.md — every provider route: hosted, gateway, and local
- docs/FLEET.md — fleets, the ledger, and resume
- docs/CONFIGURATION.md —
config.toml, hooks, and the constitution
Everything else — modes, keybindings, sandbox details, MCP, the runtime API, architecture — is in docs and on codewhale.net.
All feedback is a gift. Issues, PRs, repro steps, logs, feature requests, and first contributions are all real project work here. When a PR can't merge as-is, maintainers harvest what works and the author stays credited — in the commit, the changelog, and docs/CONTRIBUTORS.md. If a model or provider you use is missing, or something breaks on your machine, telling us is the most useful thing you can do.
- Open issues — good first contributions live here
- CONTRIBUTING.md — dev setup and PR flow
- docs/CONTRIBUTORS.md — everyone who has shaped this
- Buy me a coffee
Thanks to DeepSeek for the models and support that started the project, DataWhale 🐋 for welcoming us into the Whale Brother family, and OpenWarp and Open Design for collaborating on the terminal-agent experience.
MIT. Independent community project; not affiliated with any model provider.
