[BUG] command autocomplete only triggers at position 0, while @ triggers mid-prompt

Status Open
Reported on v2.1.160
Maintainer reply None cached
Activity 2 comments · opened Aug 28, 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?

App: Claude desktop (macOS) 1.40609.0 — installed 2026-08-27 Surface: Claude Code in the desktop app Regression noticed: immediately after the 2026-08-27 app update

Expected
Typing / anywhere in the composer opens the skill/command menu and filters as I type, so I can pick a skill mid-sentence.

Actual
The menu opens only when / is the first character of the message. Typing / after any other text inserts a literal slash with no menu, so skills cannot be browsed while composing.

Why this is inconsistent
Both pickers live in the same composer, but they use different mechanisms:

@ — cursor-local ProseMirror suggestion plugin (shared-11-BFWs2XIz.js):

const a = s.parent.textBetween(Math.max(0, s.parentOffset - 50), s.parentOffset, ...)
const l = this.storage.disabled ? null : a.match(/(?:^|\s)@(\S*)$/)
It inspects the 50 characters before the cursor, so it fires at start-of-line or after any whitespace — i.e. anywhere in the message.

/ — whole-message prefix check (shared-1-BK5wDqY-.js):

const i = e.trim();
if (!i.startsWith("/")) return;
const o = i.slice(1).split(" ")[0];
It tests the entire trimmed message, so it can only match at position 0.

Impact
With a large skill library (67 personal skills + ~1,000 plugin skills here), the / menu is the only practical way to discover a skill. Being unable to open it mid-sentence forces the user to either memorise exact skill names or restart the sentence.

What Should Happen?

Make the / menu a cursor-local suggestion plugin like @ — e.g. trigger on /(?:^|\s)\/(\S*)$/ — or expose skills as an @ mention provider. Today @'s providers are ccd-files, desktop, local-files, projects; none serve skills.

Ruled out locally
No settings key or env var governs slash-trigger position (searched the app bundle and the CLI).
ccd_slash_command_menu is a lazy-loaded chunk id, not a feature gate.
~/.claude/keybindings.json actions are a fixed enum with no text-insert, cursor-move, or command-exec action, so a binding cannot emulate it.
No previous app version is retained, so rollback is not possible.

Error Messages/Logs

None. No error is produced — the autocomplete menu simply does not open. Nothing is
written to the console or logs.

Steps to Reproduce

  1. Open Claude Code in the Claude desktop app (macOS 1.40609.0) with at least one skill

installed in ~/.claude/skills/.

  1. In the composer, type "/" as the FIRST character of an empty message.

-> The skill/command menu opens and filters as you type. This is correct.

  1. Clear the input. Now type any text first, for example:

refactor the auth module
then type a space and "/".
-> No menu appears. A literal "/" is inserted. Typing more characters never opens
the menu.

  1. For contrast, in the same composer type any text, then a space, then "@".

-> The mention menu DOES open mid-prompt, confirming the composer supports
cursor-local suggestion menus. Only "/" is restricted to position 0.

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

Claude desktop app 1.40609.0 (macOS)

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

Environment

  • Claude desktop app 1.40609.0 (macOS), installed 2026-08-27
  • Surface: Claude Code inside the desktop app (not the standalone CLI)
  • The standalone CLI binary on this machine is 2.1.160 from 2026-06-02 and is unchanged,

so this behaviour change did not come from a CLI update.

Ruled out locally before filing

  • No settings key or environment variable governs slash-trigger position (searched both

the app bundle and the CLI binary — zero matches).

  • "ccd_slash_command_menu" is a lazy-loaded chunk id (summonedWhileTyping), not a

feature gate.

  • ~/.claude/keybindings.json actions are a fixed enum with no text-insert, cursor-move,

or command-exec action, so a custom binding cannot emulate the behaviour.

  • No previous app version is retained on disk, so rolling back was not possible.

Current workaround
Compose the sentence, press Ctrl+A (Move to start of line), then type "/skill " there.
The already-typed sentence becomes $ARGUMENTS. This works but requires knowing the skill
name in advance, which is exactly what the menu is for.

View original on GitHub ↗

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