Skip to content

Troubleshooting

Common issues and solutions for Cmd+Ctrl.

Throughout this page, replace <agent> with your daemon name – e.g., cmdctrl-claude-code, cmdctrl-cursor-cli, cmdctrl-gemini-cli, cmdctrl-codex-cli, cmdctrl-copilot-cli, cmdctrl-cursor-ide, cmdctrl-vscode-copilot, or cmdctrl-aider.

Daemons Stopped After a Restart

Daemons don't survive a machine reboot unless you've configured auto-start. To bring them all back up at once:

bash
curl -fsSL https://docs.cmd-ctrl.ai/start.sh | bash

Or if you've saved the script locally:

bash
cmdctrl-start

See Restarting After a Reboot for details, including how to save the script locally.

Connection Issues

Daemon won't connect

Symptoms: cmdctrl-<agent> status shows "Disconnected" or daemon fails to start.

Solutions:

  1. Check registration

    bash
    cmdctrl-<agent> status

    If not registered, run cmdctrl-<agent> register -s https://api.cmd-ctrl.ai

  2. Check network connectivity

    bash
    curl -I https://api.cmd-ctrl.ai/health

    Should return HTTP 200.

  3. Check for firewall issues

    • Ensure outbound HTTPS (port 443) is allowed
    • Ensure WebSocket connections are not blocked
  4. Re-register the device

    bash
    cmdctrl-<agent> unregister
    cmdctrl-<agent> register -s https://api.cmd-ctrl.ai

Device shows offline in app

Symptoms: Device is registered but shows as offline in the web/mobile app.

Solutions:

  1. Verify daemon is running

    bash
    cmdctrl-<agent> status
  2. Restart the daemon

    bash
    cmdctrl-<agent> stop
    cmdctrl-<agent> start
  3. Check logs

    bash
    tail -f /tmp/cmdctrl-daemon-<agent>.log

Authentication Issues

"Not registered" error

Run the registration command:

bash
cmdctrl-<agent> register -s https://api.cmd-ctrl.ai

OAuth login fails

  1. Clear browser cookies for cmd-ctrl.ai
  2. Try a different browser – some browser extensions block OAuth
  3. Check popup blockers – OAuth may open in a new window

Device code expired

Device codes expire after 15 minutes. Run register again to get a new code.

Agent Issues

CLI agent not found

Symptoms: "command not found" errors when starting a session.

Solutions:

  1. Verify the agent is installed

    bash
    which claude     # Claude Code
    which cursor     # Cursor CLI
    which gemini     # Gemini CLI
    which codex      # Codex CLI
    which aider      # Aider
  2. Check PATH – ensure the agent binary is in your PATH

  3. Install the agent – follow the agent's official installation instructions

IDE agent won't connect

Symptoms: Daemon can't connect to Cursor IDE or VS Code.

Solutions:

  1. Verify the IDE is running with debugging enabled

    bash
    # Cursor
    /Applications/Cursor.app/Contents/MacOS/Cursor --remote-debugging-port=9222
    
    # VS Code (for GitHub Copilot)
    code --remote-debugging-port=9222
  2. Check if the debugging port is in use

    bash
    lsof -i :9222
  3. Restart the IDE with the debugging flag

Push Notifications

Not receiving notifications

  1. Check notification preferences in the mobile app settings
  2. Verify device permissions – ensure notifications are enabled for Cmd+Ctrl
  3. Check "Watch" status – only watched sessions send notifications
  4. iOS: Check notification settings in Settings → Cmd+Ctrl → Notifications
  5. Android: Check that battery optimization isn't restricting Cmd+Ctrl

Notifications delayed

Push notification delivery depends on:

  • Apple/Google push services (usually instant, sometimes delayed)
  • Device network connectivity
  • Battery optimization settings (Android)

Getting Help

If you're still having issues:

  1. Check the logs – daemon logs often contain useful error messages
  2. Email support[email protected]