Before diving into features, it helps to have a firm grasp of the five core concepts that everything else is built on: tasks, agents, the gateway, dispatch, and SSE streaming.
A task is the fundamental unit of work in Mission Control. It captures what needs to be done — a description, optional file context, priority, tags, and current status. Tasks move through a lifecycle: pending → in_progress → completed (or failed).
Tasks are stored persistently in SQLite. This means they survive restarts and can be referenced, reopened, or cloned long after the original work is finished.
An agent is an AI coding tool capable of receiving and executing tasks. Mission Control currently supports Claude Code, Codex CLI, and Gemini CLI as agent types. Each agent has a configuration profile that includes its provider, any API credentials it needs, and the working directory it operates in.
Agents connect to Mission Control and register themselves as available. Mission Control then knows which agents are online and ready to receive dispatched work.
The gateway is the communication layer between Mission Control and its agents. Mission Control uses the OpenClaw Gateway protocol, which standardizes how tasks are sent to agents and how agents report back.
Think of the gateway as the postal system — Mission Control writes the letter (task), addresses it to the right agent, and the gateway ensures it arrives and that replies find their way back.
Dispatch is the act of sending a task to a specific agent. When you dispatch, Mission Control packages the task context, authentication tokens, and any planning output, then forwards the bundle through the gateway. The task status changes to in_progress and activity events start flowing immediately.
Dispatch can be triggered manually from the dashboard or programmatically via the REST API.
SSE is how Mission Control streams real-time updates from agents back to the dashboard without requiring constant polling. When an agent is working, it pushes activity events — log lines, status changes, intermediate results — over an SSE connection that your browser holds open.
This is why the Activity Dashboard feels live: the server pushes updates as they happen, giving you an accurate picture of agent progress at any moment.