Team command center for all things agentic.
Agor is a self-hosted, multiplayer-ready web workspace for running coding agents — Claude Code, Codex, Gemini, and others — on isolated git branches. Each branch is a first-class git working directory with its own dev environment and conversation history. Agents run in the browser instead of a terminal, with per-prompt token and cost accounting, structured tool output, and an MCP endpoint agents can drive themselves. Run it solo in a few minutes; turn on multiplayer and Unix-level isolation when you bring your team.
Documentation · Quick Start · Architecture · Contributing
Agor ships no model of its own. It drives the coding-agent CLIs and SDKs you already run, interchangeable per session — bring your own provider and subscription, no vendor lock-in. Compare the harnesses →
The board: branches as cards, zones as regions, agent sessions, and — optionally — teammates present live.
▶ Watch the unscripted demo on YouTube (13 min)
- Branches as the anchor — every piece of work is a git branch with its own working directory, dev environment, conversation history, and PR. One entity to point at.
- Isolated dev environments — a one-click dev server per branch, with ports auto-assigned so parallel branches never collide.
- Multi-runtime — Claude Code, Codex, Gemini, OpenCode, Copilot, and Cursor (beta) are interchangeable per session. Bring your own provider; no vendor lock-in.
- Rich session UI — per-prompt token and dollar accounting, structured tool blocks, model/effort selectors, completion chimes. The terminal experience, in the browser.
- MCP-native — Agor exposes itself over MCP; sessions are auto-issued a token, so agents fork, spawn, schedule, and report on their own work.
- Long-lived assistants — persistent coworkers, each with a Knowledge-base namespace for durable, searchable memory, plus skills and schedules. They collaborate with the team and with each other, beyond one-off sessions.
- Multiplayer when you want it — live cursors, comments, and shared sessions/environments for your team. Optional; works fine solo.
- Governance & observability — branch-scoped RBAC and ACLs, per-user credentials and env vars, and per-prompt token + dollar accounting with full, durable history across every session.
- Self-hosted, with real isolation — your repos, your DB (LibSQL or Postgres), and progressive
Unix isolation modes (
simple→insulated→strict). BSL 1.1.
Requires Node.js ≥ 22.12 (install).
npm install -g agor-live
agor init # creates ~/.agor/ and the database
agor daemon start # runs the daemon in the background
agor open # opens the web UIThat's it — add a repo and create your first session from the onboarding wizard.
Prefer Homebrew? See the Getting Started guide for the brew path. For Docker, source builds, Postgres, and team setups, see Extended Installation.
Agor is built on three foundational entities — everything else builds on these:
- Branches — the unit of work. A first-class git working directory on its own branch, with an isolated dev environment and its own conversations. Conventionally 1 branch = 1 feature/PR.
- Sessions & Trees — agent conversations with genealogy. Fork to explore alternatives (copies context), spawn subsessions for focused subtasks (fresh context window).
- Boards & Zones — a Figma-like 2D canvas of branches. Drop a branch into a zone to fire a templated prompt.
| Assistants | Long-lived AI coworkers, each with its own Knowledge-base namespace for durable, semantically searchable memory — shared with the team and able to collaborate with other assistants. Taught conversationally, then equipped with skills, MCP tools, gateway channels, and schedules. |
| Agor MCP Server | Agor exposes itself over MCP. Agents introspect sessions, branches, and boards, and drive the system themselves. |
| Multiplayer & Social | Live cursors, facepiles, spatial comments, and a shared multiplayer terminal. |
| Rich Chat UX | Per-prompt token + dollar accounting, model/effort selectors, structured tool blocks, completion chimes. |
| Environments | One-click dev servers per branch with auto-managed unique ports — no more port fights. |
| Security & RBAC | Branch-scoped permission tiers (ACLs), per-user credentials and env vars, and progressive Unix isolation (simple / insulated / strict). |
| Knowledge | A shared, searchable markdown knowledge base — one place for decisions, runbooks, prompts, and agent memory. |
| Scheduler | Cron-style triggers for templated prompts. Powers assistant heartbeats, standups, and automated audits. |
| Message Gateway | Slack and GitHub as portals into Agor sessions. |
| Artifacts | Live, interactive apps (dashboards, mockups, tools) rendered directly on the board. |
| Cards (Beta) | Generic workflow entities for non-code workflows. |
graph TB
subgraph Clients
CLI["CLI (oclif)"]
UI["Web UI (React)"]
end
Client["Feathers Client<br/>REST + WebSocket"]
subgraph "Agor Daemon"
Feathers["FeathersJS Server"]
MCP["MCP HTTP Endpoint<br/>/mcp?sessionToken=..."]
Services["Services<br/>Sessions, Tasks, Messages<br/>Boards, Branches, Repos"]
ORM["Drizzle ORM"]
end
subgraph Executor["Executor (process-isolated)"]
AgentSDKs["Agent SDKs<br/>Claude · Codex · Gemini · OpenCode"]
end
subgraph Storage
DB[("LibSQL / Postgres<br/>~/.agor/agor.db")]
Git["Git Branches<br/>~/.agor/worktrees/"]
Config["Config<br/>~/.agor/config.yaml"]
end
CLI --> Client
UI --> Client
Client <-->|REST + WebSocket| Feathers
Feathers --> Services
Feathers --> MCP
MCP --> Services
Services --> ORM
Services --> Executor
Executor -.->|JSON-RPC 2.0| MCP
ORM --> DB
Services --> Git
Services --> Config
The daemon (apps/agor-daemon, FeathersJS) owns the database, services, WebSocket events, and
the MCP HTTP endpoint. The executor (packages/executor) is a process-isolated runtime that
spawns agents via their SDKs and can run as a separate Unix user. Shared types, the Drizzle schema,
and git utilities live in @agor/core (packages/core).
agor/
├── apps/
│ ├── agor-daemon/ # FeathersJS backend (REST + WebSocket + MCP)
│ ├── agor-ui/ # React UI (Ant Design + React Flow)
│ ├── agor-cli/ # oclif CLI
│ └── agor-docs/ # Docs site (Nextra) — canonical reference, published at agor.live
├── packages/
│ ├── core/ # @agor/core — types, db (Drizzle), git, api
│ └── executor/ # Process-isolated agent runtime
└── context/ # Agent-oriented cheat sheets and design docs
The fastest path to a running dev instance from source:
git clone https://github.com/preset-io/agor
cd agor
docker compose up
# Visit http://localhost:5173 → login: admin@agor.live / adminPrefer running locally without Docker? The two-process workflow (daemon in watch mode + UI dev
server) and the .agor.yml variants (sqlite / postgres / full / docs) are documented in the
Development Guide. It also covers running Agor inside Agor
for dogfooding.
See CONTRIBUTING.md for the contribution workflow, and CLAUDE.md for the agent-oriented map of the codebase.
- Discord — support and discussion
- GitHub Discussions — questions and ideas
- GitHub Issues — bugs and feature requests
Heavily prompted by @mistercrunch (Preset, Apache Superset, Apache Airflow), built by an army of Claudes and Codexes.
Read more: Agor Cloud — opening a private beta · Agent Modeling 101 · Raise a team helper agent in an afternoon · all posts →







