CodeWhale

Hmbown/CodeWhale

Open-source, community-driven agent harness

40k
Stars
3.4k
Forks
333
Open issues
155
Watchers
Rust MITLast pushed Jul 7, 2026

Overview

CodeWhale is a terminal coding agent built with Rust that works with various AI models and providers to assist in coding tasks through TUI/CLI interfaces.

Categories

Tags

Relationships

Similar tools

Install

cargo add CodeWhale

README

CodeWhale

The terminal coding agent for any model — open models first.

CodeWhale is a terminal coding agent — a TUI and a CLI. You point it at a model and a project, and it gets to work: reading code, making edits, running commands, checking results, planning multi-step tasks, and correcting itself when something fails.

It's open source (MIT, Rust), it runs on your machine, and it works with the models people actually use. DeepSeek and open-weight models are first-class, and a local vLLM/SGLang/Ollama box on your LAN needs no key at all — but Claude, GPT, Kimi, and GLM are full peers through the same runtime and the same tools. You pick a provider and a model; CodeWhale resolves a real route and runs.

The project began as deepseek-tui, a coding harness built around DeepSeek workflows. The developer community — much of it in China — adopted it, filed reports, and contributed fixes, and it became clear the harness was bigger than one model. Multi-provider support followed, and the project became CodeWhale to match. If there's a model, endpoint, or feature you don't see that you want, open an issue — that's how the project grows.

简体中文 README · 日本語 README · Tiếng Việt README · 한국어 README · codewhale.net · Install guide · Provider registry · Changelog

Install

npm install -g codewhale
codewhale --version   # 0.8.67

The npm wrapper (Node 18+) downloads SHA-256-verified binaries from GitHub Releases and installs codewhale, codew, and codewhale-tui. Prefer building from source? Use cargo (Rust 1.88+):

cargo install codewhale-cli --locked
cargo install codewhale-tui --locked

Linux users: install system build dependencies first: sudo apt-get install -y build-essential pkg-config libdbus-1-dev. See INSTALL.md.

Every other path:

# Docker
docker pull ghcr.io/hmbown/codewhale:latest

# Nix
nix run github:Hmbown/CodeWhale

# Windows
scoop install codewhale        # or the NSIS installer from GitHub Releases

# CNB mirror for users who cannot reliably reach GitHub
cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.67 codewhale-cli --locked --force
cargo install --git https://cnb.cool/codewhale.net/codewhale --tag v0.8.67 codewhale-tui --locked --force

# Legacy Homebrew compatibility while the formula is renamed
brew tap Hmbown/deepseek-tui
brew install deepseek-tui

Prebuilt archives for Linux x64/arm64, macOS x64/arm64, and Windows x64 are attached to GitHub Releases. Linux riscv64 prebuilts are temporarily paused while upstream QuickJS bindings catch up. Checksums, China mirrors, Windows specifics, and troubleshooting live in docs/INSTALL.md.

Upgrading from the legacy deepseek-tui package? Your config, sessions, skills, and MCP settings are preserved. See docs/REBRAND.md, then run codewhale doctor to confirm.

First run

codewhale auth set --provider deepseek
codewhale auth status
codewhale doctor
codewhale

Every provider is the same one-line shape: --provider openrouter, --provider moonshot, --provider openmodel, or point vllm, sglang, or ollama at your own localhost runtime with no key at all. Have a Claude key instead? Run codewhale auth set --provider anthropic — or just export ANTHROPIC_API_KEY — and the native Messages adapter takes it from there.

Keys land in ~/.codewhale/config.toml; legacy ~/.deepseek/ config is still read for compatibility.

Useful in-session commands:

  • /provider opens the readiness dashboard — per provider it shows auth state, the resolved default route, and the cost/usage meter. /model picks the model and reasoning effort. Both also take arguments (`/provider