SPB Git

Repository Public Research preview

request-rules.md 8.4 KB

# What each model accepts

Every cell is an observed API response (2026-11-10, API version 2026-10-21 unless stated). "rejected" means HTTP 400.

# Thinking and effort

Model adaptive enabled + budget_tokens disabled Effort levels
claude-fable-5-2 yes rejected rejected low, medium, high, xhigh, max
claude-haiku-5-5 yes rejected allowed (not at xhigh/max) low, medium, high, xhigh, max
claude-sonnet-5-5 yes rejected rejected — use between_tools low, medium, high, xhigh, max
claude-opus-5-5 yes rejected rejected low, medium, high, xhigh, max
claude-fable-5-1 yes rejected rejected low, medium, high, xhigh, max
claude-opus-5 yes rejected allowed (not at xhigh/max) low, medium, high, xhigh, max
claude-sonnet-5 yes rejected allowed low, medium, high, xhigh, max
claude-fable-5 yes rejected rejected low, medium, high, xhigh, max
claude-opus-4-8 yes rejected allowed low, medium, high, xhigh, max
claude-opus-4-7 yes rejected allowed low, medium, high, xhigh, max
claude-sonnet-4-6 yes yes (deprecated) allowed low, medium, high, max
claude-opus-4-6 yes yes (deprecated) allowed low, medium, high, max
claude-opus-4-5-20251101 rejected yes (required for thinking) allowed low, medium, high
claude-haiku-4-5-20251001 rejected yes (required for thinking) allowed no effort parameter
claude-sonnet-4-5-20250929 rejected yes (required for thinking) allowed no effort parameter

# Request features

Model Forced tool_choice (any/tool) Assistant prefill temperature/top_p/top_k (2026-10-21) Same (2023-06-01) role: "system" in messages
claude-fable-5-2 rejected rejected rejected rejected yes
claude-haiku-5-5 yes rejected rejected rejected yes
claude-sonnet-5-5 rejected rejected rejected rejected yes
claude-opus-5-5 rejected rejected rejected rejected yes
claude-fable-5-1 rejected rejected rejected rejected yes
claude-opus-5 yes rejected rejected rejected yes
claude-sonnet-5 yes rejected rejected rejected yes
claude-fable-5 yes rejected rejected rejected yes
claude-opus-4-8 yes rejected rejected rejected yes
claude-opus-4-7 yes rejected rejected rejected rejected
claude-sonnet-4-6 yes rejected rejected yes rejected
claude-opus-4-6 yes rejected rejected yes rejected
claude-opus-4-5-20251101 yes yes rejected yes rejected
claude-haiku-4-5-20251001 yes yes rejected yes rejected
claude-sonnet-4-5-20250929 yes yes rejected yes rejected

# Beta and platform features

Model Task budget Compaction Fast mode inference_geo web_search_20260209
claude-fable-5-2 yes yes ga yes yes
claude-haiku-5-5 yes yes unsupported yes yes
claude-sonnet-5-5 yes yes unsupported yes yes
claude-opus-5-5 yes yes ga yes yes
claude-fable-5-1 yes yes unsupported yes yes
claude-opus-5 yes yes beta header required yes yes
claude-sonnet-5 yes yes unsupported yes yes
claude-fable-5 yes yes unsupported yes yes
claude-opus-4-8 yes yes beta header required yes yes
claude-opus-4-7 yes yes unsupported yes yes
claude-sonnet-4-6 no yes unsupported yes yes
claude-opus-4-6 no yes beta header required yes yes
claude-opus-4-5-20251101 no no unsupported no yes
claude-haiku-4-5-20251001 no no unsupported no no — use web_search_20250305
claude-sonnet-4-5-20250929 no no unsupported no yes

# Beta flags (exact strings)

Send them in betas on the beta endpoint (client.beta.messages), or as the anthropic-beta header.

Feature Flag Request field
Task budget task-budgets-2026-03-13 output_config.task_budget
Compaction compact-2026-01-12 context_management.edits → compact_20260112
Context editing context-management-2025-06-27 context_management.edits → clear_tool_uses_20250919, clear_thinking_20251015
Server-side fallbacks server-side-fallback-2026-07-01 fallbacks: "default"
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)
Thinking progress updates thinking-display-updates-2026-08-18 thinking.display: "updates"
MCP connector mcp-client-2025-11-20 mcp_servers + an mcp_toolset entry in tools

Fast mode also needs account access: without it the API answers 429 (a fast-mode rate limit of 0), not 400.

Accepted 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.

# Exact error texts

  • thinking_disabled: "thinking.type.disabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.
  • thinking_budget: "thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.
  • thinking_between_tools: "thinking.type.between_tools" is not supported for this model.
  • temperature: temperature: Extra inputs are not permitted
  • top_p: top_p: Extra inputs are not permitted
  • top_k: top_k: Extra inputs are not permitted
  • tool_any: tool_choice: type "tool" and "any" are not supported for this model.
  • prefill: This model does not support assistant message prefill. The conversation must end with a user message.
  • max_tokens_over_cap: max_tokens: N > N, which is the maximum allowed number of output tokens for
  • legacy_temperature: temperature is deprecated for this model.
  • legacy_top_p: top_p is deprecated for this model.
  • 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.
  • speed_fast: '' does not support the speed parameter. This feature is only available on supported models.
  • 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.
  • speed_fast: To use the speed parameter with '', send the anthropic-beta: fast-mode-N-02-01 header.
  • mid_system: role 'system' is not supported on this model
  • effort_xhigh: This model does not support effort level 'xhigh'. Supported levels: high, low, max, medium.
  • task_budget: This model does not support user-configurable task budgets.
  • thinking_adaptive: adaptive thinking is not supported on this model
  • effort_xhigh: This model does not support effort level 'xhigh'. Supported levels: high, low, medium.
  • effort_max: This model does not support effort level 'max'. Supported levels: high, low, medium.
  • inference_geo_us: '' does not support inference_geo.
  • compaction: '' does not support the 'compact_N' context management strategy.
  • effort_low: This model does not support the effort parameter.
  • web_search_2026: '' 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.
  • web_fetch_2026: '' 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.
Files main
Menu

Theme