A terminal-based coding agent harness for developers that connects to arbitrary LLM providers and executes code tasks with OS-level sandboxing. It orchestrates locally on your machine but requires a provider and model to function, which may include external hosted services.
Project overview
Combines plan/act/operate cycles with OS-level sandboxing across multiple providers, giving developers a local terminal interface for managing code-based risk during AI-assisted development.
Project type
AI Agent · AI Coding
Use cases
Coding & Development · Automation
Deployment
Refer to project documentation
License
MIT
Best for
Developers who are comfortable with terminal interfaces and need to execute coding tasks using configured external or locally hosted models.
Key capabilities
Provides an interactive Terminal User Interface (TUI) with a context inspector, plan/act/operate cycles, and approval postures for interactive work.
Limitations and risks
The application runs on your machine, meaning its execution is tied to local machine resources. Additionally, connecting to external hosted LLM providers like DeepSeek, OpenRouter, or Anthropic introduces external service dependencies for inference.
Getting started
Setup difficulty is rated as easy because npm installation is a single command. The first success path involves installing the package globally, authenticating with a provider such as DeepSeek, and launching the application.
Evidence and sources
README: A coding agent for your terminal. Works with any model; open models first.
README: npm install -g codewhale
README: codewhale auth set --provider deepseek # or export ANTHROPIC_API_KEY, etc. codewhale # open the TUI codewhale exec "fix the failing test" # headless
README: Talks to hosted open-model providers (`deepseek`, `openrouter`, `moonshot`, `zai`, `minimax`, `nvidia-nim`, …), to your own `vllm` / `sglang` / `ollama` with no key, and to Anthro…
README: Runs multiple workers durably: Fleet records work in an append-only ledger, so runs survive restarts and `fleet resume` picks up where things stopped.