[BUG] v2.1.140 VS Code extension on Windows: project skills missing from slash-command autocomplete (#9710 / #32331 cluster unfixed)
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?
Summary
Project-level skills defined in <workspace>/.claude/skills/<name>/SKILL.md are not surfaced in the slash-command autocomplete picker in the VS Code extension. The skill is registered (appears in the agent's available-skills system reminder; invokable programmatically via the Skill tool) but the picker does not expose it, and submitting the typed slug does not forward a slash-command invocation. Same failure mode as #9710 and #32331, both closed-as-duplicate without a shipped fix; reproducible on today's 2.1.140 release with a freshly cleared plugin cache.
Environment
- Claude Code version: 2.1.140 (verified via
claude --versionimmediately before filing) - Interface: VS Code extension (native)
- OS: Windows 11, build 10.0.26200
- VS Code window reloaded after install
~/.claude/plugins/cache/cleared viarm -rfbefore testing- No user-global
~/.claude/skills/directory (no name-collision possible) - Project skill count: 5 (well below the #22020 dropdown-cap threshold)
SKILL.mdfrontmatter valid:namefield matches directory,user-invokable: true
Steps to reproduce
- In any VS Code workspace, create
.claude/skills/hello/SKILL.mdwith:
```markdown
---
name: hello
description: A minimal test skill.
user-invokable: true
---
# Hello
Respond with: "hello world".
```
- Open the workspace in VS Code with the Claude Code extension installed.
- In the Claude Code chat input, type
/hello. - Observe the picker.
- Press Enter to submit.
Expected behavior
- The picker surfaces
/helloas a match when/hor/hellois typed. - Pressing Enter (or Tab to complete, then Enter) invokes the skill and the model responds "hello world".
Actual behavior
- The picker does not surface
/hello. - Pressing Enter does not forward a slash-command invocation; the model's transcript contains no user message with
/helloat the submission point.
Parallel symptom on a documented built-in command:
> /bug
/bug isn't available in this environment.
While /bug was being typed, the picker substring-matched /debug and /claude-api and highlighted /debug by default — meaning a default-Enter would have submitted /debug instead of the literal typed text.
Programmatic invocation works
The model successfully invokes the skill via the Skill tool with skill: "hello" once the user asks for it in plain prose, confirming the skill is registered on the back end but unreachable from the front-end picker. Matches the diagnosis in #32331: "Slash commands work programmatically (via claude -p or agent invocation) but are not discoverable in the UI."
Workaround
User asks the model in plain prose to invoke the skill; the model dispatches the Skill tool from its side. Unacceptable as a steady state for a documented core feature on a paid plan.
Recent releases that did not fix this
- 2.1.132 (May 6): dropdown height cap only
- 2.1.136 (May 8): mid-input slash autocomplete and picker jitter only
- 2.1.137 (May 9): Windows extension activation (unrelated)
- 2.1.138 (May 9): "internal fixes" (opaque)
- 2.1.139 (May 11): added
/goaland/scroll-speed; no picker discovery fix - 2.1.140 (May 12, today): no relevant changes
Related issues
- #9710 — Skill autocomplete not displaying user skills when typing slash command (closed-as-duplicate, no shipped fix)
- #32331 — Slash commands (skills) not appearing in editor autocomplete (closed-as-duplicate, no shipped fix)
- #22020 — Built-in commands hidden from autocomplete (closed; only dropdown-height half patched)
- #21125 — Plugin skills not appearing in slash command autocomplete
Asks
- Confirm the discovery half of the #9710 / #32331 cluster is tracked as an open, prioritized issue rather than closed-as-duplicate again.
- Ship a fix that surfaces project-local
.claude/skills/entries in the VS Code extension picker on 2.1.140+. - Change the picker's default-highlight behavior so ambiguous substring matches do not get auto-selected over the user's literal typed text — Enter on a typed string without an exact match should submit the literal, not the highlighted unrelated entry.
- Document the plain-prose-to-Skill-tool workaround in the troubleshooting docs while the fix is in flight.
What Should Happen?
Expected behavior
- The picker surfaces
/helloas a match when/hor/hellois typed. - Pressing Enter (or Tab to complete, then Enter) invokes the skill and the model responds "hello world".
Actual behavior
- The picker does not surface
/hello. - Pressing Enter does not forward a slash-command invocation; the model's transcript contains no user message with
/helloat the submission point.
Error Messages/Logs
Steps to Reproduce
Steps to reproduce
- In any VS Code workspace, create
.claude/skills/hello/SKILL.mdwith:
```markdown
---
name: hello
description: A minimal test skill.
user-invokable: true
---
# Hello
Respond with: "hello world".
```
- Open the workspace in VS Code with the Claude Code extension installed.
- In the Claude Code chat input, type
/hello. - Observe the picker.
- Press Enter to submit.
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.1.140 (Claude Code)
Platform
Other
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗