v1.20.64see what's new →

Comparison

agi-cli vs running agent CLIs by hand

The bare CLIs are the baseline everything else is measured against. agi-cli does not replace them — it spawns them. The question is what you maintain around them.

What running by hand does well

Zero abstraction. The native binary, the native flags, nothing between you and the agent, and no new tool to learn. It is local-first by definition, and cron plus tmux gets you scheduling and multiplexing without installing anything.

Where agi-cli differs

agents run claude spawns the installed Claude Code binary as a local subprocess — same interface, same flags. What changes is the state around the run, which by hand is shell glue you write and maintain yourself.

agents run claude "run the full test suite"

A repo pins exact agent versions in agents.yaml, the way .nvmrc pins Node, and agents check fails CI when an installed version drifts from the pin.

agents check    # exit 1 if anything drifted, 0 when clean

Every run writes a transcript to one indexed store, searchable across Claude, Codex, Gemini, and OpenCode — not scrollback in whichever terminal the run happened in.

agents sessions "stripe webhook signature" --all

Side by side

Capabilityagi-cliCLIs by hand
Local-first — no account, no hosted control planeyesyes
Run multiple agents from one placeby hand: one terminal per CLIyespartial
Distribute runs across machines over SSHby hand: your own ssh + tmux glueyespartial
Cron / scheduled routinesby hand: crontab entries you maintainyespartial
Pin versions per project (.nvmrc-style)yesno
Rotate across multiple accounts to dodge rate limitsyesno
Cross-agent session search & replayyesno
Parallel teams with DAG dependenciesyesno
Keychain-backed secrets (no .env files)yesno

Rows are the “Run CLIs by hand” column of the homepage comparison table. Partial means achievable with your own shell glue — ssh, tmux, crontab — maintained by you.

When by hand is the right call

One agent, one machine, one account: run it by hand. A harness is overhead until there is something to harness. agi-cli earns its install when a second agent, a second account, or a second machine shows up — and the pin, the rotation, and the session store stop being things you would have to script.

FAQ

What does agi-cli change about how my agent runs?

Nothing about the agent itself. agents run claude spawns the installed Claude Code binary as a local subprocess, so the interface and the flags are the ones you already know. agi-cli adds the layer around it: pins, accounts, sessions, secrets.

Why not just write shell scripts?

You can, and cron plus tmux covers part of it — scheduling and multiplexing. What scripts do not give you is a version pin that travels with the repo, a balanced strategy that skips rate-limited accounts, or one searchable transcript store across every agent.

When is running CLIs by hand enough?

One agent, one machine, one account: run it by hand. The harness earns its install when a second agent, a second account, or a second machine shows up.

Try it

curl -fsSL agi-cli.sh/install.sh | sh