Better Models: Worse Tools
Points and comments are a snapshot, not live.
Newer Claude models invent extra keys in tool call arrays, likely from post-training in Claude Code's forgiving harness.
The author found that Opus 4.8 and Sonnet 5 hallucinate fields (e.g., `requireUnique`, `type`, `oldText2`) in Pi's nested `edits[]` tool call. Older models do not. The hypothesis is that Claude Code's closed harness silently accepts slop and retrains on that behavior, making alternative schemas off-distribution. Strict mode fixes it but Anthropic imposes complexity limits. The article argues tool schemas are not neutral for Anthropic models, and other harnesses may inherit Claude Code's quirks.
What commenters are saying
Commenters split: some propose forgiving error messages or alternative tool schemas (e.g., curl commands, Sam editor syntax). Others compare the problem to browser quirks and warn against model-specific harness lock-in. A few note that constrained decoding can degrade quality. One commenter observes this is a classic walled garden issue: proprietary models perform best in their own harness.