A minimal, multi-provider coding agent in Python, with a Claude Code-style CLI: an interactive console, slash commands, per-project sessions, an approval gate for tool calls, and a kernel-enforced sandbox on macOS.
Providers (Anthropic, OpenAI, Google, Groq, Grok, OpenRouter, and local servers such as Ollama, vLLM, llama.cpp, LM Studio, Jan) are handled by llmkit.
Requires Python >= 3.10 and uv.
make install # uv tool install — puts `quantum` on PATH (~/.local/bin)Set an API key for your provider, e.g.:
export ANTHROPIC_API_KEY=...Local providers with a loopback base_url (Ollama, vLLM, llama.cpp,
LM Studio, Jan) need no key.
quantum # interactive console
quantum "fix the failing test"
quantum -p "explain main.py" # non-interactive: print the result and exit
quantum -c # continue the most recent session in this directory
quantum -r # pick a session to resume
quantum -m claude-sonnet-4-6 # override the model
quantum --provider openai # override the provider| Command | Effect |
|---|---|
/help |
show all commands |
/model |
list the provider's live models, or switch with /model <id> |
/provider |
list providers, or switch with /provider <name> [model] |
/config |
show the effective configuration |
/cost |
show this session's step count, tokens, and cost |
/resume |
list sessions in this directory and switch to one |
/clear |
clear the conversation history (keep the session) |
/compact |
summarize the conversation to shrink context |
/init |
ask the agent to write a project AGENTS.md / CLAUDE.md |
/exit |
leave the console (also Ctrl-D) |
The agent can run shell commands and read, write, edit, grep, and glob files. Read-only tools are auto-approved and run on a kernel-read-only profile; anything that writes or touches the network asks first (configurable).
On macOS, all tool execution is wrapped in a SeatBelt (sandbox-exec)
profile: writes are contained to the launch directory, common secret
locations (~/.ssh, ~/.aws, ...) are unreadable, and network access is
denied by default for read-only tools.
Config is layered: ~/.quantum/config.json (global) then
./.quantum/config.json (per project). Keys include provider, model,
approval, max_turns, time_limit_seconds, and cost_limit_usd
(budget caps; 0 disables). Sessions are stored per project and survive
restarts (-c / -r / /resume).
MIT — see LICENSE-MIT.