claudectl
Mission control for Claude Code.
A local LLM watches your Claude Code sessions and decides what to approve. You press one key to record a highlight reel GIF. You orchestrate 5 sessions with dependencies. And you never tab-hunt again.
~1 MB binary. Sub-50ms startup. Zero config required.
Install
|
&& &&
Try it now
Why claudectl
| Capability | Claude Code alone | With claudectl |
|---|---|---|
| Local LLM auto-approve/deny | No | Brain with ollama |
| Record session highlight reels | No | Press R |
| Orchestrate multi-session workflows | No | Dependency-ordered tasks |
| See status of all sessions at once | No | Yes |
| Know which session is blocked | Tab-hunt | At a glance |
| Track cost per session | Manually | Live $/hr burn rate |
| Enforce spend budgets | No | Auto-kill at limit |
| Approve prompts without switching | No | Press y |
| Get notified on stalls/blocks | No | Desktop + webhook |
Local LLM Brain
A local LLM observes your sessions and suggests what to approve, deny, or terminate. It learns from your corrections. Works with any local inference server — no cloud API needed.
Supported backends:
| Backend | Setup | Default endpoint |
|---|---|---|
| ollama | ollama pull gemma4:e4b && ollama serve |
localhost:11434 |
| llama.cpp | llama-server -m model.gguf |
localhost:8080 |
| vLLM | vllm serve gemma4 |
localhost:8000 |
| LM Studio | Start server in UI | localhost:1234 |
Any endpoint that accepts a JSON POST and returns generated text will work.
# ollama (default — zero config)
# llama.cpp
# vLLM
# Advisory mode: brain suggests, you press b to accept or B to reject
# Auto mode: brain executes without asking
Every decision is logged locally. Past decisions are retrieved as few-shot examples so the brain adapts to your preferences over time. Deny rules always override brain suggestions. All data stays on your machine.
Run claudectl --doctor to check if your backend is reachable.
# .claudectl.toml
[]
= true
= "http://localhost:11434/api/generate" # change for other backends
= "gemma4:e4b"
= false
= 5
Record and Share
Highlight reels — Press R on any session. claudectl extracts file edits, bash commands, errors, and successes. Idle time and noise are stripped. Output is a shareable GIF.
Dashboard recording — Capture the full TUI as a GIF or asciicast:
Orchestrate Sessions
Run coordinated tasks with dependency ordering, retries, cross-session data routing, and resumable sessions:
Supervise and Control Spend
From the dashboard: y approve, i input, Tab switch terminal, d kill, ? all keys.
Docs
| Reference | Dashboard features, keybindings, CLI modes, status detection |
| Configuration | Config files, hooks, rules, model pricing overrides |
| Terminal Support | Compatibility matrix and setup notes |
| Troubleshooting | Common issues and FAQ |
| Contributing | Setup, guidelines, and architecture |
| Changelog | Release history |
Community
Questions or ideas? Start a Discussion. Found a bug? Open an issue.
License
MIT