Skip to main content

Orchestrator

The Orchestrator enables multi-agent projects where a boss agent delegates tasks to worker agents.

Concepts

Creating a project

  1. Go to Orchestrator in the sidebar
  2. Click New Project
  3. Fill in:
    • Title — project name
    • Goal — what the project should accomplish
    • Boss agent — the agent that leads
    • Workers — add agents with specialties

Agent specialties

Each agent on a project team has a specialty that determines how they’re prompted and which model they use. The orchestrator supports two sets of specialties depending on context:

Project sub-agents (create_sub_agent)

When the boss agent dynamically creates sub-agents during a project run:

Standalone agents (create_agent)

When creating agents via the create_agent tool or the Agents view: :::tip Custom system prompts Every agent — regardless of specialty — can have a custom system prompt set at creation time via the system_prompt parameter. This gives you full control over the agent’s behavior and personality beyond the specialty label. The boss agent can use create_sub_agent with a detailed system_prompt to create highly tailored workers on the fly. ::: Specialty models can be configured in Settings → Engine under Model Routing. For example, setting coder to gemini-2.5-pro routes all coding tasks to that model.

How it works

Boss tools

Worker tools

Workers have access to all standard safe tools plus:
  • report_progress — send status updates back to the boss
    • Statuses: working, done, error, blocked
Workers can also use: email, slack, GitHub, REST API, webhooks, and image generation without HIL approval.

Project statuses

Message bus

The project detail view shows a real-time message bus (polled every 3s):

Model routing

Configure which models handle what in Settings → Engine: Resolution priority: agent_models > specialty_models > role-based > fallback

Cheap model & auto-tier

The cheap model setting lets you reduce costs by routing simple tasks to a smaller, faster LLM while keeping the full model for complex work. When auto_tier is enabled, every incoming message is classified by a complexity heuristic before model selection: The classifier looks for signals like code keywords (implement, refactor, debug), reasoning phrases (analyze, compare, step by step), multi-step patterns (and then, first,, numbered lists), and message length (>1500 chars → complex).
Example model routing config
:::info The auto_tier / cheap_model mechanism applies to regular chat sessions. Within orchestrator projects, model selection uses the boss_modelworker_modelspecialty_modelsagent_models routing chain instead. :::

Execution limits

Orchestrator projects are bounded by the engine’s global execution limits: The boss agent loop exits when:
  • project_complete is called
  • max_tool_rounds is exceeded
  • An unrecoverable error occurs
Worker agent loops exit when:
  • report_progress is called with status done
  • max_tool_rounds is exceeded
  • An error occurs
:::caution There is no project-level timeout. A project with many delegated tasks can run for a long time if workers are slow or blocked. Monitor the message bus and use check_agent_status to catch stuck agents. You can also manually pause or delete a project from the UI. :::