agxagent cross

Run coding agents in parallel, one git worktree each.

agx starts Claude Code, Codex CLI, Gemini CLI, and OpenCode in isolated worktrees, then gives you a single terminal dashboard to monitor, resume, inspect, and clean up every session.

brew tap jedipunkz/agx && brew install agx
  • Homebrew
  • macOS & Linux
  • MIT licensed
agx dash

Features

Built for keeping many agents straight.

Each session is isolated by git, observable from one place, and cleaned up on its own.

Dashboard

Watch every session from one terminal

agx dash tracks running, waiting, successful, failed, and killed agents side by side. Open any session to read its log, or press d for a live unified diff of its worktree that refreshes while the agent works.

Agents

One workflow, four runners

Start Claude Code, Codex CLI, Gemini CLI, or OpenCode with the same command and pass runner-specific flags after --.

Isolation

A worktree per agent

Every session gets its own git worktree and agx/<id> branch, so parallel agents never touch each other or your main checkout.

Control

Resume, revisit, and kill

Reattach to a session by name or ID, drop into its worktree with a single command, or stop an agent that has gone astray.

Scripting

Composable from the shell

agx agent wait blocks until a session exits or pauses and forwards its exit code, so pipelines can chain on it and answer prompts with agx agent input.

Logs

Stream or dump output

Follow live output with logs -f while the daemon streams it, or dump the full log with ANSI escapes stripped.

Cleanup

Worktrees that tidy themselves

Finished sessions age out of the dashboard, and while agx dash is running it removes their worktrees in the background on the schedule you set in ~/.agx/agx.yaml.

Workflow

Six commands, start to cleanup.

The whole loop runs from the shell you are already in — no daemon to babysit, no per-agent terminal to keep open.

  1. Start inside a repository

    cd /path/to/repo && agx agent new

    agx detects the current git repository and branches an isolated worktree for the new agent.

  2. Pick a runner and a branch name

    agx agent new -a codex -n feat/foo

    Claude Code is the default. Use -a to choose another runner and -n to name the session and its branch.

  3. Open the dashboard

    agx dash

    Monitor status, search sessions, copy worktree paths, read logs, and watch a live diff of what each agent changed.

  4. Follow the output

    agx agent logs -f -n feat/foo

    Stream a session from any terminal. Drop -f to dump the whole log with ANSI escapes stripped.

  5. Block, then answer

    agx agent wait -n feat/foo && ./deploy.sh

    wait exits when the session ends or pauses, so scripts can chain on it. Answer a paused agent with agx agent input.

  6. Resume or remove

    agx agent resume -n feat/foo

    Reattach to earlier work, or run agx agent rm to drop a finished worktree, log, and state entry.

Session state, logs, and worktrees live under ~/.agx/. Dashboard theme, finished-session retention, and automatic worktree cleanup are configured in ~/.agx/agx.yaml.

Reference

The surface area, in full.

Nine commands and eight keys. Everything else is git.

Commands

agx agent new
Start an agent in a fresh worktree
agx agent resume
Reattach to a session by name or ID
agx agent list
List sessions with repo, status, and worktree
agx agent logs
Dump or follow a session log
agx agent cd
Open a shell in the session worktree
agx agent wait
Block until a session exits or pauses
agx agent input
Send input to a waiting agent
agx agent rm
Remove a finished worktree, log, and state
agx dash
Open the terminal dashboard

Dashboard keys

j / k
Move through the session list
enter
Open the selected session log
d
Live diff of the session worktree
/
Search sessions by ID or name
o
Toggle finished sessions
y
Copy cd <worktree-path>
K
Kill the selected agent
q
Quit the dashboard

Session status

  • runningActively processing
  • waitingIdle at a prompt
  • successExited with code 0
  • failedExited non-zero
  • killedTerminated by signal

Install

One command, then run it in any repository.

Homebrew on macOS and Linux. agx is MIT licensed and builds from source with Go.

brew tap jedipunkz/agx && brew install agx

Prefer a binary? Grab one from Releases, or read the documentation.