Skill slash-command intermittently unresolved at session start, works in a fresh session

Open 💬 0 comments Opened Jul 7, 2026 by erkiunn-maker

Description

A personal skill (e.g. /start) sometimes fails to resolve as a slash command early in a session, but the same skill resolves and dispatches correctly (seen as <command-name> in the transcript) in a subsequent, freshly-started conversation with no other change.

Environment

  • Claude Code CLI, Windows 11
  • Skills involved: personal skills (unprefixed) and plugin-namespaced skills (plugin:skill) both present in the same account/session
  • Multiple personal + org + plugin skills installed (50+), visible via Settings > Skills

Observed behavior

  1. Conversation A: type /start (a personal skill) → not recognized/dispatched as a slash command.
  2. Conversation B (new session, no config change): type /start → resolves correctly, dispatches to the intended skill, <command-name> tag present in transcript.

What's documented vs. not

Per current Claude Code docs:

  • Skills are discovered from the starting directory, parent directories up to repo root, and nested .claude/skills/ on-demand.
  • Changes to existing skill directories take effect within the current session without restart; only a brand-new top-level skills directory requires a restart.
  • No documented timing/race condition for initial skill-registry availability at session start.
  • No documented way to force a full skill-registry refresh within a session (aside from /reload-plugins, which is plugin-infra specific, not general skill discovery).

Ask

  • Is there a known propagation/sync delay for skill discovery at session start (personal vs. org vs. plugin skills), especially with a large number of installed skills?
  • Could working-directory-based discovery (parent dirs / nested .claude/skills) explain a skill being unavailable in one session context but available in another?
  • Would it be feasible to document (or provide a command for) forcing full skill-registry availability at session start, so slash-command behavior is deterministic from message 1?

Happy to provide more repro details if useful.

View original on GitHub ↗