# CodeWhale

Open-source coding agent for the terminal, formerly DeepSeek-TUI, that works with many model providers and local models.

Canonical profile: https://ki-agentenkompass.de/en/agents/codewhale/
Editor: [Michael Meierhoff](https://ki-agentenkompass.de/en/about/)
Sources reviewed: 2026-11-05
Basis: provider documentation. Examples are editorial suggestions, not hands-on product tests.

## Overview

The project was first called deepseek-tui and has shipped as Codewhale since v0.8.41 (23 May 2026). The repository now lives under codewhale-hq, and the old paths under Hmbown redirect there. According to the README it is independent and not affiliated with DeepSeek or other model providers, although DeepSeek is the default provider. The catalog lists DeepSeek Harness separately.

- Provider: Shannon Labs
- Product family: CodeWhale
- Profile type: Open-source terminal coding agent
- Environment: Terminal, local web interface on 127.0.0.1, headless through `codewhale exec`, local Runtime API and ACP; Linux, macOS and Windows on x64 and arm64
- Connections: More than 40 built-in providers, OpenAI-compatible endpoints, Ollama, vLLM and SGLang; MCP, skills, plugins, hooks, ACP, Runtime API and a GitHub review bot
- Setup: Install with the install script, winget, npm (Node.js 18 or newer) or Cargo (Rust 1.89 or newer), start in a Git repository and pick a key or a local model through `/provider`. The script needs curl or wget and a SHA-256 tool, but neither Node nor Rust.
- Pricing model: According to the README, free and MIT licensed. With your own key you pay the provider directly, and local models need no key.

## Key features

### Tasks in the terminal

You give a task, and Codewhale reads the repository, edits files and runs commands until the task is done or it needs your input.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

### Many models, also local

More than 40 providers are built in, with deepseek-flash as the default. `/model` switches between turns, and `/model auto` picks a model per turn.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

### Plan, Work and Operate modes

Plan only reads and changes nothing. Work edits files and runs commands. Operate has the same permissions and works toward a goal until it is verified or needs your input.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/docs/MODES.md

### Receipts and undo

`/receipts` lists changed files, commands, web and MCP calls, approvals and failures. `/undo` takes back the last request including its file changes.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/docs/RECEIPTS.md

### Subagents, Fleet and workflows

Tasks can be split across roles such as explore, implement or reviewer. Workflows add ordering, result handoffs and checkpoints.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/docs/SUBAGENTS.md

### Pull request reviews

`codewhale review --pr` creates an advisory review. The GitHub bot publishes findings with separate jobs and, according to the docs, does not run code from the pull request.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/docs/GITHUB_ACTION.md

### Permissions and sandbox

Levels Ask, Auto-Review and Full Access. In Ask and Auto-Review, commands run in an OS sandbox where available: Seatbelt on macOS, bubblewrap on Linux when installed.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/docs/SANDBOX.md

## Example workflows

### Fix tests

- Your input: A clean Git state and the task of fixing failing tests.
- Possible result: Codewhale edits files, runs commands after approval and explains the change.
- What to check: Check the diff and `/receipts`, and use `/undo` if needed.

### Run a task in CI

- Your input: `codewhale exec --auto --sandbox workspace-write` with your own model key.
- Possible result: A task runs without an interface and can be traced afterwards through receipts.
- What to check: Set the sandbox explicitly and evaluate `codewhale receipts --last`.

## Requirements and limits

### Model access required

Requirement: According to the install guide, Codewhale does nothing useful without a model. You need a provider key or a local model.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/docs/INSTALL.md

### Maturity before version 1.0

Limitation: The current version is v0.10.2, marked as a regular release. Security patches only go to the latest stable version. The change list is long and frequent; several parts are labeled experimental or preview.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/.github/SECURITY.md

### Mind the default behavior

Limitation: In Ask, file edits in the repository run without asking. `exec --auto` uses Full Access without a sandbox by default unless you set `--sandbox workspace-write`. Windows has no OS sandbox yet.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

### Status of the hosted offering

Not yet confirmed: The website lists a hosted web app as in development, while the guide describes its phased shutdown since September 2026. The privacy policy covers accounts and managed models. How far this is usable today remains open.

Source: https://github.com/codewhale-hq/Codewhale/blob/main/docs/GUIDE.md

## A good fit if …

- you want an open-source terminal agent without a required account
- you want to choose providers freely or use local models
- you want to trace what a run changed and executed

## Less suitable if …

- you need a managed platform with a contract, roles and data location commitments
- you rely on an OS sandbox on Windows
- you do not want to deal with defaults for telemetry and approvals

Editorial assessment based on provider documentation. Not a product test.

## Usable AI models

Open choice

More than 40 providers are built in, plus OpenRouter, and any OpenAI-compatible endpoint works. Locally CodeWhale runs with Ollama, vLLM or SGLang, without a key. You pick the model yourself or let /model auto decide for each turn.

- Model families named: Anthropic (Claude), OpenAI (GPT), DeepSeek, Google (Gemini), Mistral, Moonshot (Kimi), xAI (Grok) · Other models can be connected freely
- Model choice: Automatic or your choice
- Your own API key: Yes
- Router or custom endpoint: Yes
- Local models: Yes

Documented · Sources accessed on: 2026-11-05

- [CodeWhale: README](https://github.com/codewhale-hq/Codewhale/blob/main/README.md)

## Europe & regional availability

Read the README, the telemetry docs and the privacy policy (as of 4 October 2026). The policy has no section on the EU, the EEA, the UK or Switzerland.

Reviewed scope: Local program; hosted accounts reviewed separately
Reviewed on: 2026-11-05

### Data path with your own key

With requirements

Request content goes to the provider you connect, under that provider's terms. The default provider is DeepSeek. Local models through Ollama, vLLM or SGLang need no provider key.

Region covered: EU/EEA, United Kingdom and Switzerland

Documented reason: Location and processing depend on the chosen provider; Codewhale makes no commitment on this.

Official source: https://codewhale.net/en/legal/privacy
Official source: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

### Accounts and location

Availability still unclear

The policy describes one global product without a residency selector. Sign-in and session data live in Cloudflare Durable Objects, currently configured in the US jurisdiction. The local program needs no account.

Region covered: EU/EEA, United Kingdom and Switzerland

Documented reason: The policy makes no commitments for European users.

Official source: https://codewhale.net/en/legal/privacy

### Usage counting

With requirements

Counting is on by default and sends aggregate values with a random ID that rotates every 90 days. Content, code and credentials are excluded. PostHog may act as a processor. `codewhale config set telemetry false` turns it off.

Region covered: EU/EEA, United Kingdom and Switzerland

Documented reason: Can be turned off; the docs name no European location.

Official source: https://github.com/codewhale-hq/Codewhale/blob/main/docs/TELEMETRY.md
Official source: https://codewhale.net/en/legal/privacy

## Accounts & permissions

Based on provider documentation. Permissions depend on the account, integration and organization policies. Review the permissions actually requested before use.

Configuration covered: Local program without a required account
Sources reviewed: 2026-11-05

### Account used

Documented: According to the README you need no account. Keys from `/provider` stay on your computer. Experimentally, a ChatGPT plan can be used instead of an API key. The README describes no roles or SSO for the local program.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

### Admin approval

Documented: Ask prompts before commands that are not read-only; `y` once, `a` for similar commands in the conversation, `n` refuses. Auto-Review lets rules and a reviewer model approve routine calls. Full Access never asks.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/README.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/MODES.md

### Data access & team sharing

Documented with conditions: Inside the sandbox, commands cannot read credentials such as `~/.ssh`, `~/.aws` or `.env`. Full Access turns the sandbox off, and Windows has none yet. Subagents get narrowed permissions.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/README.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/SUBAGENTS.md

## Prices and included usage

Pricing checked: 2026-11-05

The program is free. According to the website you need no account for the terminal, local web interface and GUI. Costs arise with the chosen model provider.

### Codewhale

Free under the MIT license

Terminal, local web interface, headless and Runtime API; model use not included.

Price source: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

### Your own provider key

According to the provider's price list

`/cost` shows session costs when the price is known.

Price source: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

The website and README promote an OrcaRouter offer; according to the README, Codewhale earns a referral fee from it.

Third-party pricing was not used as evidence.

Pricing details: https://codewhale.net/

## Operation & oversight

Based on public provider documentation. Assessments are editorial inferences from the stated properties. Actual time requirements and reliability have not been measured.

Deployment covered: Local process; model calls go to the chosen provider
Sources reviewed: 2026-11-05

### Files and working state

Documented: New installs write to `~/.codewhale/`; old data from `~/.deepseek/` stays readable. Sessions are saved, and `/restore` rolls the workspace back to an earlier snapshot.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/REBRAND.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/README.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/GUIDE.md

### Sign-ins

Documented: You enter keys through `/provider`, and they stay local. The sandbox blocks credentials for commands. `/preview-request` shows a redacted preview of the next request without sending it.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

### Starting further runs

Documented with conditions: Operate offers recurring work as an automation, created after your approval. Automations cannot hold more permissions than the session that created them. GitHub workflows start reviews on events. The README does not name which schedules are possible.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/MODES.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/CHANGELOG.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/GITHUB_ACTION.md

### Human intervention

Documented: Approvals depend on the level. Plan refuses changes centrally and asks at the end how to continue. Every permission change appears in the transcript.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/MODES.md

### Detecting errors

Documented: `/receipts` lists failures and who approved what. `/turn inspect` shows a turn's model, cost and duration. `codewhale doctor` checks the installation.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/RECEIPTS.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/README.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/GUIDE.md

### Resuming after failures

Documented: According to the guide, sessions can be resumed and forked, and `exec --continue` continues headless runs. `/undo` and `/restore` take back changes; `/restore` overwrites later edits and needs trust mode or Full Access.

Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/docs/GUIDE.md
Evidence: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

### Editorial assessment

Codewhale shows what it did and can take changes back. The defaults need attention: file edits without asking, counting turned on, Full Access with `exec --auto`. The project is before version 1.0 and releases at short intervals.

## Memory and conversation continuity

Scope: Local memory, off by default
Sources accessed: 2026-11-05

Markdown files with SQLite search, global or per repository; can be turned on, offline and managed by command.

### Storage and scope

Documented: Memory is off by default. Once on, it lives under `~/.codewhale/memory/` as Markdown with a SQLite search index. It does not sync to the cloud, but entries go to the chosen provider as prompt context.

- [Codewhale: User Memory](https://github.com/codewhale-hq/Codewhale/blob/main/docs/MEMORY.md)

### Selection and timing

Documented: You add with `#` in the input box or `/memory native remember`. The model can use the `remember` tool without approval. According to the docs, secrets and transient task state do not belong there.

- [Codewhale: User Memory](https://github.com/codewhale-hq/Codewhale/blob/main/docs/MEMORY.md)

### Inspect, edit and delete

Documented: `/memory native` can search, read, export, reindex and delete, including everything at once. The files are plain text and can be edited directly.

- [Codewhale: User Memory](https://github.com/codewhale-hq/Codewhale/blob/main/docs/MEMORY.md)

### Agent and channel boundaries

Partly documented: The scopes are global and workspace; the workspace ID is a hash of the Git origin, and according to the docs one repository's notes do not appear in another. The page does not describe boundaries between agents or channels.

- [Codewhale: User Memory](https://github.com/codewhale-hq/Codewhale/blob/main/docs/MEMORY.md)

### Retrieval

Documented: Up to 32 entries or 12,000 characters enter the system prompt as a marked, untrusted block. Beyond that, the model searches with `memory_search` and `memory_get`.

- [Codewhale: User Memory](https://github.com/codewhale-hq/Codewhale/blob/main/docs/MEMORY.md)

### Session reset and compaction

Partly documented: The memory state at session start belongs to the fixed prompt prefix, and later changes are appended to history. `/compact` summarizes long context. That memory outlasts this follows from file storage; the page names no separate reset rule.

- [Codewhale: User Memory](https://github.com/codewhale-hq/Codewhale/blob/main/docs/MEMORY.md)
- [Codewhale: User guide](https://github.com/codewhale-hq/Codewhale/blob/main/docs/GUIDE.md)

## Context

Before version 1.0. File edits in the repository run without asking by default, so commit first. Usage counting is on by default. Windows has no OS sandbox yet. You need model access.

Read the repository (README, docs, changelog, release list via the GitHub API), the website and the privacy policy; checked the redirect of the old repository path over HTTP. The project mostly writes Codewhale, sometimes CodeWhale. Feature claims come from the project; example tasks are editorial. Our own hands-on tests are pending.

## Open points

Europe, availability still unclear:
- Accounts and location

Requirements and limits, not yet confirmed:
- Status of the hosted offering

## Sources

- https://codewhale.net/

- https://github.com/codewhale-hq/Codewhale

- https://github.com/Hmbown/DeepSeek-TUI

- https://github.com/codewhale-hq/Codewhale/releases

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/REBRAND.md

- https://github.com/codewhale-hq/Codewhale/blob/main/CHANGELOG.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/INSTALL.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/LEGACY_PATHS.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/FLEET.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/RUNTIME_API.md

- https://codewhale.net/en/legal/privacy

- https://github.com/codewhale-hq/Codewhale/blob/main/README.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/MODES.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/RECEIPTS.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/SUBAGENTS.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/GITHUB_ACTION.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/SANDBOX.md

- https://github.com/codewhale-hq/Codewhale/blob/main/.github/SECURITY.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/GUIDE.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/TELEMETRY.md

- https://github.com/codewhale-hq/Codewhale/blob/main/docs/MEMORY.md

## Provider

The privacy policy calls Codewhale a product of Shannon Labs, Inc. The README names Hunter as maintainer, and the project accepts community contributions.

- Operator: Shannon Labs
- Organization: Project and operator
- Website: https://codewhale.net
- Reviewed: 2026-11-05

- Provider source: https://codewhale.net/en/legal/privacy

- Provider source: https://github.com/codewhale-hq/Codewhale/blob/main/README.md

[Sources and method](https://ki-agentenkompass.de/en/sources/)
