[BUG] Desktop: new session's slash menu omits anthropic-skills:* until the first message (temporary query not given the skills plugin)
Preflight Checklist
- [x] I have searched existing issues and this is not a duplicate
- [x] I am using the latest version
- [x] This is a bug report, not a feature request
What's Wrong?
In the Claude desktop app (Code tab), the slash-command menu of a brand-new session does not list any of the anthropic-skills:* skills (the skills synced from claude.ai, including custom skills I uploaded there). The moment I send one message, the same menu lists all of them.
From the desktop app's main.log and the app bundle, the cause appears to be:
- Before the first message there is no session process yet. The app fills the slash menu via a "temporary query" CLI process (tools denied, "Config loading only"). Its plugin list is built from the remote/org plugins only:
[CCD] temporary query on required_version:2.1.289:...: 12 plugin(s) go to Claude Code over stdin (initialize request, --await-initialize)
- The real session spawn adds one more plugin, the claude.ai skills plugin:
[CCD] Using skills plugin at: ~/Library/Application Support/Claude/local-agent-mode-sessions/skills-plugin/<org>/<account>
[CCD] Passing 13 plugin(s) to SDK (skills: 1, remote: 12, local: 0)
- After spawn the session publishes its own list (
commands_changed), which replaces the temporary one, so theanthropic-skills:*entries appear only then.
In the app bundle, withTemporaryQuery builds its plugins array from getRemotePluginPathsForHost(...) only, while the session-spawn path has the explicit y && z.push({type:"local", path:y}) for the skills plugin. The temporary query never loads that folder, so nothing it contains can show in the menu before the first turn.
The skills-plugin folder on disk is current and contains all the skills that later appear, so this is not a sync problem.
What Should Happen?
The slash menu of a new session should list the claude.ai-synced skills before the first message, the same way it does after one. The temporary query should be given the skills plugin (and arguably the same plugin set as the real spawn), or the menu should be refreshed from the live session as soon as it starts.
Error Messages/Logs
09:37:27 [info] [CCD] temporary query on required_version:2.1.289:<hash>: 12 plugin(s) go to Claude Code over stdin (initialize request, --await-initialize)
09:37:27 [info] [CCD] temporary query on required_version:2.1.289:<hash>: 12 plugin(s) go to Claude Code over stdin (initialize request, --await-initialize)
09:37:37 [info] [CCD] Status: ready (version: 2.1.289)
09:37:37 [info] Starting local session local_<id> in <folder>
09:37:37 [info] [CCD] Using skills plugin at: ~/Library/Application Support/Claude/local-agent-mode-sessions/skills-plugin/<org>/<account>
09:37:37 [info] [CCD] Passing 13 plugin(s) to SDK (skills: 1, remote: 12, local: 0)
09:37:37 [info] [CCD] session spawn on required_version:2.1.289:<hash>: 13 plugin(s) go to Claude Code over stdin (initialize request, --await-initialize)
Steps to Reproduce
- Have at least one skill enabled in claude.ai (a custom uploaded one, or any Anthropic-managed one such as
scheduleorsetup-claude). - In the desktop app, open the Code tab and start a new session in any folder.
- Before typing a message, type
/and search foranthropic-skillsor the skill's name. Nothing is listed. - Send any message and wait for the reply.
- Type
/again. Allanthropic-skills:*entries are now listed.
Claude Model
Claude Fable 5.1
Is this a regression?
I don't know
Claude Code Version
Desktop app 2.26454.0, bundled Claude Code 2.1.289 (standalone CLI 2.1.286 also installed)
Platform
Claude Desktop app (Code tab)
Operating System
macOS (Darwin 27.0.0, Apple Silicon)
Terminal/Shell
zsh (via desktop app)
Additional Information
Separately, the CLI's own claude.ai skill cache at ~/.claude/skills/synced/<bucket>/ had not synced in four days (manifest lastUpdated 2026-10-03) and was missing nine of the thirty skills in the desktop skills-plugin folder. That cache is what a terminal claude session reads, so the same skills can also be missing there. It does not affect the desktop case above, which reads the plugin folder, but it may be worth checking the sync trigger.