Skip to main content
operator is a reserved agent ID auto-created at startup. In managed hosting it is your primary chat partner — the agent you talk to when you say “spin up a new researcher”, “what’s my fleet doing today”, or “apply the sales template”.

What makes the operator different

Worker agentOperator
Resources384 MB RAM / 0.15 CPU128 MB RAM / 0.05 CPU
HeartbeatConfigurableForce-locked to every 15m
Control-plane flagsDefault falseDefault true (manage fleet/projects/agents, view metrics, route tasks, request creds)
Tool surfaceStandard tools + per-agent permissionsStandard tools + operator-only tools (fleet_tool, operator_tools)
Auto-createdNoYes — at engine startup, reserved ID

Operator-only tools

fleet_tool

  • list_templates — see the 13 fleet templates.
  • apply_template — materialize a template (per-slot, not atomic — mid-loop failures leave partial fleets).

operator_tools

A broad control-plane surface:
  • Inspection: inspect_agents, inspect_projects, list_pending, list_agent_queue, get_team_outputs, summarize_project_progress.
  • Project management: manage_project, create_project, add_agents_to_project, remove_agents_from_project, update_project_context, set_project_goal.
  • Agent management: manage_agent, create_agent, edit_agent (soft/hard split with 5 min / 30 min TTL), manage_task.
  • Edit lifecycle (legacy): propose_edit, confirm_edit, undo_change, cancel_pending_action, archive_audit_before.
  • Observation: save_observations (operator-owned OBSERVATIONS.md).

Soft vs hard edits

Operator edits to other agents split by risk:
ClassFieldsTTLConfirmation
Softinstructions, soul, heartbeat, heartbeat_schedule, interface, role5 minAuto-applied with Undo window
Hardmodel, permissions, budget, thinking30 minRequires confirm_edit (CLI: openlegion confirm <nonce>)
Both soft and hard edits go through the Pending actions surface — visible in the dashboard’s Needs-You panel and via openlegion pending on the CLI.

Operator ceiling

The operator can do a lot, but cannot:
  • Grant can_spawn=true to any agent (subagent/agent spawning requires explicit human approval outside chat).
  • Grant can_use_wallet=true to any agent (wallet access requires the same).
These ceilings are enforced in the permission matrix — even if the operator’s own permissions are maxed out, those two fields are off-limits.

Where you’ll see the operator

  • CLI: openlegion start opens the REPL with the operator selected by default. /use operator switches back.
  • Channels: Once paired, the operator is the default agent for new conversations.
  • Dashboard: The Chat tab targets the operator by default. Settings → Operator lets you edit its system prompts and instruction overrides.

Reserved IDs

operator is one of three reserved agent IDs (RESERVED_AGENT_IDS = {"mesh", "operator", "canary-probe"}). You can’t create a worker agent named operator, and the operator can’t be deleted.