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)
- Open in Safari:
http://mac-mini.local:5050/mobile -
Add to Home Screen: - Tap the Share button - Select "Add to Home Screen" - Name it "Mission Control" - Now it launches like a native app!
-
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-1throughclaude-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
- Open Shortcuts app
- Create New Shortcut
- 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"
- 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)
-
On your router: - Forward port 5050 → Mac Mini IP : 5050 (Dashboard) - Forward port 5051 → Mac Mini IP : 5051 (API)
-
Find your public IP:
bash curl ifconfig.me -
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)
-
Install Tailscale: - On Mac Mini:
brew install tailscale- On iPhone: Install Tailscale app from App Store - On laptop: Install Tailscale app -
Start Tailscale:
bash sudo tailscale up -
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:
.envfile 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.
~/ai-projects/mission-control/plans/remote-access-guide.md