[model]
Required at the top level of seal.toml.
provider
Section titled “provider”effort
Section titled “effort”User-supplied effort level. None ⇒ resolved at backend-build time via seal_runtime::llm::default_effort_for_model(&model.name) so Opus 4.7 sessions get xhigh automatically while older / non-supporting models fall back to high. Explicit values in seal.toml always win over the auto-default.
Stored as Option (not as a resolved string) so grant hashes stay stable across seal-version bumps of the default table — a user who didn’t set an explicit effort doesn’t face re-approval when the default changes. Mirrors the max_tokens Option-through-grant pattern (see grant.rs Grant::Llm).
| Value | Meaning |
|---|---|
"low" | — |
"medium" | — |
"high" | — |
"xhigh" | Between High and Max. Anthropic’s recommended starting point for coding / agentic workloads on Opus 4.7. |
"max" | Anthropic’s highest effort level. Opus-4.6+ only; other models return a 400 when this value is sent. |
headers
Section titled “headers”Extra HTTP headers merged into every LLM request.
max_tokens
Section titled “max_tokens”Output-token cap to send to the provider as max_tokens. None ⇒ auto-detect: the daemon queries the provider’s models API at startup and uses the model’s advertised ceiling. Some(n) is a user-supplied override that the daemon clamps to the provider’s reported limit if it’s higher (silent clamp; an API 400 would be the alternative).
thinking
Section titled “thinking”Extended thinking mode for LLM requests.
| Value | Meaning |
|---|---|
"adaptive" | Model decides how much to think (default). |
"manual" | Explicit token budget for thinking (requires thinking_budget). |
"disabled" | No thinking. |