Kolkrabbi is an open-source AI coding agent for the terminal — a Claude Code
and Codex CLI alternative. Chat, code, and agent work across
several subscriptions in one session — your Claude Pro or Max, your ChatGPT
Plus or Pro, your GitHub Copilot — any OpenRouter model, or a local model on Ollama.
One static binary under 11 MiB, milliseconds to start, computed defaults, and your sessions kept on
your machine.
Run$ kolkkolk needs an API key to use OpenRouter models. Add one: /key (it asks for the key, hidden) Then run: kolk Or start locally, without a key: kolk -m ollama/qwen2.5-coder:7b❯ /key
Use it$ kolk
Update❯ /updateInside a session: fetches the latest verified release, checks its checksum, and restarts into it if you have asked for that.
or, if you installed with Homebrew
$brew upgrade kolk
Remove it$ kolk uninstallLists every file it will delete, with what each one holds, and asks once. Keep your key and sessions for later: kolk uninstall --keep-data
Verified release. The installer accepts only published Kolkrabbi release assets and verifies their checksum before installing.
The tap is the same bytes. Its formula is generated from the release’s own signed checksums, so brew verifies exactly what the installer does. To type the short name, trust the tap once with brew tap onembyte/tap && brew trust onembyte/tap, then brew install kolkrabbi.
02 / AGENTS
One prompt. Four agents, each in its own tree.
A replay of a real agent-mode run, in the lines kolk prints: the plan, one row per agent, the log of one of them up close, and every tree landed back into yours.
~/mathkit · agent · maxagents 03210
❯ /mode agent
mode: agent
❯ add an MIT LICENSE, a README, stats.go with tests, and table tests for the package
◆ planning (claude-fable)…
◆ plan (4 tasks):
1. Add an MIT LICENSE [boilerplate · trivial · claude-haiku]
2. Write README.md with one example per function [edit · routine · claude-fable]
3. Add stats.go with Mean and Median, and tests [edit · routine · claude-fable]
4. Table tests for Add, Sub, Mul and Div [test · routine · claude-fable]
each writer in its own tree, landed when it finishes
◆ subagent 1/4 started: Add an MIT LICENSE
◆ subagent 2/4 started: Write README.md with one example per function
◆ subagent 3/4 started: Add stats.go with Mean and Median, and tests
◆ subagent 1/4 completed: Add an MIT LICENSE
◆ subagent 4/4 started: Table tests for Add, Sub, Mul and Div
◆ subagent 2/4 completed: Write README.md with one example per function
◆ subagent 4/4 completed: Table tests for Add, Sub, Mul and Div
◆ subagent 3/4 completed: Add stats.go with Mean and Median, and tests
◆ synthesizing
Four tasks landed in your tree: LICENSE, README.md, stats.go with stats_test.go, and mathkit_test.go.
go test ./... passes. Nothing is staged; review it with git diff.
agents
agent [1/4] · claude-haiku · lowworking: preparing a tree of its ownworking: opening claude-haikuworking: · Write: LICENSE → okworking: landing its changesdone: completed
agent [2/4] · claude-fable · mediumworking: preparing a tree of its ownworking: opening claude-fableworking: · Bash: cat mathkit.go → okworking: · Write: README.md → okworking: landing its changesdone: completed
agent [3/4] · claude-fable · mediumworking: preparing a tree of its ownworking: opening claude-fableworking: · Write: stats.go → okworking: · Bash: go test ./...working: · Write: stats_test.go → okworking: landing its changesdone: completed
agent [4/4] · claude-fable · mediumqueued: Table tests for Add, Sub, Mul and Divworking: preparing a tree of its ownworking: opening claude-fableworking: · Bash: go test ./...working: landing its changesdone: completed
agent [3/4] · log
· Bash: {"command":"go test ./..."}
→ ok ok mathkit 0.31s
· Write: {"file_path":"stats_test.go", …}
→ ok File created successfully
· Bash: {"command":"go test ./..."}
→ ok ok mathkit 0.29s
Real lines. The plan, the rows and the log are what kolk printed on for the run measured on the subscriptions page, shortened to fit. Three agents start together, the fourth the moment a slot frees; each writer edits a git worktree of its own and lands it when it finishes.
03 / THE POINT
Complexity, shipped off.
[ A ]
Any model
Start with a computed default. Choose another model only when you actually care.
[ L ]
Local memory
Sessions, checkpoints, ratings, and cost history stay local and inspectable.
[ 3 ]
Three modes
Chat for thinking, code for focused building, agent for longer work with an ordered
plan, isolated subagents, and one final synthesis.
[ $ ]
Spend where it counts
In agent mode each planned task is routed: the trivial ones to the cheapest rung your
plan offers, the rest to your model, and a slot per role can pin a cheaper model to a
kind of work. Your local dashboard shows what share of tokens ran below your top rung.
04 / OPINIONATED
The interface should disappear.
01 Zero-config is the product.
02 Every default is computed, not asked.
03 One install command. One key command.
04 Simple to type beats simple to explain.
05 / PROVIDERS
Every provider on the map.
Lit means Kolkrabbi can reach it today. Dimmed says where the rest stand, in the words of the record: chosen, with a keyed client no live key has proven; investigating, until the access path is settled; or deferred past v1 — listed, never promised.
OpenRouterThe gateway — every model it listsWorks today
AnthropicClaude Free · Pro · Max, via the claude CLIWorks today
OllamaYour own Ollama, found and used — local models and Ollama Cloud behind its sign-inWorks today
LiteLLMProxy over an OpenAI-compatible URLWorks today
vLLMSelf-hosted over an OpenAI-compatible URLWorks today
OpenAIChatGPT Plus · Pro, via the Codex CLIWorks today
GoogleGemini API key, metered · Gemini Free, AI Pro and AI Ultra are not API accessChosen · key, unproven
xAIGrok, by API key, meteredChosen · key, unproven
PerplexityBy API key once the endpoint is settledInvestigating
MistralLe Chat, by API keyDeferred past v1
DeepSeekDeepSeek, by API keyDeferred past v1
QwenQwen / Model Studio, by API keyDeferred past v1
CohereCohere, by API keyDeferred past v1
GitHubCopilot Free · Pro · Pro+ · Business · Enterprise, via the copilot CLIWorks today
Dimmed is about the direct path — a first-party CLI
handover or a native key of your own. Most of those models are already usable through the
gateway tile above, which is the one doing the work today.