claude-code - 💡(How to fix) Fix [BUG] VS Code extension sends invalid system role in messages array

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

API Error: 400 Failed to deserialize the JSON body into the target type: messages[1].role: unknown variant system, expected user or assistant at line 1 column 688

Code Example

API Error: 400 Failed to deserialize the JSON body into the target type: messages[1].role: unknown variant system, expected user or assistant at line 1 column 688
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

When using Claude Code in VS Code, requests intermittently fail with: API Error: 400 Failed to deserialize the JSON body into the target type: messages[1].role: unknown variant system, expected user or assistant at line 1 column 688 It looks like the VS Code integration sends a system role inside the messages array, but the backend endpoint only accepts user or assistant.

What Should Happen?

Claude Code in VS Code should send a valid request payload that does not include invalid role values in messages, and the request should complete normally.

Error Messages/Logs

API Error: 400 Failed to deserialize the JSON body into the target type: messages[1].role: unknown variant system, expected user or assistant at line 1 column 688

Steps to Reproduce

Open VS Code with Claude Code extension enabled. Send any normal prompt in Claude Code chat/panel. Observe occasional immediate failure with the error above. Downgrade extension to an older version and retry. Same workflow works after downgrade.

Claude Model

Other

Is this a regression?

Yes, this worked in a previous version

Last Working Version

[email protected]

Claude Code Version

2.1.156 (Claude Code)

Platform

Other

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

This appears to be VS Code integration specific. CLI usage works normally in comparison. Downgrading the VS Code Claude extension restores normal behavior.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix [BUG] VS Code extension sends invalid system role in messages array