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
- Define settings in
circuit.tomlwith types, defaults, and options - Upload - settings become the agent’s current settings
- Users customize - when starting a session, users can override defaults
- Access at runtime - your agent reads resolved values via
settings
Required Settings
Settings markedrequired = 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
Thesettings 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’stype in circuit.toml:
End-to-End Example
1. Define incircuit.toml:
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:
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
circuit.tomlReference - Defining settings- Agent Context - All context properties and methods
- SDK Quick Reference - SDK methods at a glance