Typeahead doesn't match colon-namespaced plugin commands by namespace prefix
Description
When typing a slash command prefix that matches a plugin namespace (e.g., /agentem), the typeahead autocomplete does not show any of the colon-namespaced commands from that plugin (e.g., /agentem:doctor, /agentem:init, /agentem:sprint-plan). The commands are registered and execute correctly when typed in full — they are just completely absent from the typeahead index.
Steps to Reproduce
- Install a plugin that registers colon-namespaced slash commands (e.g.,
agentem:doctor,agentem:init,agentem:sprint-plan,agentem:context-loader) - Open Claude Code and type
/agentemin the input - Observe the typeahead dropdown
Expected Behavior
The typeahead should show all /agentem:* commands when typing /agentem.
Actual Behavior
- Typing
/agentemonly shows/agents(a built-in command). None of the/agentem:*plugin commands appear. - Typing
/ageshows/agents, several/Notion:*commands (from an MCP-based plugin), and other built-in commands — but still zero/agentem:*commands, despite "age" being a direct prefix match on "agentem". - Typing the part after the colon (e.g.,
/doctor) does find the plugin command, showing it alongside matching built-in commands. - Typing the full command (e.g.,
/agentem:doctor) and submitting it works correctly — the command executes fine.
Key Observation
The /Notion:* commands (registered via MCP plugin) appear correctly in typeahead results. The /agentem:* commands (registered via skill/slash-command plugin) do not appear at all — they seem to not be indexed by the typeahead fuzzy matcher. This suggests the typeahead indexes commands differently depending on their registration method, and non-MCP plugin commands may be excluded from the index entirely.
Searching by the part after the colon (e.g., /doctor finds agentem:doctor) confirms the commands are registered — they're just not discoverable via prefix search on the namespace.
Environment
- Claude Code v2.1.50
- macOS (Darwin 24.6.0)
- Plugin commands confirmed registered and functional — only the typeahead matching is affected
Related Issues
This appears to be a separate symptom of the same underlying autocomplete system not being namespace-aware. The issues below cover commands not appearing or losing prefixes; this issue covers the fuzzy match algorithm not treating the colon as a meaningful separator.
- #17509
- #22063
- #6946
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗