PROVIDERS — that variable is ignored. CtrlNode routes each task to the provider that owns the agent id via sync_{provider}_agents on connect.
Open-source reference: github.com/ctrlnode-ai/ctrlnode.
Supported providers
Pick the agent type that matches the CLI installed on the Bridge host. One Bridge can serve Copilot, Hermes, and Cursor agents at the same time.
How routing works
- Create a project with a default agent type (CLI badge in the sidebar).
- Register agents in Team with that type (or override per agent).
- Bridge connects → CtrlNode pushes
sync_{provider}_agentsfor each provider that has agents. - Dispatch uses the agent id to select the implementation.
Multi-provider Bridge
Do not setPROVIDERS. One ctrlnode process already includes:
Sessions and resume
Common troubleshooting
Per-provider documentation
OpenClaw
HTTP gateway,
openclaw.json, orchestrationClaude Code (CLI)
claude CLI, CLAUDE.md in task folderClaude Agent SDK
@anthropic-ai/claude-agent-sdkGitHub Copilot
copilot ACP, PAT or loginGemini CLI
gemini ACPOpenAI Codex
@openai/codex-sdkCursor
@cursor/sdk, CURSOR_API_KEYHermes
hermes acp (primary) or hermes chat CLI