[BUG] v2.1.140 VS Code extension on Windows: project skills missing from slash-command autocomplete (#9710 / #32331 cluster unfixed)

Resolved 💬 2 comments Opened May 13, 2026 by hanowell Closed Jun 12, 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?

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)
  • Project skill count: 5 (well below the #22020 dropdown-cap threshold)
  • SKILL.md frontmatter valid: name field matches directory, user-invokable: true

Steps to reproduce

  1. In any VS Code workspace, create .claude/skills/hello/SKILL.md with:

```markdown
---
name: hello
description: A minimal test skill.
user-invokable: true
---

# Hello

Respond with: "hello world".
```

  1. Open the workspace in VS Code with the Claude Code extension installed.
  2. In the Claude Code chat input, type /hello.
  3. Observe the picker.
  4. 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
  • 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

  1. Confirm the discovery half of the #9710 / #32331 cluster is tracked as an open, prioritized issue rather than closed-as-duplicate again.
  2. Ship a fix that surfaces project-local .claude/skills/ entries in the VS Code extension picker on 2.1.140+.
  3. 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.
  4. 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

  1. In any VS Code workspace, create .claude/skills/hello/SKILL.md with:

```markdown
---
name: hello
description: A minimal test skill.
user-invokable: true
---

# Hello

Respond with: "hello world".
```

  1. Open the workspace in VS Code with the Claude Code extension installed.
  2. In the Claude Code chat input, type /hello.
  3. Observe the picker.
  4. 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_

View original on GitHub ↗

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