{
  "id": 14585309,
  "title": "Claude Opus 5.5 / Sonnet 5.5: 5 settings that return 400 when you only change the model name",
  "url": "https://urgent.news/2026/10/15/claude-opus-5-5-sonnet-5-5-5-settings-that-return-400-when-you-only",
  "topic": "ai",
  "section": "AI",
  "published": "2026-10-15T01:47:16.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/persimmoq/claude-opus-55-sonnet-55-5-settings-that-return-400-when-you-only-change-the-model-name-5g36"
  },
  "original_language": "en",
  "account": "Five settings on Claude Opus 5.5 and Sonnet 5.5 will return an HTTP 400 error when only the model name is changed:\n\n1. Omitting the \"thinking\" parameter and setting the output effort results in 400. Sonnet 5.5 uses the \"between_tools\" setting with a higher effort level to turn thinking off. Opus 5.5 rejects both \"disabled\" and \"enabled\" settings for thinking.\n\n2. Attempting to force a tool choice using \"tool_choice\": \"any\" or \"tool\" is rejected on both models, including on the token-counting endpoint. Use \"tool_choice\": \"auto\" with a strict tool and specify when to call the tool.\n\n3. Using the \"computer_20251124\" toolset is rejected by both models. Replace it with \"computer_toolset_20260801\". Sonnet 5.5 also rejects \"computer_20250124\".\n\n4. Editing conversation history, such as changing system messages, tools, or earlier turns, and sending thinking blocks back results in a 400 error. Keep history append-only and use system messages for changes. Update tools using tool_addition or tool_removal.\n\n5. Sonnet 5.5 rejects Opus 4.x and Sonnet 5 as advisors, returning 400. The advisor must be one of the specified models. Opus 5.5 and Sonnet 5.5 have additional refusal categories, and server-side fallback only retries specific categories.",
  "summary": "Claude Opus 5.5 shipped on September 22, 2026 and Claude Sonnet 5.5 on September 28. If you take code that runs on Opus 5 or Sonnet 5 and change only the model string, one of these five settings will return an HTTP 400. All five are in Anthropic's official migration guides; I reproduced the first one against the live API on October 6 and pasted the exact responses below. A static scanner that…",
  "key_points": [],
  "editors_take": "These strict API constraints force developers to adopt more rigid, append-only conversation histories and specific toolsets to ensure compatibility with the latest Claude model architectures.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}