LLM API migration errors and fixes
Every documented error and behavior change the request migration linter checks, each with its fix and the official source.
Anthropic (Claude)
OpenAI
| Change | Status | Models |
|---|---|---|
| max_tokens isn’t compatible with OpenAI o-series models | Rejected | o1*, o3*, o4* |
| stop isn’t supported on o3 and o4-mini | Rejected | o3, o3-*, o4-mini, o4-mini-* |
| Tool calling on GPT-6 Astra, GPT-6.1 Sol and GPT-6.1 Terra requires the Responses API | Rejected | gpt-6-astra, gpt-6.1-sol, gpt-6.1-terra |
| Chat Completions function tools on GPT-6 Luna, GPT-6 Sol and GPT-5.6 need reasoning_effort none | Rejected | gpt-6-luna, gpt-6-sol, gpt-5.6-* |
| reasoning effort none returns a 400 on GPT-6 Astra | Returns 400 | gpt-6-astra |
| GPT-6.1 Sol doesn’t support reasoning effort none or minimal | Rejected | gpt-6.1-sol |
| Remove temperature, top_p and logprobs on GPT-6 unless reasoning effort is none | Rejected | gpt-6* |
| temperature, top_p and logprobs raise an error on GPT-5 models | Rejected | gpt-5, gpt-5-mini, gpt-5-nano, gpt-5.2*, gpt-5.4* |
| prompt_cache_retention becomes prompt_cache_options.ttl on GPT-6 | Behavior change | gpt-6* |
Last checked 2026-11-02 against the official OpenAI and Anthropic docs.