I.
Wiki article
Reading · 1 minprocess/gaps/GAP-L1-P1-adaptive-thinking-vs-extended-thinking
GAP-L1-P1-adaptive-thinking-vs-extended-thinking reference
ModelVersion.supportsThinking: bool + thinkingEffortLevels + supportsThinkingBudgetTokens. Anthropic now ships TWO distinct thinking modes:
Continue reading
Nearby pages in the same section.
GAP-L1-P0-claude-code-plugin-component-typesGAP-L1-P0-claude-models-pricing-and-lineupGAP-L1-P0-mcp-spec-2025-11-25GAP-L1-P1-anthropic-skills-vs-claude-code-skillsGAP-L1-P1-cursor-profiles-and-modesGAP-L1-P1-mcp-elicitation-and-resource-linksGAP-L1-P1-mcp-oauth-resource-serverGAP-L1-P1-repo-graph-discovery-signalGAP-L1-P1-repo-graph-session-lifecycle-semanticsGAP-L1-P2-gemini-2-5-and-3GAP-L1-P2-mcp-stdio-vs-http-sse-deprecationGAP-L1-P2-openai-codex-and-responses-apiGAP-L1-P2-repo-graph-cisurface-packagesurfaceGAP-L1-P2-repo-graph-pluginartifactGAP-L1-P3-benchmarks-staleGAP-L2-P0-pathdescriptor-undeclared-but-referencedGAP-L2-P1-edge-kinds-md-vs-yaml-parityGAP-L2-P1-mcptransport-status-attribute-undeclaredGAP-L2-P2-cluster-count-mismatchGAP-L2-P2-coverage-checklist-internal-broken-refsGAP-L2-P2-versionrange-attribute-on-modelversion
GAP-L1-P1-adaptive-thinking-vs-extended-thinking
| Field | Value |
|---|---|
| id | gap:adaptive-thinking-vs-extended-thinking |
| title | Adaptive thinking (Claude 4.6/4.7) vs extended thinking conflated under one supportsThinking flag |
| level | 1 |
| priority | P1 |
| discoveredAt | 2026-04-28T00:00:00Z |
| source | https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking |
| status | open |
| owner | tbd |
Current state
ModelVersion.supportsThinking: bool + thinkingEffortLevels + supportsThinkingBudgetTokens. Anthropic now ships TWO distinct thinking modes:
- **Extended thinking** — explicit budget/effort, visible thinking blocks, available on Sonnet 4.6 / Haiku 4.5 / older Opus.
- **Adaptive thinking** — model auto-decides depth, available on Opus 4.7 + Sonnet 4.6, NOT on Haiku 4.5. Opus 4.7 has adaptive but **not** extended thinking.
The current single boolean cannot represent "Opus 4.7 has adaptive but no extended thinking".
Desired state
Replace supportsThinking: bool with two booleans (or an enum-set):
supportsExtendedThinking: boolsupportsAdaptiveThinking: bool- Update invariant:
thinkingEffortLevelsrequiressupportsExtendedThinking;supportsThinkingBudgetTokensrequiressupportsExtendedThinking.
Evidence
- https://platform.claude.com/docs/en/docs/about-claude/models/overview (Opus 4.7 row: Extended=No, Adaptive=Yes)
- https://platform.claude.com/docs/en/build-with-claude/adaptive-thinking
- https://platform.claude.com/docs/en/build-with-claude/extended-thinking
Propagation status
- Level 1: open
- Level 2: not-started — invariants.yaml + 02-node-kinds/compute-path.md need updates
Propagation chain
- Level 1: split attribute, update 3 example model files.
- Level 2: update validation rules referencing thinking-related invariants.
Notes
Real-world divergence the schema cannot currently encode.