| name | agency |
| description | Use Agency CLI to run parallel AI coding tasks in isolated Git worktrees. Invoke when user mentions "agency", "ag", parallel tasks, worktrees, or wants to run multiple coding agents simultaneously. |
Agency CLI
Agency is a command-line AI agent orchestrator that runs coding agents in isolated Git worktrees with tmux-managed sessions.
Essential Commands
Create and Start a Task
agency new <slug>
ag new <slug>
agency new <slug> -e
agency new <slug> -f spec.pdf
agency new <slug> -f a.png -f b.pdf
agency new <slug> <<'EOF'
Your task description here.
Can span multiple lines without escaping issues.
EOF
Create a Draft (No Session Yet)
agency new --draft <slug>
agency start <slug>
Note: The "" should only contain alphanumerical characters and "-". You can keep it relatively short.
List Tasks
agency tasks
ag tasks
Output columns: ID, SLUG, STATUS, UNCOMMITTED, COMMITS, BASE, AGENT
Status codes:
- Draft - Task file exists but not started (no worktree or session created yet)
- Stopped - Worktree exists but session is not running (can be restarted with
agency start)
- Running - Agent is actively processing/generating output
- Idle - Session exists but agent is waiting for input (task may be complete or paused)
- Exited - Session has terminated (agent finished or crashed)
Merge and Cleanup
agency merge <slug>
This command:
- Rebases task branch onto base branch
- Fast-forward merges into base
- Deletes the worktree
- Deletes the task branch
- Removes the task file
Stop Without Merging
agency stop <slug>
Delete a Task
agency rm --yes <slug>
agency reset <slug>
Use rm when you want to completely delete a task without merging changes. Use reset if you want to start over but keep the task description.
Attach Files to Tasks
Files can be attached to a task to provide additional context.
agency new <slug> -f path/to/file.pdf
agency files add <slug> path/to/file
agency files add <slug> --from-clipboard
agency files list <slug>
agency files rm <slug> <file-id>
agency info
When files are attached, agents can run agency info to get the context. Files are accessible insie task worktrees via .agency/local/files/.
You SHOULD attach files when:
- The user mentions relevant files associated with the task
- You have created plans, specifications, or design documents that are not committed to the repository
- There are screenshots, diagrams, or reference materials relevant to the task
- The task requires context that exists outside the codebase
Example: If you created a markdown plan and want to delegate work to multiple agency tasks, attach that plan to each task so the spawned agents have the full context.
When to Use Parallel Tasks
Only run tasks in parallel if they are truly independent. Tasks that modify the same files or depend on each other's output will cause merge conflicts or broken code.
Good candidates for parallel tasks:
- Features in completely separate parts of the codebase
- Independent bug fixes in different modules
- Adding tests for unrelated functionality
Do NOT run in parallel:
- Task B depends on Task A's output (run sequentially instead)
- Tasks that modify the same files or modules
- Refactoring that touches shared code
When in doubt, run tasks sequentially. Merge conflicts are painful to resolve and waste more time than running tasks one after another.
Quick Workflow Example
agency new --draft feature-auth <<'EOF'
Implement user authentication
EOF
agency new --draft feature-api <<'EOF'
Build REST API endpoints
EOF
agency new --draft fix-tests <<'EOF'
Fix failing unit tests
EOF
agency start --no-attach feature-auth
agency start --no-attach feature-api
agency start --no-attach fix-tests
agency new --no-attach feature-auth <<'EOF'
Implement user authentication
EOF
agency new --no-attach feature-api <<'EOF'
Build REST API endpoints
EOF
agency new --no-attach fix-tests <<'EOF'
Fix failing unit tests
EOF
agency tasks
agency merge feature-auth
Sandboxing
CRITICAL: ALL agency commands MUST be run outside the sandbox.
If you are running in a sandbox you will get errors like run/agency-tmux.sock (Operation not permitted).
IMPORTANT: Despite the error message, this is not because the daemon is not started. It is because the sandbox cannot access the tmux socket file. You MUST run ALL agency commands outside the sandbox:
- agency new ...
- agency start ...
- agency stop ...
- agency tasks ...
- agency merge ...
- agency rm ...
- agency reset ...
- ALL other agency commands
More Information
Run agency --help for the full command reference.