stella is a terminal coding agent that proves its work finished.
It runs on the API keys you already have, speaks ten providers' own protocols, and ends a run on evidence, a test that failed before the change and passes after, rather than on a model's say-so. Nothing is proxied through a hosted service, and telemetry never leaves your disk.
Install it:
$ curl -fsSL https://stella.oxagen.sh/install.sh | shcreated by @macanderson. Star stella on GitHub and follow for examples and updates.
One run, start to finish
$ export ANTHROPIC_API_KEY=… $ stella run "fix the failing test" ▶ read_file(path=src/parser.rs) ± modified src/parser.rs +3 −1 ▶ bash(command=cargo test -p parser) ✓ ok in 1174ms, test result: ok. 12 passed; 0 failed ◆ claude-sonnet-5 · $0.0413 · 18.6s
A plain stella run is the raw step loop: it reports what it changed and what the turn cost, and claims nothing about proof. The rows and the metering are stella's own; the figures illustrate a run rather than a benchmark. Verification is opt-in: a wrapper plugin gathers the evidence, or goal mode judges rounds.
The deck
Two moments decide whether you can trust an agent with a branch: what it does before it starts, and what it does when a check goes red. Running stella with no subcommand opens the interactive deck, where both of them look like this. The docs list every tab, and what each one holds.
Step inside
The rest of this page tells you what stella is. The engine tour shows you the machine: the turn loop, the tool bay, vera's deterministic verification chamber, the governance plane, and the deck where stella rebuilds itself from your team's traces.
Providers
Anthropic · OpenAI · Google Gemini · Google Vertex AI · Amazon Bedrock · xAI · DeepSeek · Z.ai · OpenRouter · Local server
stella speaks each vendor's own wire protocol rather than normalising everything through one OpenAI-shaped adapter, so thinking blocks, cache control, and tool-call shapes are native rather than emulated. Override any base URL, key, or model in settings.json.
Start here
- Install and authenticateOne binary, one API key you already have. No account, no sign-up.
- Pick a modechat, run, goal, monitor, or fleet, and which of them fits the task in front of you.
- Decide what it may touchEvery tool sits behind a per-tool permission model, with the shell off by default.
- Wrap a run in evidenceInstall a verification plugin and a turn reports what proves it, and where a run can stop.