claude-code - 💡(How to fix) Fix Slash-command `argument-hint` rendering overwrites typed characters with blanks

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…

When a slash command has an argument-hint defined, typing the full command name and a space causes the display to overwrite the trailing typed characters with blanks. The input buffer itself is unaffected — only the rendering. This is distinct from any feature-request about configurable cursor style.

Root Cause

When a slash command has an argument-hint defined, typing the full command name and a space causes the display to overwrite the trailing typed characters with blanks. The input buffer itself is unaffected — only the rendering. This is distinct from any feature-request about configurable cursor style.

Code Example

argument-hint: <project> [--infra] [--v1] [--examples] [--repo <name>] | <PR#> [overrides] | --archive <project> | (no args, asks)
RAW_BUFFERClick to expand / collapse

Summary

When a slash command has an argument-hint defined, typing the full command name and a space causes the display to overwrite the trailing typed characters with blanks. The input buffer itself is unaffected — only the rendering. This is distinct from any feature-request about configurable cursor style.

Repro

  1. Define a slash command at ~/.claude/commands/doc.md with frontmatter:
    argument-hint: <project> [--infra] [--v1] [--examples] [--repo <name>] | <PR#> [overrides] | --archive <project> | (no args, asks)
  2. In Claude Code's interactive prompt, type these 5 keystrokes: /, d, o, c, (slash, d, o, c, space).
  3. Stop and observe the display.

Expected

Display: /doc [cursor]<ghost-text-hint> — the typed /doc fully visible, hint begins after the cursor.

Actual

Display: /do [cursor]<ghost-text-hint> — the typed c AND the typed space are both rendered as blanks; the block cursor sits one column to the right of where the c should be visible. The hint text begins after the cursor.

The buffer is fine (submitting the command works correctly) — this is purely a rendering bug.

Diagnosis

The argument-hint rendering layer appears to:

  1. Overwrite the position of c (the last char of the command name) with a blank,
  2. Overwrite the typed space with a second blank,
  3. Position the block cursor on that second blank,
  4. Render the hint text after the cursor.

The hint's rendering origin is computed too far to the left, eating typed characters that should remain visible.

Environment

  • macOS 15.x, zsh, VS Code integrated terminal
  • Claude Code CLI (Opus 4.7, 1M context build, current as of 2026-05-16)

Related

Distinct from the open feature-requests for configurable cursor style (#29133, #16086, #10215, #674) — those ask for user choice of cursor style; this is a rendering bug in the default path. Even users who prefer a block cursor would benefit from typed characters remaining visible.

Screenshot

<img width="553" height="86" alt="Image" src="https://github.com/user-attachments/assets/eed784fb-4fa2-4c78-90ce-403752222724" />

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 Slash-command `argument-hint` rendering overwrites typed characters with blanks