claude-code - 💡(How to fix) Fix [BUG] Claude for Mac sends deprecated `thinking.type.enabled` for Opus 4.7, causing 400 error — Windows same version works correctly

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  • Mac: Claude for Mac Version 1.8089.1 (b98a06) → ❌ 400 Error This results in a 400 Invalid Request Error:

Error Messages/Logs

  1. Observe 400 error due to thinking.type.enabled being sent in the request

Code Example

{
  "model": "claude-opus-4-7",
  "thinking": {
    "budget_tokens": 1024,
    "type": "enabled"
  }
}

---
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?


Environment

  • Mac: Claude for Mac Version 1.8089.1 (b98a06) → ❌ 400 Error
  • Windows: Claude for Windows Version 1.4758.0 (fb266c) → ✅ Works correctly
  • Model: claude-opus-4-7
  • Custom ANTHROPIC_BASE_URL configured via settings.json (pointing to an AI Gateway proxy)

Problem

When using Claude Opus 4.7 on Claude for Mac, the app sends the following deprecated thinking parameter:

{
  "model": "claude-opus-4-7",
  "thinking": {
    "budget_tokens": 1024,
    "type": "enabled"
  }
}

This results in a 400 Invalid Request Error:

"thinking.type.enabled" is not supported for this model. Use "thinking.type.adaptive" and "output_config.effort" to control thinking behavior.


Cross-platform comparison

On Claude for Windows (Version 1.4758.0) with the exact same configuration, Opus 4.7 works correctly — the Windows client sends the correct thinking.type: adaptive format without any issues.

This confirms the bug is Mac client-specific, not related to the Gateway proxy or account configuration.


Please fix the Mac client to use the correct adaptive thinking format for Opus 4.7, matching the behavior already implemented in the Windows client.

What Should Happen?

Claude for Mac should send thinking: { "type": "adaptive" } (without budget_tokens) when using Opus 4.7, consistent with the Windows client behavior.

Error Messages/Logs

Steps to Reproduce

  1. Install Claude for Mac 1.8089.1
  2. Configure a custom ANTHROPIC_BASE_URL in ~/.claude/settings.json
  3. Select model claude-opus-4-7
  4. Send any message
  5. Observe 400 error due to thinking.type.enabled being sent in the request

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.142

Platform

Other

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

No response

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] Claude for Mac sends deprecated `thinking.type.enabled` for Opus 4.7, causing 400 error — Windows same version works correctly