Repository Public Research preview
1<!-- Generated by build-skill.mjs from live API probes (2026-11-10). Do not edit by hand. -->2# What each model accepts34Every cell is an observed API response (2026-11-10, API version 2026-10-21 unless stated). "rejected" means HTTP 400.56## Thinking and effort78| Model | `adaptive` | `enabled` + `budget_tokens` | `disabled` | Effort levels |9|---|---|---|---|---|10| `claude-fable-5-2` | yes | **rejected** | **rejected** | low, medium, high, xhigh, max |11| `claude-haiku-5-5` | yes | **rejected** | allowed (not at xhigh/max) | low, medium, high, xhigh, max |12| `claude-sonnet-5-5` | yes | **rejected** | **rejected** — use `between_tools` | low, medium, high, xhigh, max |13| `claude-opus-5-5` | yes | **rejected** | **rejected** | low, medium, high, xhigh, max |14| `claude-fable-5-1` | yes | **rejected** | **rejected** | low, medium, high, xhigh, max |15| `claude-opus-5` | yes | **rejected** | allowed (not at xhigh/max) | low, medium, high, xhigh, max |16| `claude-sonnet-5` | yes | **rejected** | allowed | low, medium, high, xhigh, max |17| `claude-fable-5` | yes | **rejected** | **rejected** | low, medium, high, xhigh, max |18| `claude-opus-4-8` | yes | **rejected** | allowed | low, medium, high, xhigh, max |19| `claude-opus-4-7` | yes | **rejected** | allowed | low, medium, high, xhigh, max |20| `claude-sonnet-4-6` | yes | yes (deprecated) | allowed | low, medium, high, max |21| `claude-opus-4-6` | yes | yes (deprecated) | allowed | low, medium, high, max |22| `claude-opus-4-5-20251101` | **rejected** | yes (required for thinking) | allowed | low, medium, high |23| `claude-haiku-4-5-20251001` | **rejected** | yes (required for thinking) | allowed | **no effort parameter** |24| `claude-sonnet-4-5-20250929` | **rejected** | yes (required for thinking) | allowed | **no effort parameter** |2526## Request features2728| Model | Forced `tool_choice` (`any`/`tool`) | Assistant prefill | `temperature`/`top_p`/`top_k` (2026-10-21) | Same (2023-06-01) | `role: "system"` in messages |29|---|---|---|---|---|---|30| `claude-fable-5-2` | **rejected** | **rejected** | **rejected** | **rejected** | yes |31| `claude-haiku-5-5` | yes | **rejected** | **rejected** | **rejected** | yes |32| `claude-sonnet-5-5` | **rejected** | **rejected** | **rejected** | **rejected** | yes |33| `claude-opus-5-5` | **rejected** | **rejected** | **rejected** | **rejected** | yes |34| `claude-fable-5-1` | **rejected** | **rejected** | **rejected** | **rejected** | yes |35| `claude-opus-5` | yes | **rejected** | **rejected** | **rejected** | yes |36| `claude-sonnet-5` | yes | **rejected** | **rejected** | **rejected** | yes |37| `claude-fable-5` | yes | **rejected** | **rejected** | **rejected** | yes |38| `claude-opus-4-8` | yes | **rejected** | **rejected** | **rejected** | yes |39| `claude-opus-4-7` | yes | **rejected** | **rejected** | **rejected** | **rejected** |40| `claude-sonnet-4-6` | yes | **rejected** | **rejected** | yes | **rejected** |41| `claude-opus-4-6` | yes | **rejected** | **rejected** | yes | **rejected** |42| `claude-opus-4-5-20251101` | yes | yes | **rejected** | yes | **rejected** |43| `claude-haiku-4-5-20251001` | yes | yes | **rejected** | yes | **rejected** |44| `claude-sonnet-4-5-20250929` | yes | yes | **rejected** | yes | **rejected** |4546## Beta and platform features4748| Model | Task budget | Compaction | Fast mode | `inference_geo` | `web_search_20260209` |49|---|---|---|---|---|---|50| `claude-fable-5-2` | yes | yes | ga | yes | yes |51| `claude-haiku-5-5` | yes | yes | unsupported | yes | yes |52| `claude-sonnet-5-5` | yes | yes | unsupported | yes | yes |53| `claude-opus-5-5` | yes | yes | ga | yes | yes |54| `claude-fable-5-1` | yes | yes | unsupported | yes | yes |55| `claude-opus-5` | yes | yes | beta header required | yes | yes |56| `claude-sonnet-5` | yes | yes | unsupported | yes | yes |57| `claude-fable-5` | yes | yes | unsupported | yes | yes |58| `claude-opus-4-8` | yes | yes | beta header required | yes | yes |59| `claude-opus-4-7` | yes | yes | unsupported | yes | yes |60| `claude-sonnet-4-6` | no | yes | unsupported | yes | yes |61| `claude-opus-4-6` | no | yes | beta header required | yes | yes |62| `claude-opus-4-5-20251101` | no | no | unsupported | no | yes |63| `claude-haiku-4-5-20251001` | no | no | unsupported | no | no — use `web_search_20250305` |64| `claude-sonnet-4-5-20250929` | no | no | unsupported | no | yes |6566## Beta flags (exact strings)6768Send them in `betas` on the beta endpoint (`client.beta.messages`), or as the `anthropic-beta` header.6970| Feature | Flag | Request field |71|---|---|---|72| Task budget | `task-budgets-2026-03-13` | `output_config.task_budget` |73| Compaction | `compact-2026-01-12` | `context_management.edits` → `compact_20260112` |74| Context editing | `context-management-2025-06-27` | `context_management.edits` → `clear_tool_uses_20250919`, `clear_thinking_20251015` |75| Server-side fallbacks | `server-side-fallback-2026-07-01` | `fallbacks: "default"` |76| Fast mode on Opus 5 / 4.8 / 4.6 | `fast-mode-2026-02-01` | `speed: "fast"` (no flag needed on `claude-opus-5-5`, `claude-fable-5-2`) |77| Thinking progress updates | `thinking-display-updates-2026-08-18` | `thinking.display: "updates"` |78| MCP connector | `mcp-client-2025-11-20` | `mcp_servers` + an `mcp_toolset` entry in `tools` |7980Fast mode also needs account access: without it the API answers 429 (a fast-mode rate limit of 0), not 400.8182Accepted by every probed model: structured outputs (`output_config.format`), `tool_choice` `auto` and `none`, strict tools, top-level `cache_control`, `stop_sequences`, token counting, citations, context editing (beta), server-side fallbacks (beta), the memory, bash and text-editor client tools, tool search.8384## Exact error texts8586- `thinking_disabled`: "thinking.type.disabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.87- `thinking_budget`: "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.88- `thinking_between_tools`: "thinking.type.between_tools" is not supported for this model.89- `temperature`: temperature: Extra inputs are not permitted90- `top_p`: top_p: Extra inputs are not permitted91- `top_k`: top_k: Extra inputs are not permitted92- `tool_any`: tool_choice: type "tool" and "any" are not supported for this model.93- `prefill`: This model does not support assistant message prefill. The conversation must end with a user message.94- `max_tokens_over_cap`: max_tokens: N > N, which is the maximum allowed number of output tokens for <model>95- `legacy_temperature`: `temperature` is deprecated for this model.96- `legacy_top_p`: `top_p` is deprecated for this model.97- `disabled_at_xhigh`: output_config.effort 'xhigh' is not supported when thinking is disabled on this model. Use effort 'high' or below, or enable thinking.98- `speed_fast`: '<model>' does not support the `speed` parameter. This feature is only available on supported models.99- `thinking_disabled`: To turn thinking off on this model, send "thinking": {"type": "between_tools"} instead of {"type": "disabled"}. The model does not think before responding. The short updates it writes between tool calls come back as thinking blocks.100- `speed_fast`: To use the `speed` parameter with '<model>', send the `anthropic-beta: fast-mode-N-02-01` header.101- `mid_system`: role 'system' is not supported on this model102- `effort_xhigh`: This model does not support effort level 'xhigh'. Supported levels: high, low, max, medium.103- `task_budget`: This model does not support user-configurable task budgets.104- `thinking_adaptive`: adaptive thinking is not supported on this model105- `effort_xhigh`: This model does not support effort level 'xhigh'. Supported levels: high, low, medium.106- `effort_max`: This model does not support effort level 'max'. Supported levels: high, low, medium.107- `inference_geo_us`: '<model>' does not support inference_geo.108- `compaction`: '<model>' does not support the 'compact_N' context management strategy.109- `effort_low`: This model does not support the effort parameter.110- `web_search_2026`: '<model>' does not support programmatic tool calling. The following tools have `allowed_callers` that require it: web_search. Explicitly set `allowed_callers=["direct"]` on these tools, or use a model that supports programmatic tool calling.111- `web_fetch_2026`: '<model>' does not support programmatic tool calling. The following tools have `allowed_callers` that require it: web_fetch. Explicitly set `allowed_callers=["direct"]` on these tools, or use a model that supports programmatic tool calling.112