Last updated: 2026-09-06These four top-level commands observe the platform rather than change it.
orca doctor checks the local install, config, and connectivity and suggests a fix for anything that is off. orca topology, orca bundles, and orca apps each read one part of the conductor’s state and take no flags of their own.
Every command accepts the global flags.
orca doctor
Each check has a status of
pass, warn, fail, or skip, a message, and sometimes a fix: a one-line, copy-pasteable remedy shown under a warning or failure. The checks, in report order:
--json an array of { "name", "status", "message", "fix" } objects is printed, in report order; fix is present only when the check carries a remedy. Plain (piped) output is one tab-separated row per check: name, status, message. The terminal view adds a header with the API host and a footer that counts ok, warn, and fail.
orca topology
GET /api/topology. Each runner is listed by hash with its health (healthy or down), active session count, latency in milliseconds when known, and the last probe error if any. In a terminal the pool is drawn as a tree under a conductor root with a N runners, N healthy summary. See Architecture for how the conductor routes to runners.
--json the array of runner records is printed (hash, url, healthy, latencyMs, activeSessions, error, capabilities). Plain (piped) output is one tab-separated row per runner: hash, url, healthy or down, activeSessions, latencyMs (or empty), error (or empty). A conductor running in single-runner mode answers 404, which the CLI reports as a not-found error (exit code 4).
orca bundles
@ reference, such as @fs for storage or @memory for the memory bank. Reads GET /api/capability-bundles and unwraps the bundles array. Each bundle has a value (the @name to use in the document), a label, and a description.
--json the array of bundle records is printed. Plain (piped) output is one tab-separated row per bundle: value, label, description.
orca apps
GET /api/connected-apps/providers and GET /api/connected-apps/connections. A 503 from either endpoint (the Connected Apps registry is not configured on this conductor) degrades to an empty list rather than an error; auth failures and other errors still surface. In a terminal, when both lists are empty, the command prints a hint on stderr that no providers are configured (the conductor needs COMPOSIO_API_KEY).
--json a single object is printed: { "providers": [...], "connections": [...] }, where a provider has name and configured, and a connection has id, provider, appSlug, scope, status, mcpServerName, and createdAt. Plain (piped) output mixes both shapes, so each row starts with a discriminator: provider, name, configured or not-configured; and connection, id, provider, appSlug, status.
Verified against orca-cli
cli-v0.5.0.