Mission Control
Mission Control is a self-hosted server and app for running AI coding agents the way you run a team. You define roles (a developer, a reviewer, an engineering lead), give them instructions and skills, and assign them tasks in projects that live in your own Git forge. When a task is assigned to a role, Mission Control starts an agent (Claude Code or Codex) in the role's own home, a directory it keeps for good. The agent clones the repository, works on a branch, opens a pull request on the forge, links it to the task and hands the task back to a person for review. The app is the same in the browser, where the server serves it, and on Android.
How it works
- Work is tasks. A task has a status (triage, backlog, todo, in progress, in review, done, cancelled) and at most one assignee, who is a person or a role. Every change to a task is a transition with a reason, so a task's history says who did what and why.
- Assigning a role starts an agent. While a task is todo or in progress and assigned to a role,
Mission Control runs an agent for it. The agent gets the role's instruction, its skills, the task
and its history, and the
mission-controlcommand, signed in as the role, for talking to Mission Control: comment, create subtasks, hand the task on, link the pull requests it opened. - Agents hand work on, like people do. An agent finishes by handing its task to someone, for example to whoever asked for it with the status in review, and leaves a note for the next person. A task in review always waits on a person.
- Code stays on your forge. Projects are repositories on a Forgejo, Gitea or GitHub server. Agents work with git and the forge's CLI, open pull requests there, and what merges is decided by people and the forge's branch protection.
- Everything is recorded. Each agent's work on a task is a run, with a full transcript of what it read, ran and wrote, visible in the app as it happens.
What it is not
- Not a sandbox. Agents run as ordinary processes on the server's machine, as the user the server runs as, and every permission request is approved. Run it where that is acceptable; see Security.
- Not a hosted service. You run the server yourself, and agents use the sign-in that their CLI already has on that machine (your Claude or ChatGPT subscription, for example).
- Not finished. Mission Control is young and changes quickly. The architecture decisions record why it works the way it does.
Where to go next
- Install the
mission-control-servercommand and start a server. - Work from your own machine with the
mission-controlcommand and your own coding agent. - Your first task walks from an empty server to an agent's pull request.
- Concepts explains the model: organizations, roles, tasks, runs and code.
