Skip to main content
Settings let agent developers define configurable parameters in circuit.toml that users can customize when starting a session. At runtime, the resolved values (defaults merged with any session-level overrides) are available on AgentContext.

How It Works

  1. Define settings in circuit.toml with types, defaults, and options
  2. Upload - settings become the agent’s current settings
  3. Users customize - when starting a session, users can override defaults
  4. Access at runtime - your agent reads resolved values via settings

Required Settings

Settings marked required = true have no default value. The platform blocks execution until the user provides a value, so your agent code does not need to handle the missing case.

Accessing Settings

The settings property is a flat key-value map where each key matches the setting name from your circuit.toml definition. Values are resolved in order: session override > default value.

Value Types

The value type depends on the setting’s type in circuit.toml:

End-to-End Example

1. Define in circuit.toml:
2. Access at runtime:

Testing Locally

circuit run and circuit unwind inject your circuit.toml setting defaults into the agent context - no extra flags needed. To override individual settings for a single invocation, use --setting KEY=VALUE:
Resolution order: circuit.toml default (for optional settings) → --setting override. Required settings have no default and must be provided via --setting. For full flag documentation, see Development - Settings.

See Also