Slash-command menu returns zero matches when query contains `.` (regression 2.1.160 → 2.1.161)

Resolved 💬 2 comments Opened Jun 3, 2026 by PM-Labs Closed Jun 12, 2026

Summary

After upgrading from 2.1.160 → 2.1.161, the slash-command autocomplete menu returns zero matches as soon as the typed query contains a . (period), even though commands are displayed in the menu with dots.

This breaks discovery/selection of any plugin whose skills use dotted command names (e.g. pm.wip, pm.accts.eom.qc). Typing /pm lists everything correctly; typing /pm. collapses the list to nothing.

Repro

  1. Install a plugin whose skills have dotted names (command displays as e.g. /pm.wip, /pm.accts.eom.qc).
  2. In the prompt, type /pm → menu correctly lists all matching commands (/pm.wip, /pm.close, …).
  3. Continue typing so the query becomes /pm. → menu goes empty.
  4. Any further specific input like /pm.accts also shows nothing.

Expected

Typing /pm.accts should narrow to commands whose displayed name starts with / contains pm.accts (e.g. /pm.accts.eom.qc), since that is exactly the string shown in the menu.

Actual

The moment the query includes ., the result set is empty. It appears the matcher compares the query against a normalized (dot-stripped / dashed) internal command id while the menu displays the dotted form, so a literal . in the query matches no indexed string.

Bisect / environment

  • Broken: 2.1.161
  • Working: 2.1.160 (rolling the binary back to 2.1.160 fully restores correct filtering; auto-update re-applies 2.1.161 and reintroduces the bug)
  • OS: Windows 11 Pro (26200)
  • Install: native installer (~/.local/bin/claude.exe), autoUpdatesChannel: latest
  • Skills affected come from a marketplace plugin using dotted skill name: values.

Impact

Any team relying on dot-namespaced plugin commands loses incremental slash-menu filtering on every machine that auto-updated to 2.1.161. Workaround is to type a non-dotted substring (e.g. /wip) or type /pm and scroll, but the natural /namespace.command typing pattern is broken.

View original on GitHub ↗

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