Connect any agent from any provider — Claude Code, Gemini CLI, Codex CLI, GitHub Copilot, and more. You pick the agent, not the app.
irm https://sjroesink.github.io/OpenAgentManager/install.ps1 | iex
curl -fsSL https://sjroesink.github.io/OpenAgentManager/install.sh | sh
Open source · MIT License · No account required
Install channel:
OAM_CHANNEL=stable (default) or OAM_CHANNEL=preview
Everything you need to run, review, and manage AI coding agents in one desktop app.
Connect any ACP-compatible agent — Claude Code, Gemini CLI, Codex CLI, GitHub Copilot, Junie, Kimi, Mistral Vibe, and more.
Browse, search, and install agents from the central ACP Registry with one click.
Supports npx, uvx, and binary agent distributions with platform-aware setup.
Run multiple agents across multiple threads and tasks in parallel.
Optionally isolate each thread on its own branch and working directory so parallel tasks never collide.
See text, thinking blocks, and tool calls stream live while the agent works.
Inspect file-level changes with inline diffs and a full diff view before accepting changes.
Send commit requests directly from the UI once there are pending file changes.
Approve or deny sensitive agent actions like file writes and command execution.
Run and verify changes in a per-session terminal without leaving the app.
Organize projects across multiple workspaces and route sessions to the right repository.
Configure per-agent API keys, worktree behavior, and application theme preferences.
ATSF v1.1 is an open, filesystem-based conversation format: agent-agnostic, tool-agnostic, resumable, and git-friendly.
project/ .agent/ config.json # project-level agent config .gitignore # default ignore rules threads/ <thread-id>/ thread.json # metadata envelope messages.jsonl # append-only message log assets/ # binary content (images) worktrees/thread-abc123/ # if using git worktrees .agent/threads/<thread-id>/... # worktree-local thread data
ATSF uses MAJOR.MINOR versioning. v1.1 adds backward-compatible hooks and worktree guidance without breaking existing readers.
Implementations should reject newer unsupported MAJOR versions and preserve unknown fields when round-tripping.
When a thread runs inside a git worktree, its .agent data is stored in that worktree so code and conversation stay together.
Tools should scan both the main project .agent and known worktree .agent locations.
Project defaults can define agent preferences plus worktree hooks: symlinks, post-setup commands, and an initial prompt.
Hook failures are non-fatal and must not block session creation.
thread.json stores metadata for fast listing; messages.jsonl stores append-only user/agent/system messages with typed blocks.
Tool calls, token usage, stop reasons, and image asset references are first-class fields.
Writers should lock when appending to messages.jsonl and write thread.json atomically via temp-file rename.
Unknown fields and content types should be preserved for cross-tool compatibility.
A glimpse of OpenAgentManager in use.
If OpenAgentManager saved you time or made your workflow better, consider sponsoring on GitHub. Totally optional, always appreciated.
Sponsor on GitHub