Last updated: 2026-09-06
orca agents create -f <path> and orca agents update -f <path> take an agent document: a YAML or JSON description of an agent profile. YAML is a superset of JSON, so one parser reads both; the file extension does not matter. Pass - to read the document from stdin.
The CLI validates the document’s shape before anything is sent, so a typo comes back as a field-level message rather than a 400 from the server. Values the server owns, such as whether a model id or skill name exists, are checked server-side.
Example
agent.yaml
Fields
Any other top-level key produces a warning naming the key and is not sent. With
--strict, warnings become errors and the command exits 2.
workerMode, workerSubstrate, workerImage, and catalog ref entries are accepted from the next release after cli-v0.5.0. On cli-v0.5.0 itself they are dropped with an “unknown key” warning; set them from the dashboard or the API until you update.mcpServers
Each entry attaches one MCP server to the agent. Names must be unique within the document, andrunner is reserved. An entry is either an inline server (transport and url) or a catalog reference (ref), never both.
To share a server across agents, register it once with
orca mcp add and attach it with orca mcp attach <agent> <name> instead. See orca mcp.
fs
Every agent already has/agents/{self}/** with read, write, and delete. fs adds to that.
Empty lists are dropped. See Filesystem policy and Storage.
sandbox
Runs the agent’s tools inside a sandboxed workspace.provider is required when sandbox is present. See Sandboxes.
Unknown keys inside
mcpServers[], fs, sandbox, and sandbox.resources also warn rather than fail.
Validation messages
Fatal problems are listed together underinvalid agent document and exit 2:
Round-tripping
orca agents get <name> --json prints the stored profile, which is itself a valid document:
id and server-computed fields. The CLI warns about and drops the ones it does not model (such as workerPlacement), so the file imports, but do not combine a round-tripped file with --strict.
Verified against orca-cli
cli-v0.5.0 (src/lib/profile-schema.ts). The same validator runs in the dashboard’s YAML import.