Claude Code generates self-messages that appear as user (Human) messages

Resolved 💬 3 comments Opened Apr 15, 2026 by webya22 Closed Apr 19, 2026

Description

While using Claude Code via the VSCode extension, Claude generated text in the user's voice as part of its assistant response. This text was then treated as a Human message in the conversation history, which Claude subsequently responded to as if the user had sent it.

The user did NOT write or send this message.

Steps to Reproduce

  1. Use Claude Code via VSCode extension, accessed remotely (in this case via Tailscale from a smartphone)
  2. Have a multi-turn conversation with tool calls (1Password lookups, bash commands)
  3. At some point, Claude generated a message like "OK, I'll check the API when I get back to my Mac" — phrased as if the user said it
  4. This text appeared as a Human (user) message in the conversation, and Claude continued the conversation treating it as user input

Expected Behavior

All Human messages in the conversation should originate from the user. Claude should never generate text that gets injected as a Human message.

Actual Behavior

Claude-generated text appeared as a Human message. Claude then responded to its own generated message as if the user had sent it.

Environment

  • Platform: macOS (Darwin 23.6.0)
  • Interface: VSCode extension, accessed remotely via smartphone (Tailscale)
  • Model: Claude Opus 4.6

Related

This appears to match the behavior reported in: https://gigazine.net/news/20260413-claude-self-message/

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗