claude-code - 💡(How to fix) Fix [Claude Code CLI] (1) Voice-toggle strips typed slash commands; (2) Right-click "Attach message as context" double-pastes body (Windows 11) [1 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#53241Fetched 2026-04-26 05:20:47
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
labeled ×3

Two distinct input-layer bugs in Claude Code CLI on Windows 11:

  1. Voice-toggle strips typed slash commands. Toggling the in-house voice-to-text button wipes any pre-existing typed /foo from the input box on send. The harness never receives the structured <command-name> field; the command never executes.
  2. Right-click "Attach message as context" double-pastes the body. Using that menu item duplicates the prose content of the attached message in the next send (body appears twice with an interrupt-block between).

Both happen at the input layer. Typed slash commands without voice-toggle work correctly -- harness routes them via structured fields and the command executes normally.

Root Cause

Two distinct input-layer bugs in Claude Code CLI on Windows 11:

  1. Voice-toggle strips typed slash commands. Toggling the in-house voice-to-text button wipes any pre-existing typed /foo from the input box on send. The harness never receives the structured <command-name> field; the command never executes.
  2. Right-click "Attach message as context" double-pastes the body. Using that menu item duplicates the prose content of the attached message in the next send (body appears twice with an interrupt-block between).

Both happen at the input layer. Typed slash commands without voice-toggle work correctly -- harness routes them via structured fields and the command executes normally.

RAW_BUFFERClick to expand / collapse

Summary

Two distinct input-layer bugs in Claude Code CLI on Windows 11:

  1. Voice-toggle strips typed slash commands. Toggling the in-house voice-to-text button wipes any pre-existing typed /foo from the input box on send. The harness never receives the structured <command-name> field; the command never executes.
  2. Right-click "Attach message as context" double-pastes the body. Using that menu item duplicates the prose content of the attached message in the next send (body appears twice with an interrupt-block between).

Both happen at the input layer. Typed slash commands without voice-toggle work correctly -- harness routes them via structured fields and the command executes normally.

Repro -- Bug 1 (voice-toggle wipes typed slash commands)

  1. Type /your-command some prose here: into Claude Code CLI input box (do NOT send yet).
  2. Toggle the in-house voice-to-text button.
  3. Speak additional content.
  4. Send the message.
  5. The typed /your-command is GONE from the sent message body, even though it was visible in the input pre-toggle.

Repro -- Bug 2 (right-click "Attach message as context" doubles body)

  1. Send a message in Claude Code CLI.
  2. Right-click the sent message and select Attach message as context.
  3. Compose a new message and send.
  4. The prose content of the attached message appears TWICE in the new send (once pre-interrupt block, once post).

Expected behavior

  • Voice-toggle preserves any pre-existing typed content (including slash commands) and appends transcribed speech to it. Typed /foo reaches the harness; command executes.
  • Right-click attach-as-context inserts a single copy of the attached message into the new send.

Actual behavior

  • Voice-toggle path strips typed slash commands from the input on send. The receiving model never sees the structured <command-name> field; the command never executes; the rendered/copied body shows no slash.
  • Attach-as-context path duplicates the body of the attached message; the duplicated halves wrap any interrupt block from the original.

Empirical evidence

Session on 2026-04-25:

  1. User typed /build-command-skill (typed-only, no voice). Model received structured <command-name>build-command-skill</command-name> field plus full skill body correctly.
  2. User typed /bug-external typing this, speaking here: into the input box. Screenshot captured this state with the slash command clearly visible. User then toggled the in-house voice-to-text button and spoke additional prose. On send, the model received only the spoken prose: the typed /bug-external was stripped.
  3. Separately, when user used right-click "Attach message as context" on a prior message and re-sent, the body of the attached message arrived doubled in the receiving model context.

Suspected cause

  • Bug 1: voice-toggle path likely re-renders the input box after toggling, possibly through a code path that treats leading /word tokens as a command-mode trigger and consumes them rather than preserving as message body content.
  • Bug 2: attach-as-context path may concatenate the message body with itself, or fail to deduplicate when an interrupt block is present in the source message.
  • Both potentially related to v2.1.101 (April 11, 2026) merging custom slash commands into the skills system, if that merge changed the input-pipeline routing.

Environment

  • OS: Windows 11
  • Claude Code version: 2.1.101+ likely (commands-into-skills merge mentioned in changelog)
  • Custom slash commands defined in ~/.claude/commands/
  • Many active skills (~70+ across plugins + user)

Prior reports searched

WebSearch on 2026-04-25 returned no exact match. Closest issues are about commands not being detected at all (#10357, #9518, #9926, #2288, #8831) -- different problem (those are about file discovery; these are input-pipeline stripping/duplication). One related but distinct fix: /feedback no longer disappears from slash menu (different surface).

extent analysis

TL;DR

The most likely fix involves modifying the voice-toggle and attach-as-context code paths to preserve and correctly handle typed slash commands and message bodies.

Guidance

  • Investigate the code changes introduced in version 2.1.101, specifically the merge of custom slash commands into the skills system, to identify potential causes of the input-pipeline issues.
  • Review the voice-toggle code path to ensure it does not consume leading /word tokens as command-mode triggers, but instead preserves them as message body content.
  • Examine the attach-as-context code path to prevent concatenation of the message body with itself or failure to deduplicate when an interrupt block is present.
  • Verify that the ~/.claude/commands/ directory is correctly configured and that custom slash commands are properly defined.

Example

No code snippet is provided due to the lack of specific code details in the issue.

Notes

The suspected causes and guidance provided are based on the information given in the issue and may require further investigation to confirm. The presence of many active skills (~70+ across plugins + user) may also be a contributing factor to the issues.

Recommendation

Apply a workaround by modifying the voice-toggle and attach-as-context code paths to correctly handle typed slash commands and message bodies, as the root cause is likely related to the recent changes in version 2.1.101.

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…

FAQ

Expected behavior

  • Voice-toggle preserves any pre-existing typed content (including slash commands) and appends transcribed speech to it. Typed /foo reaches the harness; command executes.
  • Right-click attach-as-context inserts a single copy of the attached message into the new send.

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 [Claude Code CLI] (1) Voice-toggle strips typed slash commands; (2) Right-click "Attach message as context" double-pastes body (Windows 11) [1 participants]