Settings let agent developers define configurable parameters inDocumentation Index
Fetch the complete documentation index at: https://docs.circuit.org/llms.txt
Use this file to discover all available pages before exploring further.
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 - Publish — settings are snapshotted with the agent version
- 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:
| Setting Type | Runtime Value Type | Example |
|---|---|---|
text | string | "hello" |
boolean | boolean | true |
single_select | string | "conservative" |
integer | number | 3 |
number | number | 50.5 |
percentage | number | 0.5 |
address | string | "0x1234...abcd" |
End-to-End Example
1. Define incircuit.toml:
Testing Locally
circuit dev run and circuit dev 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