Preflight Checklist
What's Wrong?
commands.md documents /reload-skills as:
Re-scan skill and command directories so skills added or changed on disk during the session become available without restarting. Reports how many skills are available and how many were added or removed.
In the Claude Code desktop app, the re-scan does not pick up a skill directory created on disk during the session. The command returns a count with (no changes) every time, while a separate process started at the same moment lists the new skill.
Steps to reproduce
Session running in the desktop app (Code tab), personal-scope skills at ~/.claude/skills/<name>/SKILL.md (on Windows this path is a directory junction to a folder in another drive — see Environment).
-
In an already-running session, run /reload-skills → Reloaded skills: 72 skills available (no changes). Expected: nothing had changed yet.
-
Create ~/.claude/skills/reload-probe/SKILL.md on disk (valid frontmatter: name, description), leaving the session running.
-
/reload-skills → Reloaded skills: 72 skills available (no changes). The count did not move and the probe is not listed.
-
Edit the probe so it is user-invocable (remove the keys that hid it), still in the same session.
-
/reload-skills → Reloaded skills: 72 skills available (no changes). Third time, same output.
-
Control, run while that session is still open: claude -p '/skill-doctor' in a new process → the probe is listed:
reload-probe userSettings - - 0x never
So the file, the frontmatter and the junction are all fine — the same skill set on disk is visible to a process started a moment later, and invisible to the in-session re-scan.
What Should Happen?
Either of:
/reload-skills picks up directories added during the session, as commands.md says, and reports (1 added); or
- if the desktop app cannot re-scan in place, the command says so instead of reporting
(no changes) — the current output is indistinguishable from "I looked and there is genuinely nothing new".
The second failure mode is the expensive one: (no changes) reads as a verified negative, so the natural next step is to go and debug the skill file that was never broken.
Environment
- Claude Code desktop app 2.1.266 (Code tab), Windows 10
- CLI 2.1.263 (
claude --version) — this is what the step 6 control run used, a different process and a slightly older build than the app
- Skills at
~/.claude/skills — a directory junction to a folder inside a git repo on another drive; every other skill in that same directory loads normally, and the probe loads normally in a new session
- No plugins or marketplace involved; personal scope only
Related
Preflight Checklist
What's Wrong?
commands.mddocuments/reload-skillsas:In the Claude Code desktop app, the re-scan does not pick up a skill directory created on disk during the session. The command returns a count with
(no changes)every time, while a separate process started at the same moment lists the new skill.Steps to reproduce
Session running in the desktop app (Code tab), personal-scope skills at
~/.claude/skills/<name>/SKILL.md(on Windows this path is a directory junction to a folder in another drive — see Environment).In an already-running session, run
/reload-skills→Reloaded skills: 72 skills available (no changes). Expected: nothing had changed yet.Create
~/.claude/skills/reload-probe/SKILL.mdon disk (valid frontmatter:name,description), leaving the session running./reload-skills→Reloaded skills: 72 skills available (no changes). The count did not move and the probe is not listed.Edit the probe so it is user-invocable (remove the keys that hid it), still in the same session.
/reload-skills→Reloaded skills: 72 skills available (no changes). Third time, same output.Control, run while that session is still open:
claude -p '/skill-doctor'in a new process → the probe is listed:So the file, the frontmatter and the junction are all fine — the same skill set on disk is visible to a process started a moment later, and invisible to the in-session re-scan.
What Should Happen?
Either of:
/reload-skillspicks up directories added during the session, ascommands.mdsays, and reports(1 added); or(no changes)— the current output is indistinguishable from "I looked and there is genuinely nothing new".The second failure mode is the expensive one:
(no changes)reads as a verified negative, so the natural next step is to go and debug the skill file that was never broken.Environment
claude --version) — this is what the step 6 control run used, a different process and a slightly older build than the app~/.claude/skills— a directory junction to a folder inside a git repo on another drive; every other skill in that same directory loads normally, and the probe loads normally in a new sessionRelated
/skillsprintsNo changesinstead of the list and misses skills added mid-session. Adjacent but different: in that report/reload-skillsworks (19 skills available (2 added)); here/reload-skillsitself is the command that misses them./reload-skillsrecovers it while reportingno changes.