You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched existing issues and this hasn't been reported yet
This is a single bug report (please file separate reports for different bugs)
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 --version immediately before filing)
Interface: VS Code extension (native)
OS: Windows 11, build 10.0.26200
VS Code window reloaded after install
~/.claude/plugins/cache/ cleared via rm -rf before testing
No user-global ~/.claude/skills/ directory (no name-collision possible)
SKILL.md frontmatter valid: name field matches directory, user-invokable: true
Steps to reproduce
In any VS Code workspace, create .claude/skills/hello/SKILL.md with:
---name: hellodescription: 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 /hello as a match when /h or /hello is 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 /hello at 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 /goal and /scroll-speed; no picker discovery fix
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 /hello as a match when /h or /hello is 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 /hello at the submission point.
Error Messages/Logs
Steps to Reproduce
Steps to reproduce
In any VS Code workspace, create .claude/skills/hello/SKILL.md with:
---name: hellodescription: A minimal test skill.user-invokable: true---# Hello
Respond with: "hello world".
Open the workspace in VS Code with the Claude Code extension installed.
Preflight Checklist
What's Wrong?
Summary
Project-level skills defined in
<workspace>/.claude/skills/<name>/SKILL.mdare 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 theSkilltool) 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 --versionimmediately before filing)~/.claude/plugins/cache/cleared viarm -rfbefore testing~/.claude/skills/directory (no name-collision possible)SKILL.mdfrontmatter valid:namefield matches directory,user-invokable: trueSteps to reproduce
In any VS Code workspace, create
.claude/skills/hello/SKILL.mdwith: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
/helloas a match when/hor/hellois typed.Actual behavior
/hello./helloat the submission point.Parallel symptom on a documented built-in command:
While
/bugwas being typed, the picker substring-matched/debugand/claude-apiand highlighted/debugby default — meaning a default-Enter would have submitted/debuginstead of the literal typed text.Programmatic invocation works
The model successfully invokes the skill via the
Skilltool withskill: "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 (viaclaude -por 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
Skilltool from its side. Unacceptable as a steady state for a documented core feature on a paid plan.Recent releases that did not fix this
/goaland/scroll-speed; no picker discovery fixRelated issues
Asks
.claude/skills/entries in the VS Code extension picker on 2.1.140+.What Should Happen?
Expected behavior
/helloas a match when/hor/hellois typed.Actual behavior
/hello./helloat the submission point.Error Messages/Logs
Steps to Reproduce
Steps to reproduce
In any VS Code workspace, create
.claude/skills/hello/SKILL.mdwith: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