[BUG] Slash command autocomplete truncates and randomly samples skills when total count exceeds display limit

Resolved 💬 3 comments Opened Feb 26, 2026 by marchmallow Closed Mar 27, 2026

Describe the bug

When multiple plugins are installed and their combined skill count exceeds the autocomplete dropdown's display limit (~6 items), the list is randomly sampled on each invocation. Skills are shown or hidden non-deterministically, making discovery unreliable.

This is distinct from existing reports where plugin skills don't appear at all — the skills do appear, but only a random subset is shown each time.

The problem is compounded by cross-plugin name matching: when you type /acme, the autocomplete also surfaces skills from other plugins whose skill names contain the word "acme" — further consuming display slots and crowding out skills from the actual acme plugin.

To reproduce

  1. Install two plugins that together define more than ~6 user-invocable skills:
  • Plugin acme with skills: deploy, rollback, status, logs, test-unit, test-integration, validate-config
  • Plugin acme-internal with skills: internal-debug, internal-reprovision
  1. Install a third unrelated plugin devtools that happens to have a skill named acme-migrate
  1. Type /acme: in the Claude Code prompt
  1. Note which skills appear in the dropdown
  1. Clear the input and type /acme: again

Expected behavior

All skills matching the prefix are shown (scrollable list), or at minimum a stable, deterministic subset. Cross-plugin name matches should either be clearly separated or shown after the primary plugin's skills.

Actual behavior

A different random subset of ~6 skills is shown each time. Skills from an unrelated plugin (devtools) pollute the results because their skill name contains "acme". Example across two attempts at /acme::

Attempt 1:

/deploy               (acme) Deploy service
/test-unit            (acme) Run unit tests
/validate-config      (acme) Validate configuration
/rollback             (acme) Rollback deployment
/acme-migrate         (devtools) Migrate acme resources   ← unrelated plugin, consumes a slot
/logs                 (acme) Fetch logs

Attempt 2:

/status               (acme) Check service status
/test-integration     (acme) Run integration tests
/deploy               (acme) Deploy service
/internal-reprovision (acme-internal) Reprovision service
/acme-migrate         (devtools) Migrate acme resources   ← always appears, takes a slot
/rollback             (acme) Rollback deployment

Note: validate-config, logs, test-unit disappeared between attempts. acme-migrate from the unrelated devtools plugin consistently occupies one of the ~6 slots, making it even harder to see all acme plugin skills. Skills like validate-config may never surface for a user who doesn't already know its name.

Environment

  • OS: macOS
  • Claude Code version: latest

Related issues

  • #18949 — plugin skills not appearing at all (different root cause)
  • #28555 — plugin skills only visible after typing prefix

View original on GitHub ↗

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