Open-source task management for the agentic era.
The command center for solo entrepreneurs who delegate work to AI agents.
AI coding agents (Claude Code, Cursor, Windsurf) are powerful executors β but managing multiple agents across multiple projects is chaos. There's no shared task board, no inbox, no way to see who's working on what or whether they finished.
Mission Control gives your AI agents structure. Agents get roles, inboxes, and reporting protocols. You delegate work through a visual dashboard, they execute and report back. You stay in control without micromanaging.
|
Prioritize Eisenhower matrix tells you what matters. Drag-and-drop tasks between Do, Schedule, Delegate, and Eliminate. |
Delegate Assign tasks to AI agents. They get notified, pick up work, and post completion reports to your inbox. |
Supervise Dashboard, inbox, decisions queue. See every agent's workload, read their reports, answer their questions. |
How is this different from Linear, Asana, or Notion? Mission Control was built agent-first. Agents read and write tasks through a token-optimized API, report progress to your inbox, and ask you for decisions. You manage outcomes, not keystrokes. And it runs locally β no cloud dependency, no API keys, no vendor lock-in.
- Eisenhower Matrix β Prioritize by importance and urgency with drag-and-drop between quadrants
- Kanban Board β Track work through Not Started, In Progress, and Done columns
- Goal Hierarchy β Long-term goals with milestone tracking, progress bars, and linked tasks
- Brain Dump β Capture ideas instantly, triage into tasks later
- Agent Crew β 5 built-in agents + create unlimited custom agents with unique instructions
- Skills Library β Define reusable knowledge modules and inject them into agent prompts
- Multi-Agent Tasks β Assign a lead agent + collaborators for team-based work
- Orchestrator β Run
/orchestrateto spawn all agents on pending work simultaneously - Autonomous Daemon β Background process that automatically polls tasks, spawns Claude Code sessions, enforces concurrency, and provides a real-time dashboard
- One-Click Execution β Press play on any task card to spawn a Claude Code session; live status indicators, success/failure toasts, and automatic completion (task β done, inbox report, activity log)
- Session Resilience β Agents that timeout or hit max turns automatically re-spawn continuation sessions, preserving progress in task notes and subtasks. Configurable max continuations per task and per inbox response
- Cost & Usage Tracking β Captures cost and full token usage (input, output, cache read, cache creation) from every Claude Code session; displayed on the Autopilot dashboard with per-task cost breakdown and running totals
- Failure Logging β Failed tasks generate
task_failedactivity events with error details, session count, and agent info. Failure reports are automatically posted to your inbox - Inbox Stop Button β Stop an agent mid-response with a single click; kills the process tree and prevents continuation chains from spawning
- Continuous Missions β Run an entire project with one click; tasks auto-dispatch as others complete, respect dependency chains, and skip decision-blocked work. Real-time progress bar with stop button
- Loop Detection β Auto-detects agents stuck in failure loops; after 3 attempts, escalates to a user decision with options to retry differently, skip, or stop
- Token-Optimized API β Filtered queries, sparse field selection, 92% context compression (~50 tokens vs ~5,400)
- Inbox & Decisions β Full agent communication layer: delegation, reports, questions, and approvals
- Cmd+K Search β Global search across tasks, projects, goals, and brain dump entries
- Error Resilience β Error boundaries on every page with retry buttons, plus global error handler for crash recovery
- API Pagination β All 9 GET endpoints support
limitandoffsetwith ametaobject (total, filtered, returned) - 193 Automated Tests β Vitest suite covering validation schemas, data layer operations, and full agent communication flow
- Skills Injection β Skills from the library are embedded into agent command files bidirectionally (agentβskill and skillβagent)
- Accessibility β ARIA live regions for drag-and-drop screen reader announcements, focus trapping on detail panels
- CI Pipeline β GitHub Actions runs typecheck, lint, build, and tests on every push and PR
| Requirement | Why | Install |
|---|---|---|
| Node.js v20+ | Runtime | nodejs.org |
| pnpm v9+ | Package manager | npm install -g pnpm |
| Claude Code (recommended) | Agent automation (Launch button, daemon, slash commands) | npm install -g @anthropic-ai/claude-code |
The web UI works standalone for task management, prioritization, and goal tracking. Claude Code is needed to execute tasks via agents. Any AI coding tool that can access local files (Cursor, Windsurf, etc.) can also participate β see Works With below.
git clone https://github.com/MeisnerDan/mission-control.git
cd mission-control/mission-control # repo folder β app folder (where package.json lives)
pnpm install
pnpm devOpen http://localhost:3000 and click "Load Demo Data" to see it in action with sample tasks, agents, and messages.
- Explore the dashboard β see task counts, agent workloads, and recent activity at a glance
- Drag tasks on the Priority Matrix β move tasks between Do, Schedule, Delegate, and Eliminate
- Click a task card to open the detail panel β edit description, subtasks, and acceptance criteria
- Click the π Launch button on a task assigned to an agent β spawns a Claude Code session that executes the work (requires Claude Code)
- Open Claude Code in this workspace and run
/daily-planto see slash commands in action
Mission Control stores all data in local JSON files. No database, no cloud dependency. AI agents interact by reading and writing these files β the same source of truth the web UI uses.
1. You create a task ββ> Assign to an agent role (e.g., Researcher)
2. Press play (or daemon) ββ> Spawns a Claude Code session with agent persona
3. Agent executes ββ> Does the work, updates progress
4. Mission Control completes ββ> Auto-marks done, posts report, logs activity
5. You review ββ> Read reports in inbox, answer questions
Multiple agents can work in parallel across different tasks. Continuous missions take this further β click the rocket button on a project to run all tasks until done. As each task completes, the next batch auto-dispatches, respecting dependency chains and concurrency limits. If an agent gets stuck, loop detection escalates to you after 3 failures. The daemon (pnpm daemon:start) adds 24/7 background automation, polling for new tasks and running scheduled commands on cron schedules.
Mission Control includes 193 automated tests across 3 suites:
pnpm test # Run all tests
pnpm check # Typecheck + lint
pnpm verify # Full verification: typecheck + lint + build + test| Suite | Tests | Covers |
|---|---|---|
| Validation | 90 | All 17 Zod schemas β field defaults, constraints, edge cases |
| Daemon | 42 | Security (credential scrubbing, path validation, binary whitelist), config loading, prompt builder, types |
| Data Layer | 19 | Read/write operations, file I/O, mutex safety, archive |
| Agent Flow | 17 | End-to-end: task creation β delegation β inbox β decisions β activity log |
| Security | 25 | API auth, rate limiting, token/origin validation, CSRF protection |
Every API endpoint is designed for minimal token consumption. Your agents spend tokens doing work, not parsing bloated payloads.
# Get only your in-progress tasks (~50 tokens vs ~5,400 for everything)
GET /api/tasks?assignedTo=developer&kanban=in-progress
# Sparse fields β return only what you need
GET /api/tasks?fields=id,title,kanban
# Get just the DO quadrant (important + urgent)
GET /api/tasks?quadrant=do
# Paginated results with metadata
GET /api/tasks?limit=10&offset=0
# β { data: [...], meta: { total: 47, filtered: 47, returned: 10, limit: 10, offset: 0 } }
# Compressed context β entire workspace state in ~650 tokens
# (vs ~10,000+ for raw JSON files)
pnpm gen:context # outputs data/ai-context.md# Run a single task β spawns a Claude Code session
POST /api/tasks/:id/run
# Run all eligible tasks in a project as a continuous mission
POST /api/projects/:id/run
# Stop a running mission (kills all processes, resets tasks)
POST /api/projects/:id/stop
# Stop a single running task
POST /api/tasks/:id/stop
# Get live status of all active runs
GET /api/runs
# Get mission status (with auto-reconciliation of stuck missions)
GET /api/missions
# Check status of inbox auto-respond sessions
GET /api/inbox/respond/status?messageId=msg_123
# Stop an active inbox auto-respond chain
POST /api/inbox/respond/stopAll write endpoints use Zod validation (malformed data returns field-level errors) and async-mutex locking (concurrent writes from multiple agents queue safely, never corrupt data).
| Role | Handles | Assign when... |
|---|---|---|
| Me | Decisions, approvals, creative direction | Requires human judgment |
| Researcher | Market research, competitive analysis, evaluation | Needs investigation |
| Developer | Code, bug fixes, testing, deployment | Technical implementation |
| Marketer | Copy, growth strategy, content, SEO | Marketing/content work |
| Business Analyst | Strategy, planning, prioritization, financials | Analysis/strategy work |
| + Custom | Anything you define | Create via /crew/new with custom instructions |
Agents are fully editable β change their name, instructions, capabilities, and linked skills at any time through the Crew UI or by editing data/agents.json directly.
Run these in any Claude Code session opened in this workspace:
| Command | Purpose |
|---|---|
/standup |
Daily standup from git + tasks + inbox + activity |
/daily-plan |
Top priorities + inbox check + decisions + brain dump triage |
/weekly-review |
Accomplishments + goal progress + stale items |
/orchestrate |
Coordinate all agents β spawn sub-agents for pending tasks |
/brainstorm |
Generate creative ideas on a topic |
/research |
Web research with structured markdown output |
/plan-feature |
Break a feature into tasks + create milestone |
/ship-feature |
Test, lint, commit + update task status + post report |
/pick-up-work |
Check inbox for new assignments, pick highest priority |
/report |
Post a status update or completion report |
/researcher |
Activate researcher agent persona |
/marketer |
Activate marketer agent persona |
/business-analyst |
Activate business analyst persona |
pnpm daemon:start # Start the autonomous daemon (background process)
pnpm daemon:stop # Stop the daemon gracefully
pnpm daemon:status # Show daemon status, active sessions, and statsThe daemon runs as a background Node.js process, polling tasks.json for pending work and spawning Claude Code sessions via claude -p. It enforces concurrency limits, retries failed tasks, and runs scheduled commands (daily-plan, standup, weekly-review) on cron schedules. Monitor everything from the /daemon dashboard.
Note on authentication: The daemon spawns Claude Code directly via
claude -pβ it does not extract or transmit OAuth tokens, make raw API calls, or use the Agent SDK. Your Claude account credentials stay within Claude Code's own authentication layer, the same as runningclaude -pfrom your terminal. This is local automation of an official Anthropic product, not a third-party integration.
mission-control/ Next.js 15 web app (the visual interface)
mission-control/data/ JSON data files (the shared source of truth)
tasks.json Tasks with Eisenhower + Kanban + agent assignment
goals.json Long-term goals and milestones
projects.json Projects with team members
agents.json Agent registry (profiles, instructions, capabilities)
skills-library.json Reusable knowledge modules for agents
inbox.json Agent <-> human messages and reports
decisions.json Pending decisions requiring human judgment
activity-log.json Timestamped event log of all activity
ai-context.md Generated ~650-token workspace snapshot
daemon-config.json Daemon configuration (schedule, concurrency, etc.)
daemon-status.json Daemon runtime state (sessions, history, stats)
missions.json Continuous mission state (progress, history, loop detection)
active-runs.json Live task execution tracking (status, PIDs, errors)
respond-runs.json Inbox auto-respond chain tracking (status, PIDs, cost)
mission-control/scripts/daemon/ Autonomous agent daemon (node-cron + claude -p)
mission-control/__tests__/ Automated tests (validation, data, integration, daemon)
.claude/commands/ Auto-generated slash commands per agent
scripts/ Orchestration scripts (tmux parallel agents)
docs/ Business plans and strategies
- Local-first β No database, no cloud, no API keys. Your data stays on your machine in plain JSON files.
- JSON as IPC β Humans (web UI) and agents (file reads + API) share the same source of truth. No sync layer needed.
- BYOAI β Works with any agent that can read files: Claude Code, Cursor, Windsurf, or a custom script.
- Zod + Mutex β All API writes are validated with Zod schemas and serialized with async-mutex to prevent data corruption during concurrent multi-agent operations.
Mission Control runs locally and integrates with AI coding tools through the filesystem and CLI:
- Claude Code β Open this workspace in Claude Code to use slash commands (
/orchestrate,/daily-plan,/standup, etc.) and let agents read/write task data directly. - Claude Cowork β Cowork agents can use Mission Control as a tool by reading the workspace's
CLAUDE.mdand JSON data files directly β no special plugin required. - Any file-aware agent β Cursor, Windsurf, or custom scripts can read the JSON data files and call the API endpoints to participate in the agent loop.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| Language | TypeScript (strict mode) |
| Styling | Tailwind CSS v4 |
| Components | shadcn/ui + Radix UI |
| Drag & Drop | @dnd-kit |
| Validation | Zod |
| Search | cmdk |
| Testing | Vitest |
| Storage | Local JSON files (no database required) |
- Screenshots and demo GIF for README
- One-click task execution with live status
- Continuous Missions (run entire projects)
- Loop detection with automatic escalation
- Session resilience (auto-continuing agents)
- Cost & usage tracking
- Cloud sync + hosted daemon (access from anywhere, always-on agent execution)
- Docker support for one-command setup
- GitHub Issues sync (import issues as MC tasks)
- Mobile-friendly PWA version
- Dashboard analytics (velocity charts, burndown, agent utilization)
- Plugin system for custom integrations
Interested in cloud sync? Join the waitlist to get early access when it ships.
See open issues for community-requested features and to vote on what matters most.
Contributions are welcome! Whether it's bug fixes, new agent integrations, UX improvements, or documentation.
- Fork the repo
- Create a feature branch
- Run
pnpm verifyβ typecheck, lint, build, and tests must all pass - Submit a PR
See CONTRIBUTING.md for detailed guidelines, code conventions, and architecture notes.
This is a personal project I built to organize my own work and shared because others might find it useful. It is provided as-is with no warranties, guarantees, or promises of support. Use it at your own risk. See the LICENSE file for full terms.
Mission Control is not affiliated with or endorsed by Anthropic. It automates Claude Code (an official Anthropic product) via the claude -p CLI β it does not access the Anthropic API directly or use the Agent SDK.
MIT β use it however you want.
Built for the agentic era. Your AI agents have a boss now.




