[BUG] Claude for Mac sends deprecated `thinking.type.enabled` for Opus 4.7, causing 400 error — Windows same version works correctly

Resolved 💬 3 comments Opened May 22, 2026 by fengxx520rem-svg Closed Jun 21, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] 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_

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗