-
Notifications
You must be signed in to change notification settings - Fork 394
docs: update /docs for PRs merged 2026-06-18–20 #3183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
7d28831
1d0dc12
eb688eb
41e32b5
f5fd612
847f960
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -84,9 +84,9 @@ models: | |
|
|
||
| docker-agent auto-adjusts `max_tokens` when you set a thinking budget but leave `max_tokens` at its default. If you set `max_tokens` explicitly, it must be greater than `thinking_budget`. | ||
|
|
||
| ### Adaptive thinking (Claude Opus 4.6+) | ||
| ### Adaptive thinking (Opus 4.6+ and Sonnet 4.6) | ||
|
|
||
| Newer Claude models support adaptive thinking, where the model decides how much to think. **Claude Opus 4.6, 4.7 and 4.8 only support adaptive thinking** — they reject token-based budgets. Use `adaptive`, `adaptive/<effort>`, or a bare effort level — on Anthropic, a bare effort level like `high` is shorthand for adaptive thinking at that effort: | ||
| Newer Claude models support adaptive thinking, where the model decides how much to think. **Claude Opus 4.6, 4.7, 4.8, and Sonnet 4.6 only support adaptive thinking** — they reject token-based budgets. Use `adaptive`, `adaptive/<effort>`, or a bare effort level — on Anthropic, a bare effort level like `high` is shorthand for adaptive thinking at that effort: | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sonnet 4.6 is grouped here as "only support adaptive thinking, they reject token-based budgets", but |
||
|
|
||
| ```yaml | ||
| models: | ||
|
|
@@ -106,21 +106,22 @@ models: | |
| thinking_budget: adaptive/max # adaptive/low | adaptive/medium | adaptive/high | adaptive/xhigh | adaptive/max | ||
| ``` | ||
|
|
||
| **Adaptive effort levels:** | ||
| **Adaptive effort levels and per-model support:** | ||
|
|
||
| | Level | Description | | ||
| | --------- | ------------------------------------------------- | | ||
| | `minimal` | Treated as `low` (bare form only). | | ||
| | `low` | Minimal thinking; fastest adaptive mode. | | ||
| | `medium` | Moderate effort. | | ||
| | `high` | Thorough reasoning; default for `adaptive`. | | ||
| | `xhigh` | Very high effort (newer models, e.g. Opus 4.7+). | | ||
| | `max` | Maximum effort. | | ||
| | Level | Opus 4.5 | Sonnet 4.5 / Haiku | Sonnet 4.6 | Opus 4.6 | Opus 4.7 / 4.8 | Fable 5 | Mythos 5 | Mythos preview | | ||
| | --------- | :------: | :----------------: | :--------: | :------: | :------------: | :-----: | :------: | :------------: | | ||
| | `low` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ||
| | `medium` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ||
| | `high` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ||
| | `xhigh` | — | — | — | — | ✓ | ✓ | ✓ | — | | ||
| | `max` | — | — | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ||
|
|
||
| `minimal` is treated as `low` (bare form only). `high` is the default when `adaptive` is used without an effort level. | ||
|
|
||
| <div class="callout callout-warning" markdown="1"> | ||
| <div class="callout-title">Effort strings require adaptive-capable models | ||
| </div> | ||
| <p>Every string effort value on Anthropic is sent as adaptive thinking (<code>output_config.effort</code>), which only newer Claude models (Opus 4.6+) accept. For older models like Sonnet 4.5, use an integer token budget instead. Conversely, models that <em>only</em> support adaptive thinking (Opus 4.6, 4.7, 4.8) automatically have token budgets coerced to <code>adaptive</code> (a warning is logged).</p> | ||
| <p>Every string effort value on Anthropic is sent as adaptive thinking (<code>output_config.effort</code>), which only newer Claude models (Opus 4.6+, Sonnet 4.6) accept. For older models like Sonnet 4.5, use an integer token budget instead. Conversely, models that <em>only</em> support adaptive thinking (Opus 4.6, 4.7, 4.8, Sonnet 4.6) automatically have token budgets coerced to <code>adaptive</code> (a warning is logged).</p> | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| </div> | ||
|
|
||
| ### Disabling thinking | ||
|
|
@@ -332,7 +333,7 @@ models: | |
|
|
||
| While running in the TUI, press **Shift+Tab** to cycle the thinking effort level for the current model without editing your YAML config: | ||
|
|
||
| - The level steps through the model's supported range (model-specific), wrapping around — for example `none → minimal → low → medium → high → none` on OpenAI gpt-5/o-series, `none → minimal → low → medium → high → xhigh → none` on gpt-5.2+, `none → low → medium → high → max → none` on Anthropic Opus 4.6, and `none → low → medium → high → xhigh → none` on Anthropic Opus 4.7+. For older Anthropic models (e.g. Sonnet 4.5) that only accept token budgets, effort-string cycling has no effect — use an integer `thinking_budget` in your YAML config instead. | ||
| - The level steps through the model's supported range (model-specific), wrapping around — for example `none → minimal → low → medium → high → none` on OpenAI gpt-5/o-series, `none → minimal → low → medium → high → xhigh → none` on gpt-5.2+, `none → low → medium → high → max → none` on Anthropic Opus 4.6 and Sonnet 4.6, and `none → low → medium → high → xhigh → max → none` on Anthropic Opus 4.7+, Fable 5, and Mythos 5. For older Anthropic models (e.g. Sonnet 4.5) that only accept token budgets, effort-string cycling has no effect — use an integer `thinking_budget` in your YAML config instead. | ||
| - The current level is shown in the sidebar next to the model name (e.g. `openai/gpt-5 • high`). | ||
| - This applies as a session override — it is **not** saved to the config file. The next session starts from the level defined in your YAML. | ||
| - For models that don't support reasoning, and for remote runtimes, Shift+Tab is a no-op and an informational message is displayed. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -116,7 +116,7 @@ models: | |
| thinking_budget: 16384 # must be < max_tokens | ||
| ``` | ||
|
|
||
| **Adaptive / effort-based** (Claude Opus 4.6+ only — every string value is sent as adaptive thinking via `output_config.effort`): | ||
| **Adaptive / effort-based** (Claude Opus 4.6+, Sonnet 4.6 — every string value is sent as adaptive thinking via `output_config.effort`): | ||
|
|
||
| ```yaml | ||
| models: | ||
|
|
@@ -131,7 +131,7 @@ models: | |
| thinking_budget: high # low | medium | high | xhigh | max (same as adaptive/<effort>) | ||
| ``` | ||
|
|
||
| On models that reject token-based thinking (Opus 4.6, 4.7, 4.8), an integer budget is automatically coerced to `adaptive` with a logged warning. See the [Thinking / Reasoning guide]({{ '/guides/thinking/' | relative_url }}) for the full cross-provider reference. | ||
| On models that reject token-based thinking (Opus 4.6, 4.7, 4.8, Sonnet 4.6), an integer budget is automatically coerced to `adaptive` with a logged warning. See the [Thinking / Reasoning guide]({{ '/guides/thinking/' | relative_url }}) for the full cross-provider reference. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same point as in the thinking guide: Sonnet 4.6 is not in |
||
|
|
||
| ## Interleaved Thinking | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Small thing: the actual error is
unknown toolset type: <type>(pkg/teamloader/registry.go:142). The string "toolset type not registered" does not appear in the code, so anyone grepping for it would come up empty.