OA

Config-driven multi-agent CLI

v0.13.0

One interface for Claude, Codex, OpenCode, Pi, and any future agent. Normalized output, portable threads, zero code to add a backend.

$brew install 1broseidon/tap/oa

Features

06 Modules
001

Normalized Output

Every backend returns the same JSON shape. Stream events, parse results, switch models — your code never changes.

002

Portable Threads

Start a conversation on Claude, continue on Codex, summarize on Pi. Thread history follows across backends, with file locking for concurrent access.

003

Zero-Code Backends

Adding a new agent is a JSON config edit. Define the CLI command, map the output fields, done. No SDK, no code changes.

004

Pipes & Chains

Pipe content into any agent as context. Chain agents sequentially with && and shared threads for multi-step workflows.

005

Hooks

Pre and post-run hooks at three layers: Go callbacks, per-backend config, and CLI flags. Set up worktrees, notify Slack, audit log — all composable.

006

Agent-as-Tool

Dispatch work from one agent to another. Run oa from inside Claude Code, a cron job, or a CI pipeline. Includes an installable agent skill.

Quick Start

# Talk to any agent, same interface
oa "explain this codebase"
oa -b codex "fix the auth bug"

# Pipe content as context
git diff | oa -b claude "review these changes"

# Chain agents with shared threads
oa -b codex -t feat "implement the feature" && \
oa -b claude -t feat "review and fix issues" && \
git diff | oa -b claude "write a changelog entry"

# Hooks for notifications, setup, teardown
oa -b codex --post-run 'notify-send "oa" "Done: $(head -c 100)"' "fix the bug"