Configuration File Location
The orchestrator searches for configuration in the following order:1
Environment Variable
If
AO_CONFIG_PATH is set, use that path:2
Directory Tree Search
Search up from current working directory (like git) for:
agent-orchestrator.yamlagent-orchestrator.yml
3
Home Directory
Check standard locations:
~/.agent-orchestrator.yaml~/.agent-orchestrator.yml~/.config/agent-orchestrator/config.yaml
packages/core/src/config.ts:289-349
Creating Your First Config
The fastest way to get started:Minimal Configuration
At minimum, you only need to define projects:Configuration Structure
The configuration file is organized into several top-level sections:Global Settings
Global Settings
System-wide settings that apply to all projects:
number
default:"3000"
Web dashboard port
number
default:"14800"
Terminal WebSocket server port (optional—auto-detected if not set)
number
default:"14801"
Direct terminal WebSocket port (optional)
number
default:"300000"
Milliseconds before a “ready” session becomes “idle” (default: 5 minutes)
defaults
defaults
Default plugin selections for all projects (can be overridden per-project):
string
default:"tmux"
Where sessions execute:
tmux, process, docker, kubernetes, ssh, e2bstring
default:"claude-code"
AI coding assistant:
claude-code, codex, aider, goose, opencode, customstring
default:"worktree"
Workspace isolation:
worktree, clone, copyarray
default:"['composio', 'desktop']"
Notification channels
projects
projects
Per-project configuration. See Projects for details.
notifiers
notifiers
Notification channel configurations. See Notifications for details.
notificationRouting
notificationRouting
Route notifications by priority level. See Notifications for details.
reactions
reactions
Auto-responses to events. See Reactions for details.
Configuration Validation
Agent Orchestrator validates your configuration using Zod schemas at load time. If validation fails, you’ll receive a detailed error message explaining what’s wrong.Validation happens at startup, so you’ll know immediately if your configuration has issues.
Common Validation Errors
Duplicate session prefixes:sessionPrefix to one project:
Environment Variable Support
You can reference environment variables using${VAR_NAME} syntax:
Environment variables are expanded when the config is loaded. Make sure to set them before running
ao start.Path Expansion
All path fields support~ for home directory expansion:
packages/core/src/config.ts:113-127
Plugin System
Agent Orchestrator has 8 plugin slots that control every aspect of the system:
Each plugin implements a specific interface defined in
packages/core/src/types.ts.
Default Values
When you omit configuration, these defaults apply:packages/core/src/config.ts:84-106,215-278
Configuration Reloading
To apply configuration changes:- Stop the orchestrator (Ctrl+C)
- Edit
agent-orchestrator.yaml - Restart:
ao start
Multiple Configurations
You can run multiple orchestrator instances with different configurations:Each orchestrator instance needs a unique
port value to avoid conflicts.Next Steps
Projects
Configure projects with repos, branches, and per-project settings
Reactions
Set up auto-responses to CI failures, reviews, and more
Notifications
Route notifications to Slack, Discord, or custom webhooks
