Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ctrlnode.ai/llms.txt

Use this file to discover all available pages before exploring further.

The Bridge loads one implementation per provider id. When you assign a task to an agent, CtrlNode sends it to the Bridge with that agent’s provider; the Bridge runs the matching CLI or SDK on your machine. Open-source reference: github.com/ctrlnode-ai/ctrlnode (src/providers/).

Supported providers

CtrlNode agent typeBridge idGuide
OpenClawopenclawOpenClaw
ClaudeCodeclaudeClaude Code (CLI)
ClaudeAgentSdkclaude-sdkClaude Agent SDK
CopilotcopilotGitHub Copilot
GeminigeminiGemini CLI
CodexSdkcodexOpenAI Codex
CursorcursorCursor
Pick the agent type that matches the tool you install on the Bridge host. Mixing types in one project is fine — each agent stores its own type.

How routing works

  1. You create a project with a default agent type (CLI badge in the sidebar).
  2. You register agents in Team; CtrlNode stores agent_type per agent.
  3. On Bridge connect, CtrlNode pushes sync_{provider}_agents with agent IDs and metadata.
  4. On dispatch, the Bridge resolves the agent ID → provider → runs that implementation.

Multi-provider Bridge

One Bridge process can load several providers at once:
PROVIDERS=copilot,cursor,claude-sdk
Omit PROVIDERS to use the default (all built-in providers). Install only the CLIs you need; missing tools surface as clear task failures, not silent mis-routing.

Sessions and resume

ProviderSession behavior
claude (CLI)Resumes via Claude CLI --resume when the same task continues
claude-sdk, copilot, geminiFresh session per dispatch (ACP or SDK)
codex, cursorPer-agent CODEX_HOME / SDK runner isolation
openclawOpenClaw gateway sessions

Common troubleshooting

SymptomLikely cause
Task stuck in InboxBridge offline or agent not registered
Failed with 401Expired API key or CLI not logged in
Agent not foundBridge connected before agent was created — reconnect
Wrong tool ran the taskAgent type does not match installed CLI
No terminal event in appBridge must send contextTaskId with dispatch (fixed in current Bridge releases)

Per-provider documentation

OpenClaw

HTTP gateway, openclaw.json, multi-agent orchestration

Claude Code (CLI)

claude CLI, subscription or login, CLAUDE.md in task folder

Claude Agent SDK

@anthropic-ai/claude-agent-sdk, API key, programmatic tools

GitHub Copilot

@github/copilot ACP, PAT or copilot login

Gemini CLI

gemini ACP, API key or Google login

OpenAI Codex

@openai/codex-sdk, codex CLI, CODEX_BIN_PATH

Cursor

@cursor/sdk, CURSOR_API_KEY, Node.js runner