[BUG] [BUG] API Error: 400 status code (no body) on Windows — All Clients Affected, Mac Works Fine

Resolved 💬 4 comments Opened Apr 10, 2026 by LUYUTING729 Closed Apr 13, 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?

Every message sent through Claude Code returns on Windows. The error occurs across all clients — terminal CLI, VSCode extension, and the desktop app. The same account works perfectly on macOS with the same VPN.API Error: 400 status code (no body)
The key characteristic is no body in the response — the error contains zero JSON payload, which suggests the request is being intercepted or rejected before reaching Anthropic's servers, or that the response is being stripped in transit.

What Should Happen?

Something specific to how Claude Code constructs or sends HTTPS requests on Windows is being silently rejected — possibly related to a Windows-specific TLS handshake behavior, HTTP/2 negotiation, or a request header that triggers rejection at a network layer not visible through standard diagnostic tools. The "no body" nature of the 400 suggests the response is either being generated locally or stripped in transit before the JSON error payload is included.

Error Messages/Logs

API Error: 400 status code (no body)
This error appears immediately after sending any message, including simple greetings like "hi".

Steps to Reproduce

Install Claude Code on Windows via winget install Anthropic.ClaudeCode
Authenticate via (OAuth, firstParty)claude auth login
Run and send any messageclaude
Observe: API Error: 400 status code (no body)

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.97

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

PowerShell

Additional Information

I‘m not a good English user. All the details are in this document conclude with web-claude. Please must read this or it will be hard to get the things clarified.

View original on GitHub ↗

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