← Back to all projects
Complete Created 2026-03-25 0/7 tasks

Mission Control Remote Access Guide

For: Cole Gorringe


Overview

Mission Control is now accessible remotely from anywhere! You can:

  • ✅ Submit tasks from your iPhone/laptop
  • ✅ Monitor session status in real-time
  • ✅ View Claude Code session activity
  • ✅ Check system health

No more being tethered to Mac Mini SSH!


Quick Access URLs

From local network (same WiFi as Mac Mini):

  • Dashboard: http://mac-mini.local:5050
  • Mobile Interface: http://mac-mini.local:5050/mobile
  • API: http://mac-mini.local:5051

From internet (requires port forwarding or Tailscale):

  • Dashboard: http://[your-public-ip]:5050
  • Mobile Interface: http://[your-public-ip]:5050/mobile
  • API: http://[your-public-ip]:5051

1. Mobile Task Submission

Quick Method (iPhone/iPad)

  1. Open in Safari: http://mac-mini.local:5050/mobile
  2. Add to Home Screen: - Tap the Share button - Select "Add to Home Screen" - Name it "Mission Control" - Now it launches like a native app!

  3. Submit a Task: - Choose priority (P1/P2/P3) - Choose category (DISPATCH/PREP/YOURS) - Enter task title - Optionally add description - Tap "Add Task"

Session Status at a Glance:

  • See how many sessions are Working/Idle/Stuck
  • View what each Claude session is currently doing

2. Full Dashboard Access

From Desktop/Laptop

Open http://mac-mini.local:5050/dashboard

Features:

  • Complete task list with filtering
  • Session history and logs
  • Real-time stats and analytics
  • File browser for reports
  • System health monitoring
  • Action queue (for YOURS tasks requiring approval)

Navigation:

  • Today: Quick overview of today's activity
  • Dashboard: Full task management
  • Actions: Pending approvals
  • Jobs: Cron health monitoring
  • Exports: Recent reports
  • Health: System status

3. Claude Session Monitoring

What Are Claude Sessions?

The 6 parallel Claude Code CLI sessions running in tmux on Mac Mini:

  • claude-1 through claude-6
  • Each can work on a different plan.md simultaneously
  • Tracked via session-map.json

Session States

Status Meaning What to Do
🟢 Idle Available for work Can assign new task
🔵 Working Actively executing task Let it run
🔴 Stuck No activity >30min SSH in and check
Offline tmux session not running Restart session

View Session Status

Mobile: Built into mobile interface Desktop: Navigate to Dashboard → Sessions tab API: GET http://mac-mini.local:5051/api/claude-sessions


4. API Access (Advanced)

Authentication

All API requests require Bearer token authentication:

export MC_API_TOKEN="your-token-from-env-file"

curl -H "Authorization: Bearer $MC_API_TOKEN" \
  http://mac-mini.local:5051/api/tasks

Key Endpoints

Tasks

# List all tasks
GET /api/tasks

# Create new task
POST /api/tasks
{
  "title": "Generate March sales report",
  "category": "DISPATCH",
  "priority": "P2",
  "project": "RBD"
}

# Get task details
GET /api/tasks/{id}

Claude Sessions

# List all sessions
GET /api/claude-sessions

# Get session stats
GET /api/claude-sessions/stats

# Assign task to session
POST /api/claude-sessions/claude-1/assign
{
  "plan_file": "analyze-q1-performance.md",
  "task_title": "Q1 Performance Analysis"
}

# Mark session complete
POST /api/claude-sessions/claude-1/complete

# Check for stale sessions
GET /api/claude-sessions/stale?threshold=30

System Health

# Overall health
GET /api/health

# Cron job status
GET /api/cron-health

# Today's stats
GET /api/today

5. iOS Shortcuts (Super Quick)

Create "Add Mission Control Task" Shortcut

  1. Open Shortcuts app
  2. Create New Shortcut
  3. Add actions:

1. Ask for Input
   Prompt: "Task title?"

2. Ask for Input (optional)
   Prompt: "Details?"
   Default: (empty)

3. Text - Compose JSON
   {
     "title": "[First Input]",
     "description": "[Second Input]",
     "category": "DISPATCH",
     "priority": "P2"
   }

4. Get Contents of URL
   URL: http://mac-mini.local:5051/api/tasks
   Method: POST
   Headers:
     Content-Type: application/json
     Authorization: Bearer [YOUR_TOKEN]
   Request Body: [Previous Result]

5. Show Notification
   Title: "Task Added"
   Body: "Mission Control received your task"
  1. Add to Home Screen or Siri - "Hey Siri, add mission control task"

6. Command Line Access (Mac/Linux)

Submit Task via curl

#!/bin/bash
# save as ~/bin/mc-add-task

TITLE="$1"
DESC="${2:-}"

curl -X POST http://mac-mini.local:5051/api/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MC_API_TOKEN" \
  -d "{
    \"title\": \"$TITLE\",
    \"description\": \"$DESC\",
    \"category\": \"DISPATCH\",
    \"priority\": \"P2\"
  }"

Usage:

mc-add-task "Generate monthly report" "Include MoM and YoY"

Check Session Status

#!/bin/bash
# save as ~/bin/mc-sessions

curl -s http://mac-mini.local:5051/api/claude-sessions/stats \
  -H "Authorization: Bearer $MC_API_TOKEN" \
  | python3 -m json.tool

7. Remote Access Setup (Internet)

Option A: Port Forwarding (Simple)

  1. On your router: - Forward port 5050 → Mac Mini IP : 5050 (Dashboard) - Forward port 5051 → Mac Mini IP : 5051 (API)

  2. Find your public IP: bash curl ifconfig.me

  3. Access from anywhere: - Dashboard: http://[your-public-ip]:5050 - Mobile: http://[your-public-ip]:5050/mobile

⚠️ Security: Use strong API token, consider VPN instead

Option B: Tailscale (Recommended)

  1. Install Tailscale: - On Mac Mini: brew install tailscale - On iPhone: Install Tailscale app from App Store - On laptop: Install Tailscale app

  2. Start Tailscale: bash sudo tailscale up

  3. Access via Tailscale hostname: - Dashboard: http://mac-mini-tailscale:5050 - Mobile: http://mac-mini-tailscale:5050/mobile

Benefits:

  • Secure (encrypted tunnel)
  • No port forwarding needed
  • Works from anywhere

8. Enabling Auto Mode (Phase 1 Required)

On Mac Mini, in each of the 6 tmux sessions:

# Enable auto mode
claude --enable-auto-mode

# Cycle through permission modes (use Shift+Tab until you see "Auto")
# Test by creating a file without approval prompt

Verify auto mode is working:

  • Ask Claude to create a test file
  • Should write without asking permission
  • If it asks, you're still in "Ask" mode - cycle again with Shift+Tab

9. Session Management Commands

List Sessions

cd ~/ai-projects-local/mission-control/daemon
python3 claude_sessions.py list

Output:

🟢 claude-1: idle
🔵 claude-2: working - Generate Q1 report
🔵 claude-3: working - Sync Shopify inventory
🟢 claude-4: idle
🟢 claude-5: idle
🔴 claude-6: stuck

Assign Task to Session

python3 claude_sessions.py assign claude-1 \
  "analyze-ads-performance.md" \
  "Analyze March ads performance"

Mark Task Complete

python3 claude_sessions.py complete claude-1

Check Stats

python3 claude_sessions.py stats

Output:

Total sessions: 6
Working: 2
Idle: 3
Stuck: 1
Available: 3

Detect Stale Sessions

python3 claude_sessions.py stale

10. Troubleshooting

Dashboard Not Loading

Check if services are running:

# On Mac Mini
ps aux | grep -E "(api.py|app.py)"

Start services if needed:

cd ~/ai-projects-local/mission-control
./start-dashboard.sh &
./start-api.sh &

Check LaunchAgents:

launchctl list | grep mission

API Returns 401 Unauthorized

Check token is set:

grep MC_API_TOKEN ~/ai-projects-local/mission-control/.env

Token must match in:

  • .env file on Mac Mini
  • Your API requests (Authorization header)
  • iOS Shortcuts

Can't Access from Other Devices

Check firewall:

# On Mac Mini - allow ports
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/bin/python3

Verify ports are listening:

lsof -i :5050
lsof -i :5051

Test from Mac Mini first:

curl http://localhost:5050
curl http://localhost:5051/api/health

11. What's Next (Phase 2+)

After Phase 1 is validated with 2 weeks of real usage:

Phase 2: Multi-Agent Harness

  • Planner Agent: Creates comprehensive plans from brief tasks
  • Generator Agent: Implements work with self-evaluation
  • Evaluator Agent: Tests and validates output quality
  • Sprint Contracts: Negotiated success criteria

Phase 3: Production Hardening

  • Auto-restart on crashes
  • Slack/Telegram notifications
  • Daily digest summaries
  • Cost monitoring and optimization

Quick Start Checklist

  • Bookmark mobile interface on iPhone Home Screen
  • Test adding a simple task from mobile
  • Verify task appears in Desktop Dashboard
  • Check Claude session status
  • Enable auto mode in one tmux session (test)
  • Optionally: Set up Tailscale for internet access
  • Optionally: Create iOS Shortcut for voice activation

Support

Documentation:

  • Planning System: ~/ai-projects/mission-control/plans/implement-planning-system/plan.md
  • Autonomous Harness: ~/ai-projects/mission-control/plans/implement-autonomous-harness-architecture.md

Key Files:

  • Session tracking: ~/ai-projects/mission-control/sessions/session-map.json
  • Task queue: ~/ai-projects-local/mission-control/tasks/todo.md
  • API logs: ~/ai-projects-local/mission-control/logs/api.log
  • Dashboard logs: ~/ai-projects-local/mission-control/logs/dashboard.log

Emergency SSH:

ssh cole@mac-mini.local
tmux attach -t claude-1  # Or claude-2, claude-3, etc.

You're all set! Mission Control is now your 24/7 autonomous operating layer.