[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
- Ask Claude to write or edit a JSON data file containing German text with quotation marks (e.g.
„Beispiel") - Claude produces a JSON file where structural string delimiters are typographic quotes instead of ASCII
" - The file fails to parse at runtime with errors like
'0xE2' is an invalid start of a property name - Ask Claude to fix the error
- 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