⚙ grep /parsePrice\(/ in *.ts ✓ 4 lines ⚙ read_file read src/utils.ts ✓ 84 lines ⚙ edit_file edit src/utils.ts ✓ Edited src/utils.ts: 1 replacement.
const parsed = tool.schema.safeParse(use.input);
if (!parsed.success) {
return { type: "tool_result", tool_use_id: use.id,
is_error: true, content: INVALID_JSON };
}
const decision = await this.perms.check(tool, parsed.data, cwd);
if (decision === "deny") return declined(use.id);
$ supaterra run "run the tests, fix whatever fails"
effort high
cwd ~/projects/shop-api
tools read_file list_dir glob grep
edit_file write_file bash
/cost requests 14 input 38,210 output 4,112 cache read 31,900 cost ~$0.29
You type the task.SupaTerra ships it.
An agent that reads your repo, edits files, runs your shell, and reports what actually happened. One binary, no runtime to install.
Tools
read_file, list_dir, glob, grep, edit_file, write_file, bash. Optional web_search runs on Anthropic's servers.
How it worksPermissions
Writes, edits, and shell commands ask first. Answer a to allow that tool for the whole session, or pass --yolo once you trust it.
See a sessionOutput
Text appears as the model writes it. Markdown renders cleanly in the terminal, one compact line per tool call.
Watch the demoContext
Summarize a long conversation with one command. Tokens, cache hits, and estimated cost at any time.
CommandsRepo rules
Put project instructions in SUPATERRA.md or AGENTS.md. They join the system prompt whenever the agent runs in that folder.
SetupEverything the agent does is on screen.
Read-only tools run without asking. Anything that changes files or runs a command goes through the permission gate. Writing outside the working directory always asks, even in yolo mode.
Latest tool calls
1 turn- grep /parsePrice/ in *.ts✓ 4 lines
- read_file src/utils.ts✓ 84 lines
- read_file src/utils.test.ts✓ 37 lines
- edit_file src/utils.ts✓ 1 replacement
- edit_file src/utils.test.ts✓ 1 replacement
- bash bun test src/utils.test.ts✓ 1.8s
- bash git push --force origin main✗ denied
/cost
this session- requests14
- input38,210
- output4,112
- cache read31,900
- cache write6,310
- cost~$0.29
Permissions
permission log- edit_file src/utils.tsa always
- edit_file src/utils.test.tsauto
- bash bun testy
- bash git push --forcen
- write_file ../other/x.tsask
One file. Run it.
Bundled with bun build --compile, so the runtime ships inside. No Node, Bun, or Python needed on your machine. Every release includes SHA256SUMS.txt.
Windows x64 · .exe
# PowerShell
Expand-Archive supaterra-windows-x64.zip
Move-Item .\supaterra-windows-x64\*.exe C:\Tools\supaterra.exe
supaterra login
Windows releases
macOS arm64 · x64
tar -xzf supaterra-darwin-arm64.tar.gz
chmod +x supaterra-darwin-arm64
sudo mv supaterra-darwin-arm64 /usr/local/bin/supaterra
# if Gatekeeper complains
xattr -d com.apple.quarantine /usr/local/bin/supaterra
macOS releases
Linux x64 · arm64
tar -xzf supaterra-linux-x64.tar.gz chmod +x supaterra-linux-x64 sudo mv supaterra-linux-x64 /usr/local/bin/supaterra supaterra loginLinux releases
The token that burns for the tool.
$TERRA lives on Robinhood Chain (chain id 4663). A bot claims creator fees, buys $TERRA, and burns it. Every burn is a transaction you can open. Not financial advice; nothing here is a promise about price.
$TERRA ERC-20 · 1,000,000,000 fixed
contract address: announced at launch- Circulating
- 1.00B
- Burned
- 0
- Burn rounds
- 0
No mint, no owner, no tax. Source in contracts/TerraToken.sol.
Burn loop Pons v2 · automatic
Every step is logged with its transaction hash. The bot never sells $TERRA.
Look first, change, then prove it.
The order is always the same and always visible on screen. No hidden steps.
You type the task.
In any language, at any length. The agent finds and reads the relevant files with glob, grep, and read_file before touching anything.
ToolsSupaTerra does the work.
edit_file matches text exactly once. If the match is ambiguous or the line endings differ, the agent is told to re-read, not to guess. Every change passes through your permission.
PermissionsYour checks prove it.
The agent runs your project's own tests, type checks, or build through bash and reports the real outcome. If it fails, it says so.
SetupReady in a minute.
Your own API key, stored locally in ~/.supaterra/config.json. No proxy server, no extra account.
- 01Save your API key
supaterra loginand paste the key from platform.claude.com. Or set theSUPATERRA_API_KEYenvironment variable. - 02Open a project
cd your-projectthensupaterra. That folder becomes the agent's working directory. - 03TalkEnd a line with
\to continue on the next one.Ctrl+Ccancels the response in progress. - 04Tune it
/model,/effort xhigh,/thinking,/web. Make it permanent withsupaterra config set effort xhigh.
// ~/.supaterra/config.json { "effort": "high", // low · medium · high · xhigh · max "maxTokens": 64000, "showThinking": false, "autoApprove": false, "fallbacks": true, // server-side refusal fallback "webSearch": false, "maxIterations": 60 } // per project: .supaterra.json in the repo root // (model, effort, maxTokens, showThinking, webSearch, maxIterations only) // precedence: CLI flags › env › .supaterra.json › config.json › defaults
Commands inside a session.
All of them start with a slash. Press ? on this page for page shortcuts.