/reload-skills does not refresh the slash-command autocomplete menu

Status Fixed / completed
Maintainer reply ✓ Yes — bcherny
Activity 4 comments · opened Jul 16, 2026 · closed Aug 17, 2026
💡 Likely answer: A maintainer (bcherny, collaborator) responded on this thread — see the highlighted reply below.

Environment: Claude Code desktop app, macOS (Darwin 25.3.0), Opus 4.8

What happens:
When user-invocable skills become available after a session has started, running /reload-skills correctly registers them for the Skill tool — they appear in the reloaded skills list and can be invoked programmatically — but they do not appear in the / slash-command autocomplete menu in the input box.

Expected: After /reload-skills, newly available user-invocable skills appear in the slash-command autocomplete, not just in the Skill tool registry.

Actual: Autocomplete continues to reflect the skill set captured at session startup. The skill only shows in autocomplete after a full session restart.

Repro:

  1. Start a session, then make new user-invocable skills available — e.g. install skills into the skills dir after the session started, OR have a SessionStart hook bootstrap config on first run in a fresh git worktree.
  2. Run /reload-skills — confirm the new skills are listed and invocable.
  3. Type / — the newly added skills are absent from autocomplete.
  4. Restart the session — they now appear.

Impact: Users rely on autocomplete to discover/invoke skills; skills added mid-session are effectively hidden from the menu despite being loaded.

View original on GitHub ↗

3 Comments

reid-spencer · 2 months ago

I was about to report this, but I'll just add to this one.
Version: 2.1.220

Reproduction:

  1. Add a new skill directory under an installed plugin, bump version in plugin.json (here 0.2.0 → 0.3.0)
  2. /plugin marketplace update <marketplace> → reports ✔ Updated 1 marketplace (1 plugin bumped)
  3. Type / — the new skill is absent from autocomplete
  4. But it is in the session's registered skill list, and the plugin's other skills invoke fine by prefixed name

Notes:

  • It's specifically marketplace update (bumping an existing plugin) rather than plugin install. A fresh install may well populate autocomplete correctly — worth stating so nobody chases the wrong path.
  • The discrepancy is between two views of the same registry, which suggests autocomplete is built from a cached snapshot taken at session start rather than read live.

Workaround:

  • Just type the skill name fully without relying on tab completion
bcherny collaborator · 2 months ago

Could not reproduce on v2.1.233 (macOS, terminal CLI) with project-level skills.

Steps:

  1. claude in a fresh git repo with no .claude/ directory.
  2. After the session is up, create .claude/skills/zebrafish-repro/SKILL.md (with name + description frontmatter).
  3. Type /zebraf — autocomplete shows No commands match "/zebraf" (the skills dir didn't exist at startup, so nothing was watching it).
  4. Run /reload-skills → Reloaded skills: 25 skills available (1 added).
  5. Type /zebraf again.

Observed: autocomplete now lists /zebrafish-repro … (project) — the menu refreshed without a restart, which is the expected behavior. (If .claude/skills/ already exists at startup, new skills show up in autocomplete even without /reload-skills.)

Assessment: In the terminal CLI this works as designed — /reload-skills re-scans skill directories and the slash menu is rebuilt from the same list, and in SDK/desktop mode the CLI sends a "commands changed" update to the host app after each reload. We can't tell from this issue whether the desktop app applied that update at the time; if you still see the stale menu on a current desktop build, please share the app/CLI version and where the skills live (project .claude/skills, user ~/.claude/skills, plugin).

The follow-up case (/plugin marketplace update bumping an installed plugin) is intended behavior: a marketplace update only refreshes what's on disk and marks the session as needing a reload — new plugin components (including skills) become active, and appear in autocomplete, after you run /reload-plugins. See https://code.claude.com/docs/en/discover-plugins#update-plugins. /reload-skills only re-scans skill directories; for plugin changes the command to run is /reload-plugins.

🤖 Generated with Claude Code

bcherny collaborator · 2 months ago

Thanks for the detailed repro. I tried this on 2.1.233 (Linux, tmux): started a session, created ~/.claude/skills/late-probe/SKILL.md (with a description) after the session was already running, then ran /reload-skills — it reported the new skill as added, and typing /late immediately offered /late-probe in the slash-command autocomplete with its description. Before the reload it was correctly absent, so the menu is now refreshed by /reload-skills as expected.

This was a real bug when you filed it, but it was fixed in 2.1.216: "Fixed skills and commands changed during a session not appearing in the slash menu until restart" — see the changelog.

Closing as fixed — if you still see stale autocomplete after /reload-skills on 2.1.216 or later, reply here and we'll reopen.

🤖 Generated with Claude Code

Showing cached comments. Read the full discussion on GitHub ↗