██████╗ ██████╗ ██████╗ ███████╗██████╗ ██████╗ ██████╗ ██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔══██╗ ██║ ██║ ██║██║ ██║█████╗ ██████╔╝██████╔╝██████╔╝ ██║ ██║ ██║██║ ██║██╔══╝ ██╔══██╗██╔══██╗██╔══██╗ ╚██████╗╚██████╔╝██████╔╝███████╗██║ ██║██║ ██║██║ ██║ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝
The CLI coding agent that plans before it edits
Coderrr writes a spec, shows it to you, and stops. Nothing on disk changes until you approve. Free, open source, and it runs on your own provider key.
v2 is a Python package on PyPI. Coming from npm i -g coderrr-cli? Migration guide
Features
Built so the safety properties hold structurally, not because a prompt asked nicely
How It Works
Three commands to start, and one gate you always control
Install
One command, from PyPI
pipx install coderrrConfigure
Pick a provider and model
coderrr configDescribe
Say what you want changed
coderrr run "..."What happens then
Planning
read onlyReads your code, pulls relevant skills, writes requirements.md · design.md · tasks.md
The plan is shown to you. It stops.
your callNothing on disk has changed. Edit the spec files to steer the work, then approve — or decline and keep the plan.
Execution
write unlockedPer task: read → edit → run in sandbox → verify → mark done
Write tools are absent from the model's tool list until you approve. Not a prompt instruction — the tool simply isn't there.
See It In Action
One request, start to finish — including the stop in the middle
Bring Your Own Tools
Connect any MCP server — Figma, Linear, Notion, or something internal — and its tools become tools Coderrr can call
Takes effect on your next request — no restart.
No extra install
The client is hand-written over httpx and asyncio — JSON-RPC 2.0 over Streamable HTTP and stdio. No SDK, no uvicorn in your CLI.
Each tool asks once
One question per tool, remembered in allowed_tools — not a prompt you learn to click through. denied_tools hides one entirely.
A browser opens only when you ask
Confined to mcp add and mcp login. Nothing during a task opens one, so an agent run never blocks on a window.
Bridged tools are named mcp__<server>__<tool> and work while planning as well as executing — pulling a design or an issue description is usually how a plan gets grounded in the first place. What a server claims about itself is shown, never trusted.
Built by developers, for developers
Coderrr is open source and community-driven. Join us in building the future of AI-powered development.
Loading contributors...