claude-code - 💡(How to fix) Fix [BUG] VS Code extension: first user message lost when IDE tools injected via deferred_tools_delta [1 comments, 2 participants]

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…
GitHub stats
anthropics/claude-code#49675Fetched 2026-04-17 08:34:30
View on GitHub
Comments
1
Participants
2
Timeline
6
Reactions
0
Author
Timeline (top)
labeled ×5commented ×1

Error Message

API Error: 400 {"id":"1776394414315-tja4r6er1pssc","type":"error","error":{"type":"request_error","message":"{\ "type":"error","error":{"type":"invalid_request_error","message":"messages.2: user messages must have non-empty content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}","raw_body":"{"type":"error","e API Error: 400 {"id":"1776394414315-tja4r6er1pssc","type":"error","error":{"type":"request_error","message":"{\ "type":"error","error":{"type":"invalid_request_error","message":"messages.2: user messages must have non-empty content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}","raw_body":"{"type":"error","e

Error Messages/Logs

API Error: 400 {"id":"1776394414315-tja4r6er1pssc","type":"error","error":{"type":"request_error","message":"{\ "type":"error","error":{"type":"invalid_request_error","message":"messages.2: user messages must have non-empty content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}","raw_body":"{"type":"error","e

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?

API Error: 400 {"id":"1776394414315-tja4r6er1pssc","type":"error","error":{"type":"request_error","message":"{\ "type":"error","error":{"type":"invalid_request_error","message":"messages.2: user messages must
have non-empty content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}","raw_body":"{"type":"error","e rror":{"type":"invalid_request_error","message":"messages.2: user messages must have non-empty
content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}"}}

What Should Happen?

API Error: 400 {"id":"1776394414315-tja4r6er1pssc","type":"error","error":{"type":"request_error","message":"{\ "type":"error","error":{"type":"invalid_request_error","message":"messages.2: user messages must
have non-empty content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}","raw_body":"{"type":"error","e rror":{"type":"invalid_request_error","message":"messages.2: user messages must have non-empty
content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}"}}

Error Messages/Logs

Steps to Reproduce

API Error: 400 {"id":"1776394414315-tja4r6er1pssc","type":"error","error":{"type":"request_error","message":"{\ "type":"error","error":{"type":"invalid_request_error","message":"messages.2: user messages must
have non-empty content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}","raw_body":"{"type":"error","e rror":{"type":"invalid_request_error","message":"messages.2: user messages must have non-empty
content"},"request_id":"req_011Ca8b2u7MHTk5wh5mFKgc7"}"}}

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.112

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

No response

extent analysis

TL;DR

Ensure that all user messages in the API request have non-empty content to resolve the "messages.2: user messages must have non-empty content" error.

Guidance

  • Verify the API request payload to identify the empty user message causing the error.
  • Check the code that constructs the API request to ensure it handles empty messages correctly.
  • Modify the code to either remove empty messages or provide a default value to prevent the error.
  • Review the API documentation to understand the requirements for user messages and ensure compliance.

Example

No code snippet can be provided without knowing the specific code used to construct the API request. However, a general example of checking for empty messages in a hypothetical request payload might look like:

request_payload = {
    "messages": [
        {"content": "Hello"},
        {"content": ""},  # This empty message would cause the error
        {"content": "World"}
    ]
}

# Before sending the request, filter out empty messages
request_payload["messages"] = [msg for msg in request_payload["messages"] if msg["content"]]

# Now the request_payload is safe to send

Notes

The exact fix depends on the specifics of the code and the requirements of the API. This guidance assumes that empty messages are not intended and should be either removed or filled with a default value.

Recommendation

Apply a workaround by ensuring all user messages have non-empty content, as this is a regression from a previous version where it worked, and there's no clear indication of a version fix available.

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: first user message lost when IDE tools injected via deferred_tools_delta [1 comments, 2 participants]