
# Operator
### Run Claude Code and Codex in parallel from any browser.
Operator is a web-based control room for coding agents. Every task gets a persistent agent
session in an isolated git worktree, so you can delegate across projects without juggling
terminals or mixing branches.
Run Operator on your own computer, self-host it on a server, or use the hosted version. A
deployed workspace is available from your computer, tablet, or phone.
[**Try hosted**](https://getoperator.dev) · [**Run locally**](#quick-start) · [**Self-host**](docs/SELF_HOSTING.md) · [**Docs**](#documentation) · [**Join Discord**](https://discord.gg/p4aaXvzJq2)
[](https://discord.gg/p4aaXvzJq2)
[](https://github.com/iishyfishyy/operator-oss/stargazers)
[](https://github.com/iishyfishyy/operator-oss/releases/latest)
[](LICENSE)

## One web workspace for every agent
- **Run tasks in parallel.** Each task has its own worktree, branch, transcript, and Claude
Code or Codex session.
- **Know where you are needed.** One cross-project inbox surfaces every session waiting for
your input while other agents keep working.
- **Keep context alive.** Save project knowledge once, persist transcripts across reloads,
and use `/clear` to start a fresh context window without losing the task lineage.
- **Review before you ship.** Inspect the diff beside the conversation, sync the branch,
resolve conflicts, merge, or open a pull request. Conflict banners track the live
resolution and disappear when no conflicts remain; accepting the merge stays explicit.
## Chain tasks into pipelines
Make a task depend on one or several earlier tasks. Work can branch into parallel paths,
then join again for final integration. Enable **Start when unblocked** and Operator launches
each task as soon as its last dependency finishes.
**Create tasks → connect dependencies → agents work in isolated branches → review and merge**
Suggested groups offer **Accept all** and **Start chain** in both list and board
views, with a numbered dependency preview. Start chain launches ready roots and
arms blocked tasks to start when their blockers are done.

## Run it your way
| | Best for | Access |
|---|---|---|
| **Local** | Using Operator on one machine with the least setup | `localhost` in your browser |
| **Self-hosted** | An always-on workspace on infrastructure you control | Any authorized browser or device |
| **Hosted** | An always-on workspace without managing a server | [getoperator.dev](https://getoperator.dev) from any browser or device |
Operator is a web app in all three modes. Running locally keeps the app and its data on your
machine. Deploying it makes the same control room reachable wherever you are, including on
mobile.