Claude code web: 400 "Invalid high surrogate" on every message, persists across new sessions, repo is clean.

Resolved 💬 0 comments Opened Jun 5, 2026 by GGGP-Test Closed Jun 5, 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 in any new session on my repo returns:
API Error: 400 The request body is not valid JSON: invalid high surrogate in string: line 1 column 3170 (char 3169)

Started after copy-pasting text between two separate account browser sessions (two accounts on same repo). Entire repo scanned programmatically — 337 files, zero lone surrogates found. New sessions also fail immediately on first message.

What Should Happen?

Sessions on this repo should work normally. Typing any message should not produce a 400 error.

Error Messages/Logs

API Error: 400 The request body is not valid JSON: invalid high surrogate in string: line 1 column 3120 (char 3119)

Steps to Reproduce

  1. Open Claude Code web on repo GGGP-Test/warlord-platform
  2. Start a new session
  3. Type any message (even "hello")
  4. Error appears immediately

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

web (claude.ai/code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

Windows Terminal

Additional Information

Using Claude Code on the web, not CLI. Two accounts both push to same repo. Bad character introduced via cross-account copy-paste, but repo is now fully clean.

View original on GitHub ↗