Show HN: Agents, run any coding agent on your subscription not API costs
agents-cli is an open-source command-line tool that lets you run multiple AI coding agents (Claude Code, Codex, Gemini, etc.) using your existing subscriptions instead of paying per API call. It offers version pinning, account rotation, pipeline chaining, scheduling, browser control, and cross-agent session search.
Run powerful agents at scale like never before.
$curl -fsSL agents-cli.sh/install.sh | sh
also available as ag.
Trusted by engineers at
Run any model through any CLI
Keep Claude Code's interface, swap in Kimi K2.5, MiniMax M2.5, GLM 5, Qwen3 Coder, or DeepSeek through OpenRouter. One key in your Keychain, every preset wired up. Run the model you want at the price you want. Run docs →
$ agents profiles add kimi $ agents run kimi "refactor the queue worker"
Rotate across accounts — never hit a usage limit
Have multiple Claude logins? --rotate picks the least-used one automatically. agents usage shows the rate-limit gauge per agent so you can plan ahead. One subscription, multiple windows, zero wasted quota. Rotation docs →
$ agents run claude --rotate "run the full test suite" $ agents usage
Chain agents in a pipeline
Unix pipe composition across different models. Each agent resolves to the project-pinned version, with the right skills and MCP servers already synced. Chain by strength, swap one for another, script them in CI — the interface stays the same. Pipe agents →
$ agents run claude "Find auth vulnerabilities in src/" \ | agents run codex "Fix the issues Claude found" \ | agents run gemini "Write regression tests for the fixes"
Pin versions per project
cd into the project and every agents call resolves to those versions automatically. Like .nvmrc, but for AI. Nobody else does this. Pin versions →
agents.yaml
agents: claude: "2.1.113" codex: "0.116.0"
Parallel agents, one command
DAG dependencies (--after), isolated worktrees per teammate, live status. Spawn five Claudes and two Codex on the same task, wind them down with agents teams disband. Works with every CLI agents supports: Teams docs →
Claude CodeCodexGeminiCursorOpenCodeCopilotAmpGoose
$ agents teams create pricing $ agents teams add pricing claude "rewrite endpoint" -n be $ agents teams add pricing codex "build route" -n fe $ agents teams add pricing claude "run tests" -n qa --after be,fe $ agents teams start pricing --watch
grep your AI history
Every transcript from every agent, indexed and searchable. Find that fix from Tuesday — doesn't matter which CLI wrote it. Replay as markdown, filter by project, stream live with sessions tail. Sessions docs →
$ agents sessions "stripe webhook signature" $ agents sessions a7f3e2c1 --markdown
Install once, sync everywhere
Skills, MCP servers, slash commands, hooks, permissions — installed once, synced to every active agent version. No more claude mcp add then codex mcp add then editing Gemini's config file by hand. Sync docs →
$ agents skills add gh:yourname/python-expert $ agents install mcp:com.notion/mcp $ agents commands add gh:yourname/commands
One config repo, every harness
~/.agents/ is the canonical config source. Write your commands as markdown, your rules as AGENTS.md, your hooks as scripts — and agents-cli syncs them into each harness's native format: markdown for Claude and Gemini, TOML for Codex, .cursorrules for Cursor. Bring your own via agents repo push. Config docs →
$ tree ~/.agents ~/.agents/ ├── commands/ # slash commands ├── skills/ # reusable knowledge packs ├── mcp/ # MCP server definitions ├── hooks/ # lifecycle hooks ├── memory/ # agent instructions (AGENTS.md) └── permissions/
Layers compound — system, you, team, project
Resources stack in four layers: system defaults, your ~/.agents/, a team's shared .agents/ repo (public or private), and the project's own ./.agents/. Spawn an agent — it sees the merged surface. Project overrides team, team overrides you, you override system. How layering works →
merged at spawn time, highest layer wins
▒ system built-in skills + commands ▒ you ~/.agents/ # personal ▒ team ~/.agents/teams/acme/ # shared ▒ project ./.agents/ # repo-local
$ agents resources --merged
A browser your agents can drive
Full Chrome DevTools Protocol — navigate, click, type, screenshot, read console + network, record video. Hook it into any agent run. Replaces a cloud browser service with a local one you already have logged in. Browser docs →
$ agents browser start work $ agents browser navigate https://example.com $ agents browser click ref_3 $ agents browser screenshot $ agents browser console
Schedule agents on a cron
Recurring background work, plus one-shot --at "14:30". Scheduler auto-starts on first add. Standups, weekly digests, nightly audits — your agents working while you sleep. Schedule docs →
$ agents routines add standup \ --schedule "0 9 * * 1-5" \ --agent claude \ --prompt "Draft a standup from yesterday's git log"
Keychain-backed secrets
No plaintext .env files, no leaked tokens in shell history. Bundles live in macOS Keychain, iCloud-synced across your machines, injected as env vars only at run time. Secrets docs →
$ agents secrets create prod $ agents secrets add prod STRIPE_API_KEY $ agents run claude "deploy the worker" --secrets prod
Why
You use multiple coding agents and their configs drift
You want a skill, MCP server, or slash command installed everywhere at once
You want to pin agent versions per project like .nvmrc
You want to chain agents in scripts, CI, or cron jobs
You want it open, local, and yours — not a cloud SaaS
vs every other way to run agents
Most tools give you one piece. agents gives you all of them.
Capabilityagents-cliClaude Code aloneCursorRun CLIs by handOpenCode
Pin versions per project (.nvmrc-style)✓————
Run multiple agents (Claude + Codex + Gemini) from one CLI✓——~—
Swap underlying model (Kimi, GLM, DeepSeek via OpenRouter)✓—~—✓
Rotate across multiple accounts to dodge rate limits✓————
Parallel teams with DAG dependencies✓————
Local browser via CDP (drive any site)✓————
Cross-agent session search & replay✓~——~
Cron / scheduled routines✓——~—
Keychain-backed secrets (no .env files)✓————
Sync skills/MCP/commands across all installed agents✓~——~
100% local, open-source, no cloud SaaS✓——✓✓
Pin versions per project (.nvmrc-style)
agents-cli✓
Claude Code alone—
Cursor—
Run CLIs by hand—
OpenCode—
Run multiple agents (Claude + Codex + Gemini) from one CLI
agents-cli✓
Claude Code alone—
Cursor—
Run CLIs by hand~
OpenCode—
Swap underlying model (Kimi, GLM, DeepSeek via OpenRouter)
agents-cli✓
Claude Code alone—
Cursor~
Run CLIs by hand—
OpenCode✓
Rotate across multiple accounts to dodge rate limits
agents-cli✓
Claude Code alone—
Cursor—
Run CLIs by hand—
OpenCode—
Parallel teams with DAG dependencies
agents-cli✓
Claude Code alone—
Cursor—
Run CLIs by hand—
OpenCode—
Local browser via CDP (drive any site)
agents-cli✓
Claude Code alone—
Cursor—
Run CLIs by hand—
OpenCode—
Cross-agent session search & replay
agents-cli✓
Claude Code alone~
Cursor—
Run CLIs by hand—
OpenCode~
Cron / scheduled routines
agents-cli✓
Claude Code alone—
Cursor—
Run CLIs by hand~
OpenCode—
Keychain-backed secrets (no .env files)
agents-cli✓
Claude Code alone—
Cursor—
Run CLIs by hand—
OpenCode—
Sync skills/MCP/commands across all installed agents
agents-cli✓
Claude Code alone~
Cursor—
Run CLIs by hand—
OpenCode~
100% local, open-source, no cloud SaaS
agents-cli✓
Claude Code alone—
Cursor—
Run CLIs by hand✓
OpenCode✓
Supported agents
Claude CodeCodexGeminiCursorOpenCodeOpenClawCopilotAmpKiroGooseRoo
Install
via curl
$ curl -fsSL agents-cli.sh | sh
via bun
$ bun install -g @phnx-labs/agents-cli
via npm
$ npm install -g @phnx-labs/agents-cli
Part of the open stack for AI coding agents. Cloud runner coming.