Building the Refusion CLI
Why operators want a terminal for their agents โ and what we kept out of it on purpose.

A console is great for browsing, but operators live in terminals. We shipped an in-app CLI so the same primitives โ provision, route, audit โ are reachable without leaving the keyboard.
One runtime, two surfaces
The CLI is not a separate API. It calls the same runAgentTask loop and reads the same entities the console renders. That means a workflow you build in the UI works identically from the CLI, and vice versa. There is no second source of truth.
The commands map to the primitives:
up <name> <desc>provisions a scoped agent with a fresh API key.run <id> <task> <prompt>routes a task through the model router and meters cost.audit [agentId]pulls the governance stream.
What we left out
There is no delete without a confirmation. There is no way to raise a spend cap from the CLI without an admin session. The CLI is powerful, but the destructive and budget-moving operations stay gated behind the console where we can show the full record. Speed matters; guardrails matter more.
