anthropics / anthropics/claude-code
/reload-skills reports "no changes" for a skill added to disk mid-session (Desktop app); a fresh process sees it
- Ngôn ngữ chính
- Python
- Star
- 145k
- Fork
- 23.1k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
### Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report
- [ ] I am using the latest version of Claude Code — reproduced on desktop app **2.1.266** (CLI 2.1.263). 2.1.270 is current; I have not re-tested on it, and I could not find anything in 2.1.267–2.1.270 that touches skill re-scanning.
### 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//SKILL.md` (on Windows this path is a directory junction to a folder in another drive — see Environment).
1. In an already-running session, run `/reload-skills` → `Reloaded skills: 72 skills available (no changes)`. Expected: nothing had changed yet.
2. Create `~/.claude/skills/reload-probe/SKILL.md` on disk (valid frontmatter: `name`, `description`), leaving the session running.
3. `/reload-skills` → `Reloaded skills: 72 skills available (no changes)`. The count did not move and the probe is not listed.
4. Edit the probe so it is user-invocable (remove the keys that hid it), still in the same session.
5. `/reload-skills` → `Reloaded skills: 72 skills available (no changes)`. Third time, same output.
6. **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:
1. `/reload-skills` picks up directories added during the session, as `commands.md` says, and reports `(1 added)`; or
2. 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
- #88164 — `/skills` prints `No changes` instead of the list and misses skills added mid-session. Adjacent but different: in that report `/reload-skills` **works** (`19 skills available (2 added)`); here `/reload-skills` itself is the command that misses them.
- #74990 — compaction drops the Available-skills reminder; `/reload-skills` recovers it while reporting `no changes`.
- #72631 (closed) — IDE palette did not index newly-added symlinked skills until reload.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.