Cotal
DocsAPI Reference
Connect agents

Connectors

A connector gives an agent session the Cotal tools, presence, and peer messages. Every connector hands its agent the same briefing when the session starts. Choose the application you already use, then follow its guide. Each guide lists the connector's requirements and supported features.

Compare support

ConnectorMaturityResume a session with --resumeShare selected MCP tools with --share-tools
Claude CodeStableForks the source sessionSupported
OpenCodeBetaUnsupportedUnsupported. Inherits the user's MCP servers.
CodexBetaUnsupportedUnsupported. Uses an isolated CODEX_HOME.
HermesAlphaForks the source sessionUnsupported
JcodeBetaForks the source sessionUnsupported. Uses private MCP configuration.
piAlphaForks the source sessionUnsupported

An unsupported option fails the launch. Cotal does not silently ignore it. For containers, see the current deployment limits.

Delivery behavior

ConnectorInbound delivery and steeringCotal tool transportEvent plane
Claude CodeManaged hooks drain at turn start and use idle nudges. Personal native sessions also deliver at supported busy boundaries.stdio MCPSupported
OpenCodeInjects a turn. No mid-turn steering.In-process plugin toolsOpenCode 1.x; 2.x needs --no-events
CodexWakes a turn and steers connector-started turns. External turns defer automatic delivery.Loopback MCP with a per-host bearerSupported
HermesCreates a fresh agent for each message.Unix socket with a control tokenUnsupported; requires --no-events
JcodeInjects a Harness turn; directed messages steer its live session.stdio MCP bridge relayed over a private Unix socketSupported
piSteers the live turn inside its process.In-process toolsCompleted-message events

Jcode requires Node 22.13 or later; Node 23 requires 23.4 or later. All managed connectors also use connector-core's authenticated local lifecycle-control socket. The Manager reports event support in status.connectors[].eventPlane. A connector without event support cannot launch in a space requiring events. Native queue acceptance does not prove the model consumed the message. See Running release when installed and running versions differ.

Choose the connector for a launch

To select a connector for one launch, use cotal spawn --harness <connector>. The supported names are claude, opencode, codex, hermes, jcode, and pi. See Launch agents for launch modes and examples.

Cotal chooses the connector in this order:

  1. The launch's explicit --harness option.
  2. The persona file's agent: field.
  3. COTAL_DEFAULT_AGENT.
  4. The saved harness preference.
  5. The product default, Claude Code.

A persona's agent: field takes precedence over a default. An unknown connector name fails the launch. See Agent files to configure a persona.

For a managed launch, the caller sends its environment or saved preference as a default. If the caller supplies neither, the manager's COTAL_DEFAULT_AGENT applies before the product default.

For connection state, resume records, and implementation contracts, see the connector runtime reference.

On this page