Skip to content

Manual Installation

If you prefer manual setup over the install script, follow the instructions for your agent below.

Claude Code

Prerequisite: Node.js 18+, Claude Code CLI installed and authenticated (official instructions)

bash
npm install -g @cmdctrl/claude-code
cmdctrl-claude-code register -s https://api.cmd-ctrl.ai
cmdctrl-claude-code start

Detailed setup →

Gemini CLI

Prerequisite: Node.js 18+, Gemini CLI installed and authenticated

bash
npm install -g @cmdctrl/gemini-cli
cmdctrl-gemini-cli register -s https://api.cmd-ctrl.ai
cmdctrl-gemini-cli start

Detailed setup →

Codex CLI

Prerequisite: Node.js 18+, Codex CLI installed and authenticated

bash
npm install -g @cmdctrl/codex-cli
cmdctrl-codex-cli register -s https://api.cmd-ctrl.ai
cmdctrl-codex-cli start

Detailed setup →

Cursor CLI

Prerequisite: Node.js 18+, Cursor CLI (cursor-agent) installed and authenticated

bash
npm install -g @cmdctrl/cursor-cli
cmdctrl-cursor-cli register -s https://api.cmd-ctrl.ai
cmdctrl-cursor-cli start

Detailed setup →

GitHub Copilot CLI

Prerequisite: Node.js 18+, GitHub Copilot CLI installed and authenticated

bash
npm install -g @cmdctrl/copilot-cli
cmdctrl-copilot-cli register -s https://api.cmd-ctrl.ai
cmdctrl-copilot-cli start

Detailed setup →

Cursor IDE Beta

Prerequisite: Node.js 18+, Cursor with remote debugging enabled

bash
# Start Cursor with debugging port
cursor --remote-debugging-port=9222

npm install -g @cmdctrl/cursor-ide
cmdctrl-cursor-ide register -s https://api.cmd-ctrl.ai
cmdctrl-cursor-ide start

Detailed setup →

GitHub Copilot IDE Beta

Prerequisite: Node.js 18+, VS Code with GitHub Copilot extension

bash
npm install -g @cmdctrl/vscode-copilot
cmdctrl-vscode-copilot register -s https://api.cmd-ctrl.ai

# Launch VS Code with debugging flag
code --remote-debugging-port=9223 &
cmdctrl-vscode-copilot start

Detailed setup →

OpenCode

Prerequisite: Node.js 18+, OpenCode installed and authenticated (official instructions)

bash
npm install -g @cmdctrl/opencode
cmdctrl-opencode register -s https://api.cmd-ctrl.ai
cmdctrl-opencode start

Detailed setup →

Aider

Prerequisite: Node.js 18+, Python 3.8+, Aider and AgentAPI

bash
npm install -g @cmdctrl/aider
cmdctrl-aider register -s https://api.cmd-ctrl.ai
cmdctrl-aider start

Detailed setup →

Common Commands

bash
cmdctrl-<agent> status   # Check connection
cmdctrl-<agent> stop     # Stop daemon
cmdctrl-<agent> start    # Start daemon

See Daemon Commands for the full reference.

Restarting After a Reboot

If your daemons stop after a machine restart, run the start script to bring them all back up at once:

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

The script detects which daemons are installed and registered on this machine, skips any that are already running, and starts the rest in the background. Logs are written to /tmp/cmdctrl-daemon-<agent>.log.

You can also save the script locally so you don't need to curl it every time:

bash
curl -fsSL https://docs.cmd-ctrl.ai/start.sh -o ~/bin/cmdctrl-start
chmod +x ~/bin/cmdctrl-start
cmdctrl-start

To avoid needing to run this manually at all, set up auto-start below.

Auto-Start

To start daemons automatically on login:

macOS (launchd):

bash
cat > ~/Library/LaunchAgents/ai.cmd-ctrl.<agent>.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>ai.cmd-ctrl.<agent></string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/cmdctrl-<agent></string>
        <string>start</string>
        <string>-f</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>
EOF

launchctl load ~/Library/LaunchAgents/ai.cmd-ctrl.<agent>.plist

Linux (systemd):

bash
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/cmdctrl-<agent>.service << 'EOF'
[Unit]
Description=Cmd+Ctrl Daemon
After=network.target

[Service]
ExecStart=/usr/local/bin/cmdctrl-<agent> start -f
Restart=always

[Install]
WantedBy=default.target
EOF

systemctl --user enable --now cmdctrl-<agent>

Replace <agent> with your agent name (e.g., claude-code, cursor-ide).