Hunter Bown 75dca2cfbe
Sync to CNB / sync (push) Has been cancelled
Auto-close harvested PRs / close (push) Has been cancelled
cargo-deny / cargo-deny (advisories) (push) Has been cancelled
cargo-deny / cargo-deny (bans licenses sources) (push) Has been cancelled
CI / Change detection (push) Has been cancelled
CI / Version drift (push) Has been cancelled
CI / Integrations (push) Has been cancelled
Security audit / cargo-audit (push) Has been cancelled
Web Frontend / Lint & Type Check (push) Has been cancelled
CI / Documentation (push) Has been cancelled
Web Frontend / Deployment approval needed (push) Has been cancelled
CI / Safety gate (push) Has been cancelled
CI / Lint (push) Has been cancelled
CI / Workflow RLM cache (push) Has been cancelled
CI / Test (macos-latest) (push) Has been cancelled
CI / Test (ubuntu-latest) (push) Has been cancelled
CI / Test (windows-latest) (push) Has been cancelled
CI / npm wrapper smoke (push) Has been cancelled
CI / Mobile runtime smoke (push) Has been cancelled
CI / Workflow lint (push) Has been cancelled
Web Frontend / Deploy to Cloudflare (push) Has been cancelled
ci(nightly): keep the legacy binary name out of nightly.yml
`.github/scripts/release-workflows.test.js:105` asserts
`doesNotMatch(nightly, /codewhale-tui/)`. The surrounding assertions show why:
nightly must build `-p codewhale-cli` and stage `codewhale`/`codew` artifacts,
never the legacy `codewhale-tui` binary. It is a textual guard, so prose trips
it as readily as a build argument would.

The stack-size comment I added named the crate being compiled. Reworded to
`crates/tui`, which says the same thing without the guarded token. The
underscored `codewhale_tui` in the quoted rustc error is untouched — the guard
matches the hyphenated binary name, and the quoted diagnostic is the evidence
that makes the comment worth having.

Weakening the guard to accommodate a comment would have been the wrong trade:
it protects a real invariant about what nightly builds.

Verified: the full ci.yml `versions` job run locally — check-versions.sh plus
all thirteen release-helper contract tests — passes end to end, and
actionlint 1.7.12 is clean.

Signed-off-by: Hunter Bown <hmbown@gmail.com>
2026-08-20 09:23:40 -07:00
2026-04-24 16:29:01 -05:00
2026-05-05 14:34:33 +08:00
2026-01-20 08:57:35 -06:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-08-19 20:08:27 -07:00
2026-06-25 11:41:18 +08:00

Codewhale

Codewhale is an open source coding agent for your terminal, built in Rust and improved in public with the people who use it.

Codewhale running in a terminal

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

CI crates.io npm Discord

Install

npm install -g codewhale
codewhale

The first run helps you connect a provider or stay offline. Codewhale also supports Cargo, Docker, Nix, Scoop, prebuilt archives, Android/Termux, and a CNB mirror. See the installation guide.

Use

Talk to Codewhale the same way you would talk to a teammate:

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. You decide how much access it has.

Why Codewhale

  • Use the model you want. Connect hosted providers or local models through Ollama, vLLM, or SGLang. Switch provider and model with /model.
  • Stay in control. Plan is read-only. Ask, Auto-Review, and Full Access make approval behavior visible. /undo reverts the last turn and /restore returns the workspace to an earlier snapshot.
  • 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

Join the community

Codewhale gets better when people use it, report what feels wrong, and help fix it. If a provider is missing, a workflow is awkward, or the terminal UI gets in your way, open an issue. If you know how to improve it, open a pull request. First contributions are welcome, 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

S
Description
Open-source, community-driven agent harness|GitHub 镜像 40.8k · 🍴 3.5k
https://github.com/hmbown/codewhale Readme 105 MiB
Languages
Rust 93%
TypeScript 3%
JavaScript 1.7%
Python 1.1%
Shell 0.7%
Other 0.3%