The agent that grows with you
Terminal coding agent with multi-model workflows
Codewhale is a Rust-based terminal agent that works in your project, edits files, runs commands, and checks results. It supports interactive sessions in the TUI, non-interactive runs with `codewhale exec`, and coordinated work across agents, models, and roles.
Videos about this repo
Builders who want a terminal agent that can handle coding tasks, tests, and multi-step project work.
You can hand a task to your terminal agent and let it work through edits, commands, and verification in one place.
What it does
Interactive terminal agent
Run `codewhale` in a project and use the TUI to guide the agent through a task.
Non-interactive execution
Run scripted work with `codewhale exec "..."` for local use or CI jobs.
Model and provider choice
Switch providers with `/provider` and pick a model with `/model`, including hosted and local models.
Multi-agent workflows
Split larger jobs across agents with different roles and models.
Project edits and command runs
The agent can read the repo, edit files, run commands, and inspect results.
MCP and hooks support
Connect tools and services through MCP servers and configure hooks around agent actions.
Modes and approval controls
Use plan and work modes, plus approval settings, to control what the agent can do.
How to get it
- 1macOS / Linux — install the official GitHub release
curl -fsSL https://codewhale.net/install.sh | sh "$HOME/.local/bin/codewhale"
README
Codewhale
Codewhale is an open-source agent that reads your project, edits files, runs commands, and checks its work using a hosted or local model you choose. Start with one task in your terminal. For a larger job, give parts of the work to agents with different models and roles.
简体中文 · 日本語 · Tiếng Việt · Bahasa Indonesia · 한국어 · Español · Português · Русский · Українська · Français · Deutsch · 繁體中文 · हिन्दी · Türkçe · Italiano · Polski · العربية · Català

Terminal preview from a v0.9.12 development build.
Install
macOS / Linux — install the official GitHub release:
curl -fsSL https://codewhale.net/install.sh | sh
"$HOME/.local/bin/codewhale"
The installer selects the latest published release. The changelog also describes the next release's unreleased candidate; those changes are not included in published downloads until the release is available.
Windows: download the matching installer or archive from
GitHub Releases.
For an existing direct install, run codewhale update (or codewhale update --check
to inspect it). The updater prints the executable path and keeps newer builds.
The first run helps you connect a provider or configure Codewhale offline. Model replies require a connected hosted or local model. Codewhale also supports npm and Cargo as secondary packaging routes, plus Docker, Nix, Scoop, Android/Termux, and an optional CNB mirror. Existing package-managed installs receive migration instructions. See installation and PATH help.
Tab completion is one command per shell — codewhale completion bash|zsh|fish|powershell|elvish.
See shell completions.
Use
Open a terminal in your project folder and run codewhale. Choose your provider
with /provider and your model with /model. Then describe a concrete task:
Fix the failing tests and explain what changed.
Or run a task without opening the TUI:
codewhale exec "fix the failing tests and explain what changed"
Codewhale can read your repository, edit files, run commands, inspect results,
and keep working toward a goal. Use /mode plan to explore without file changes
or shell execution, and /mode work when you want it to make changes. Press
Shift+Tab to choose Ask, Auto-Review, or Full Access; the
modes and permissions guide explains what each allows.
Terminal, apps, and Computer Use
The terminal and graphical clients connect to the Codewhale Runtime, which runs the agent and its tools:
- Terminal:
codewhaleopens the interactive interface;codewhale execruns a task from a script or CI job. - Local browser:
codewhale webopens the bundled local web client for the same runtime. - Codewhale web and desktop apps: graphical workbenches in development. Their availability is listed on the product page.
Computer Use adds tools for observing and interacting with other applications. The plugin is included in the current source. Review its requested access and enable it before use; OS permissions and platform requirements still apply. See the included Computer Use guide and plugin setup.
For VS Code, the community-maintained CodeWhale extension connects to the local Runtime from a sidebar. Install it from the VS Code Marketplace; source code is on GitHub.
Why Codewhale
- Choose your models. Connect hosted providers or local models through
Ollama, vLLM, or SGLang. Use
/providerto change providers and/modelto choose a model. - Stay in control. Inspect proposed actions and resulting file changes.
Approval settings govern when review is needed; Full Access still respects
hard policy boundaries.
/undoand/restorehelp recover workspace changes. - Keep long work organized. Save sessions, set a durable
/goal, review workflows before they run, and coordinate agents without turning their internal instructions into your transcript. - Extend the agent you already have. Connect MCP servers and skills, configure hooks, and keep agent roles as readable files in your project or personal settings.
Run /help in the TUI for commands and keyboard shortcuts.
Safety
Codewhale runs on your machine with the access you grant it. Approval modes and repository rules limit what the agent may do; optional OS sandboxing adds a stronger execution boundary where supported. Unknown model prices stay unknown instead of being reported as free.
Read authorization order for the exact policy stack and configuration for local settings.
Documentation
- Providers and local models
- Agent teams
- MCP, hooks, and configuration
- Local web client
- All documentation
- Repository layout and contribution guide
Join the community
Bug reports, feature ideas, and pull requests are welcome, whether you have used Codewhale for months or are trying it for the first time. If a provider is missing, a workflow is awkward, or the terminal UI gets in your way, open an issue or send a pull request so we can improve it together. We welcome first contributions, and contributors keep credit for the work that lands.
Join the Discord, or add Hunter on WeChat
(hunterbown) and ask to join the Whale Brothers group.
Project history
Codewhale began as deepseek-tui and still preserves that configuration and
session compatibility. It is now provider-neutral and independently maintained;
it is not affiliated with any model provider.
Thanks to every contributor and to the open source communities that helped the project grow. See the contributor record.
License
MIT. Portions adapted from other open-source projects are recorded in third-party notices.
Files in the repo
- .cargo
- .codewhale
- .config
- .devcontainer
- .github
- .winget
- brand
- computer
- crates
- deploy
- docs
- extensions
- fleets
- integrations
- nix
- npm
- packaging
- patches
- plugins
- scripts
- telemetry-ingest
- web
- workflows
- .cnb.yml
- .dockerignore
- .env.example
- .gitattributes
- .gitguardian.yml
- .gitignore
- .mailmap
- AGENTS.md
- Cargo.lock
- Cargo.toml
- CHANGELOG.md
- CLAUDE.md
- CODE_OF_CONDUCT.md
- config.example.toml
- CONTRIBUTING.id.md
- CONTRIBUTING.md
- deny.toml
- DESIGN.md
- Dockerfile
- flake.lock
- flake.nix
- LICENSE
- package-lock.json
- package.json
- PRODUCT.md
- README.ar.md
- README.ca.md
- README.de.md
- README.es-419.md
- README.fr.md
- README.hi.md
- README.id.md
- README.it.md
- README.ja-JP.md
- README.ko-KR.md
- README.md
- README.pl.md
- README.pt-BR.md
- README.ru.md
- README.tr.md
- README.uk.md
- README.vi.md
- README.zh-CN.md
- README.zh-TW.md
- rust-toolchain.toml
- SECURITY.md
- THIRD_PARTY_NOTICES.md
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More agents
A lightweight alternative to OpenClaw that runs in containers for security. Connects to WhatsApp, Telegram, Slack, Discord, Gmail and other messaging apps,, has memory, scheduled jobs, and runs directly on Anthropic's Agents SDK
OpenSquilla — Token-Efficient AI Agent with same budget, higher intelligence density

An open-source AI coding agent that lives in your terminal.
Run and supervise teams of coding agents from planning to merge. Any harness (Claude code, codex, +25 more). Desktop, web, mobile, and cloud agents.

Orchestrate multiple coding agents from desktop and mobile