[BUG]

Resolved 💬 3 comments Opened Feb 2, 2026 by tundsta Closed Feb 6, 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?

Plugin commands that use a namespace prefix AND contain hyphens or underscores in the command name don't appear in the / autocomplete dropdown. The namespace:command format breaks autocomplete when the command portion contains separators.

  • /namespace:hello → appears ✅
  • /namespace:planreview → appears ✅
  • /namespace:plan-review → does NOT appear ❌
  • /namespace:plan_review → does NOT appear ❌

The commands still load and can be invoked via the Skill tool — only the autocomplete UI is affected.

This is distinct from #15852 (local .claude/commands/ hyphens only, underscores work). This issue is specific to the namespace:command format in plugin
commands.

The claude-plugins-official marketplace is unaffected — plugin-dev:create-plugin appears correctly.

What Should Happen?

All valid commands should appear in autocomplete regardless of hyphens/underscores in filenames.

Error Messages/Logs

Steps to Reproduce

  1. Create a marketplace plugin (e.g., engineer) with commands in commands/:
  • hello.md
  • plan-review.md
  • plan_review.md
  • planreview.md
  1. Install the plugin, restart Claude Code
  2. Type / to open autocomplete dropdown
  3. Observe:
  • engineer:hello → appears ✅
  • engineer:planreview → appears ✅
  • engineer:plan-review → does NOT appear ❌
  • engineer:plan_review → does NOT appear ❌

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.29

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Other

Additional Information

  • Related: #15852 (local commands, hyphens only)
  • plugin-dev:create-plugin from claude-plugins-official works correctly — suggesting official marketplace plugins are handled differently
  • Workaround: use single-word command filenames (e.g., planreview.md)

View original on GitHub ↗

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