agent.yaml Reference

The agent config file declares everything about your agent: what model to use, which plugins to load, and runtime constraints.

# Full Example

agent.yaml
version: "1"
agent:
  name: research-bot
  model: "anthropic:claude-sonnet-4-20250514"
  system: "You are a research assistant."
plugins:
  - sandbox-e2b
  - memory-rolling-summary
  - security-basic
  - budget-cap:
      daily: 25
  - plugin: "@parel/channel-api"
    config:
      webhook: "https://hooks.example.com/notify"
runtime:
  maxSteps: 200
  maxTurns: 50
  checkpointInterval: 10

# version

Required. Currently only "1" is supported.

# agent

FieldTypeDescription
namestringAgent display name (required)
modelstringSugar: "provider:model-id" — expands to model plugin
systemstringSugar: system prompt — expands to system-static plugin

# plugins

Array of plugin declarations. Three formats supported:

formats
plugins:
  # String shorthand — no config
  - sandbox-e2b

  # Object shorthand — with config
  - budget-cap:
      daily: 25

  # Full form
  - plugin: "@parel/model-anthropic"
    config:
      model: "claude-sonnet-4-20250514"
      temperature: 0.7

Short names like sandbox-e2b resolve to @parel/sandbox-e2b.

# Available Plugins

NameTypeDescription
model-anthropicModelClaude models via Anthropic API
model-openaiModelGPT/o-series via OpenAI API
sandbox-e2bSandboxIsolated cloud VMs via E2B
sandbox-localSandboxLocal execution (dev only)
memory-rolling-summaryMemoryLLM-compressed context window
security-basicGuardCommand blocklist + secret redaction
budget-capGuardDaily cost / per-request step limits
channel-apiChannelREST webhook notifications
system-staticSystemStatic system prompt
steering-immediateSteeringMid-turn user intervention

# runtime

FieldTypeDefaultDescription
maxStepsnumber200Max steps per turn before force-stop
maxTurnsnumberMax turns per session
checkpointIntervalnumber10Steps between auto-checkpoints
durabilitystringevent-sourced"event-sourced" or "ephemeral"

# Environment Variables

Use ${VAR_NAME} syntax to reference environment variables:

agent.yaml
plugins:
  - plugin: "@parel/model-openai"
    config:
      apiKey: "${OPENAI_API_KEY}"
Missing env vars will throw at deploy time — never at runtime.