Skills require full CLI restart to register as slash commands; no diagnostic feedback when missing
When a skill is added or modified, it does not register as a typeable /command until Claude Code is fully restarted. There is no indication of this in the UI — the command simply returns "Unknown command" as if the skill doesn't exist.
Steps to reproduce
- Create
.claude/skills/my-skill/skill.mdwith valid frontmatter - Without restarting, type
/my-skill - Observe: "Unknown command"
- Fully exit and restart Claude Code
- Type
/my-skill— now works
Expected behavior
Either hot-reload skills when files change, or show a message like "skill registered but requires restart to use as a slash command."
Additional context
Skills load into the system-reminder (available for auto-invocation) before restart, which makes the failure confusing — the skill appears to be "loaded" but isn't typeable. Took significant troubleshooting across two projects to identify the restart requirement.
Filename case issue (WSL2 / NTFS): Claude Code creates skills as SKILL.md (uppercase) by default. Slash command routing requires skill.md (lowercase). On NTFS via WSL2, mv SKILL.md skill.md is a no-op — the filesystem treats the names as identical. The fix requires a two-step rename: mv SKILL.md skill.tmp && mv skill.tmp skill.md. There is no warning or error that the case mismatch is the cause of the "Unknown command" failure.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗