Enablement
Connectors are disabled by default.CONNECTORS_ALLOWED_ROOTS falls back to FILESYSTEM_ALLOWED_PATHS when empty. Remote HTTP connectors require CONNECTORS_ALLOW_REMOTE=true. Python module connectors require CONNECTORS_ALLOW_PYTHON_MODULE=true.
Manifest
CONNECTORS_CONFIG_PATH points to a JSON object with a connectors list.
^[a-z][a-z0-9_-]{1,63}$. Commands and acceptance health commands must be static argv lists. Eyra rejects model-filled placeholders, shell interpolation, and shell interpreters with -c.
Types
| Type | Transport |
|---|---|
cli | Static local command |
mcp | Static local MCP command |
http_local | POST to localhost or loopback |
http_remote | POST to a remote HTTP endpoint, opt-in only |
python_module | python -m <module>, guarded by opt-in |
browser_agent | Static local browser-agent command |
coding_agent | Static local coding-agent command |
Risk tiers
| Tier | Meaning |
|---|---|
read_only | Reads bounded local or connector state |
low_risk_change | Low-impact local changes |
medium_risk_change | Mutates files or performs bounded local work |
high_risk_change | Risky local changes |
irreversible_or_external | External or hard-to-undo action |
delegated_agent | Another agent controls execution details |
privacy.dataSent is also the runtime payload allowlist. Eyra always sends only connectorId and jobId automatically. It sends task only when task is declared, cwd only when cwd is declared, and selected paths only when selected_files is declared and every selected file resolves inside CONNECTORS_ALLOWED_ROOTS.
file_contents, pdf, pdf_text, screenshot, and clipboard are reserved data classes. Manifest validation rejects them until the connector runner has explicit safe payload support for each class.
Acceptance
A connector must be accepted before use. Acceptance can run a declared health command and a declared test task, then records one of these states:| State | Meaning |
|---|---|
not_configured | Missing connector or disabled connector system |
configured | Manifest loaded but not accepted yet |
validation_failed | Manifest/config validation failed |
available | Transport is available, or acceptance is waiting for human approval |
acceptance_failed | Acceptance check failed |
accepted | Health and test task actually ran successfully |
disabled | Disabled in manifest or current session |
Terminal commands
list connectors, show connector local_worker, ask connector local_worker to summarize this, and cancel local_worker.
CLI validation
approval_required is not acceptance; approval-gated connectors remain available until the approval is granted and the acceptance test task runs successfully.
Runtime behavior
Connector jobs run as background tasks with durable job rows. Results include capped, redacted output plus connector artifacts such as connector id, redacted working directory or endpoint, output size, and duration. Cancellation works by connector id or job id. If a connector asks for approval, the job waits for an exactrun_connector_task approval and reruns only after that approval is consumed.
Remote connectors are never part of the default local path. Realtime voice does not expose connector execution as a browser-side tool.