[BUG] Skill autocomplete fails for second `/` when message starts with a skill invocation

Resolved 💬 4 comments Opened Feb 19, 2026 by stevencmillerjr Closed Mar 20, 2026

Preflight Checklist

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

What's Wrong?

Summary

When a message begins with a / skill invocation (e.g., /n8n-evaluations), the autocomplete menu does not appear for any subsequent /skill-name typed later in the same message. However, if the message begins with plain text and / appears mid-message, autocomplete works correctly for all positions — including multiple skill invocations.

What Should Happen?

Expected Behavior

The autocomplete menu should trigger for every / typed in the input, regardless of whether the message starts with a /skill-name or plain text. Users should be able to reference multiple skills in a single message (e.g., /n8n-evaluations and /n8n-prompt-architect review this workflow).

Error Messages/Logs

## Workarounds

1. Start the message with a space or text before the first `/` (e.g., `Please /skill-a and /skill-b`)
2. Use a newline between skill invocations (test 11 passes)
3. Type the full skill name manually without relying on autocomplete
4. Send each skill invocation as a separate message

Steps to Reproduce

Steps to Reproduce

Failing case:

  1. Open Claude Code
  2. Have at least 2 skills available (e.g., n8n-evaluations, n8n-prompt-architect)
  3. Type /n8n-evaluations and (autocomplete works for the first skill, select it)
  4. Continue typing /n8n-p in the same message
  5. Expected: Autocomplete menu appears offering n8n-prompt-architect
  6. Actual: No autocomplete menu appears

Working case (same session):

  1. Type some text first /n8n-e (note: message starts with plain text, not /)
  2. Result: Autocomplete menu appears correctly
  3. Select the skill, continue typing and also /n8n-p
  4. Result: Autocomplete menu appears again correctly

Detailed Test Results

14 test cases were run. The results show a clear pattern.

Group 1: Tab/Arrow Keys (all fail)

Tab and arrow keys do not trigger the autocomplete menu, confirming that autocomplete is triggered by typing / rather than Tab. These failures are expected behavior, not bugs — noted here to clarify the interaction model.

| # | Input | Result |
|---|-------|--------|
| 1 | /n8n then Tab/arrow | No autocomplete |
| 2 | /skill-builder then Tab/arrow | No autocomplete |
| 3 | /n8n-prompt-architect then Tab/arrow | No autocomplete |
| 4 | /review-skill then Tab/arrow | No autocomplete |

Group 2: Message starts with / — second skill autocomplete (all fail)

When the message starts with a /skill-name, autocomplete does not trigger for any subsequent / in the same message.

| # | Input | Result |
|---|-------|--------|
| 5 | /n8n-evaluations some text /n8n-p | No autocomplete for second / |
| 6 | /n8n-evaluations and /skill-b | No autocomplete for second / |
| 7 | /skill-builder and /n8n | No autocomplete for second / |
| 8 | /review-skill and /n8n-e | No autocomplete for second / |

Group 3: Message starts with plain text (all pass)

When the message starts with non-/ text, autocomplete works correctly at any position, including multiple / invocations.

| # | Input | Result |
|---|-------|--------|
| 9 | some text first /n8n | Autocomplete works |
| 10 | text /n8n-evaluations more text /n8n-p | Autocomplete works for both |
| 11 | /n8n (newline) /skill-b | Autocomplete works on second line |

Group 4: Edge Cases

| # | Input | Result | Notes |
|---|-------|--------|-------|
| 12 | /n8n-evaluations (submit), new message /n8n-p | Pass | Fresh message resets state |
| 13 | Type /n8n, delete it, type /skill-b | Pass | Deletion resets state |
| 14 | /n8n-evaluations /n8n-prompt-architect /skill-b | Fail | Multiple skills, starts with / |

Root Cause Hypothesis

When the first character of the input buffer is /, the input handler appears to enter a "skill invocation mode" that consumes all subsequent / characters as literal text rather than autocomplete triggers. This mode is not entered when / appears after non-/ text.

Supporting evidence:

  • Test 11 (pass): /n8n followed by a newline, then /skill-b works — the newline appears to reset the parser
  • Test 13 (pass): Typing then deleting /n8n resets state, allowing a fresh / to trigger autocomplete
  • Test 12 (pass): Submitting the message and starting fresh works normally
  • Tests 5–8, 14 (fail): All start with / and fail for subsequent / in the same input

Claude Model

Not sure / Multiple models

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

Claude Code 2.1.47 and You're running Claude Opus 4.6 (from the Claude 4.5 model family).

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

iTerm2

Additional Information

Environment

  • Claude Code Version: Claude Code 2.1.47
  • OS: macOS (Darwin 25.3.0)
  • Affected Environments:
  • Claude Code CLI (terminal)
  • Claude Code in the App Tab (Claude desktop app)
  • Terminal (for CLI testing): _(fill in: iTerm2 / Terminal.app / VS Code / etc.)_

Note: This bug reproduces in both the standalone Claude Code terminal and the App Tab (Claude Code embedded in the Claude desktop app).

View original on GitHub ↗

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