[BUG] Claude repeatedly introduces invalid JSON by using typographic quotes as string delimiters

Open 💬 0 comments Opened Jun 21, 2026 by stixen

Description

Claude Code wrote JSON files using typographic/curly quotes (" U+201C, " U+201D) as JSON string delimiters instead of ASCII " (U+0022). When attempting to fix the errors, Claude made them progressively worse through overly complex fix attempts and introduced further corruption. This cost ~30 minutes and significant token usage correcting Claude's own basic mistakes.

Steps to Reproduce

  1. Ask Claude to write or edit a JSON data file containing German text with quotation marks (e.g. „Beispiel")
  2. Claude produces a JSON file where structural string delimiters are typographic quotes instead of ASCII "
  3. The file fails to parse at runtime with errors like '0xE2' is an invalid start of a property name
  4. Ask Claude to fix the error
  5. Claude applies complex PowerShell byte-level fixes that introduce further corruption instead of simply correcting the quotes

Expected Behavior

Claude should never produce structurally invalid JSON. String delimiters must always be ASCII U+0022.

Environment

  • OS: Windows 11
  • Claude Code version: unknown (please check claude --version)
  • Project type: Godot 4 C# project

View original on GitHub ↗