Skip to content

docs: fix per-model Shift+Tab thinking-level cycle description#3111

Merged
dgageot merged 3 commits into
mainfrom
docs/auto-update
Jun 15, 2026
Merged

docs: fix per-model Shift+Tab thinking-level cycle description#3111
dgageot merged 3 commits into
mainfrom
docs/auto-update

Conversation

@aheritier

Copy link
Copy Markdown
Contributor

Documentation changes

Updates `docs/guides/thinking/index.md` to fix the description of how the TUI's Shift+Tab thinking-level cycling works after #3097 changed the behaviour from per-provider to per-model.

What was wrong

The "Changing Thinking Level at Runtime" section said:

The level steps through the model's supported range (provider-specific), wrapping around — for example `none → minimal → low → medium → high → xhigh → none` on OpenAI.

After #3097, cycling is model-specific — each model only offers the levels its API actually accepts. The old OpenAI example implied every OpenAI reasoning model cycles through `xhigh`, but that's only true for gpt-5.2+; gpt-5, gpt-5.1, and the o-series all top out at `high`.

What was fixed

The bullet now reads:

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 → none` on Anthropic Sonnet, `none → low → medium → high → max → none` on Anthropic Opus 4.6, and `none → low → medium → high → xhigh → none` on Anthropic Opus 4.7+.

Commits

Commit Source PR What changed
818742d1 #3097 Fix Shift+Tab cycle description — model-specific, accurate per-model examples

PRs reviewed and found up to date

Source PR Reason
#3099 Docs-only PR — already updated docs
#3098 Wider dialog widths — UI cosmetic, no user-facing behaviour change, no docs needed
#3096 Docs included in the PR (thinking_budget, Bedrock adaptive thinking)
#3095 Docs included in the PR (force_handoff, hooks reference)

@aheritier aheritier requested a review from a team as a code owner June 14, 2026 04:04
@aheritier aheritier added the kind/docs Documentation-only changes label Jun 14, 2026

@docker-agent docker-agent left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assessment: 🟡 NEEDS ATTENTION

This documentation fix correctly changes the cycling description from "provider-specific" to "model-specific". Two inconsistencies were found in the updated examples on line 335.

Comment thread docs/guides/thinking/index.md Outdated
Comment thread docs/guides/thinking/index.md Outdated
@aheritier aheritier added the area/tui For features/issues/fixes related to the TUI label Jun 14, 2026
@aheritier aheritier self-assigned this Jun 14, 2026
…gpt-5.2+

Address two reviewer comments on PR #3111:

1. Remove the Anthropic Sonnet cycle example (none→low→medium→high→none)
   which implied effort-string cycling works on Sonnet 4.5. Per the warning
   at line 123 and the code in pkg/modelinfo/thinking_levels.go, effort
   strings are only accepted by Opus 4.6+ (adaptive thinking); Sonnet 4.5
   and earlier require integer token budgets. Cycling through string levels
   on such models has no effect — clarify this instead.

2. Retain gpt-5.2+ in the example. The openAISupportsXHighEffort() function
   in thinking_levels.go explicitly gates xhigh on gpt-5.x with minor
   version ≥ 2, and lines 27, 40, and 61 of this same doc already document
   this per-version distinction — the example is consistent with the rest of
   the page.
@aheritier

Copy link
Copy Markdown
Contributor Author

Addressed both reviewer comments in commit 92c42de:

Issue 1 (Anthropic Sonnet cycle): Removed the separate Anthropic Sonnet cycle example (none → low → medium → high → none). It was misleading — the code cycles through effort strings for all Anthropic models, but effort strings only work on Opus 4.6+ (adaptive thinking). For Sonnet 4.5 and earlier, the API only accepts integer token budgets. The bullet now ends with: "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."

Issue 2 (gpt-5.2+): Retained gpt-5.2+ — it is backed by openAISupportsXHighEffort() in pkg/modelinfo/thinking_levels.go, which explicitly gates xhigh on gpt-5. prefix with minor version >= 2. Lines 27, 40, and 61 of this same doc already document this per-version distinction, so the cycle example is internally consistent.

@dgageot dgageot merged commit 16531d5 into main Jun 15, 2026
12 checks passed
@dgageot dgageot deleted the docs/auto-update branch June 15, 2026 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/tui For features/issues/fixes related to the TUI kind/docs Documentation-only changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants