`SlashCommand` tool not exposed in interactive sessions on v2.1.148 — changelog says "Added", but model has no access via any documented entry point

Resolved 💬 3 comments Opened May 22, 2026 by JGuinto-QuantumIT Closed May 22, 2026

Summary

The SlashCommand tool was added per changelog and is referenced by the plugin command-development skill (disable-model-invocation opts a command out of it), but on Claude Code v2.1.148 (Windows 11, OPUS 4.7 high effort) the tool is not in the model's loaded tool list, is not reachable via ToolSearch, and cannot be activated via any documented config path.

This blocks any skill or workflow that wants Claude to programmatically invoke a slash command (e.g. auto-/rename a session based on the user's prompt).

Environment

  • Claude Code: 2.1.148 (Claude Code)
  • OS: Windows 11 Pro (10.0.26200)
  • Shell: Git Bash (MSYS2) and PowerShell 7
  • Model: Opus 4.7, effort = high
  • Plugins installed: claude-plugins-official, context-mode
  • No --tools, --allowedTools, --disallowedTools, --bare, --disable-slash-commands flags set in normal interactive use

Reproduction

Open a fresh interactive Claude Code session (no special flags), then ask the model to use SlashCommand:

> Try to call the SlashCommand tool to invoke /help.

Model replies it has no such tool.

Expected

SlashCommand should be in the default interactive tool list (as implied by the changelog and the plugin docs referencing it as the mechanism for disable-model-invocation).

Actual

SlashCommand is absent from the loaded tool list and is not registered as a deferred tool, so it cannot be activated on demand.

Diagnostics

A. Default interactive tool list (no flags)
$ claude --print "List your tool names, one per line, no commentary."

Returns exactly 13 tools, no SlashCommand:

Agent
AskUserQuestion
Bash
Edit
Glob
Grep
PowerShell
Read
ScheduleWakeup
ShareOnboardingGuide
Skill
ToolSearch
Write

(PowerShell, ScheduleWakeup, ShareOnboardingGuide are present — these are Windows / agentic-loop extras — but the standard NotebookEdit, TodoWrite, WebFetch, WebSearch, BashOutput, KillShell, and SlashCommand are all missing from the default interactive set on this platform.)

B. --tools "default,SlashCommand" — tool appears in list-dump but is not callable
$ claude --tools "default,SlashCommand" --print "List your tool names, one per line."

Now lists SlashCommand along with the SDK tool set (Task, BashOutput, KillShell, NotebookEdit, TodoWrite, WebFetch, WebSearch, ExitPlanMode) — but Agent, AskUserQuestion, Skill, ScheduleWakeup, ShareOnboardingGuide, PowerShell, ToolSearch are all gone. So --tools default,SlashCommand switches to the SDK tool set, not "interactive default plus SlashCommand".

Worse, when actually asked to use it:

$ claude --tools "default,SlashCommand" --print 'Use the SlashCommand tool to call /help.'
> I don't have a `SlashCommand` tool available in this session.

Listed in introspection, not callable in practice.

C. Other documented entry points

| Attempt | Result |
|---|---|
| claude --allowedTools "SlashCommand" --print "Is SlashCommand in your tool list?" | No |
| claude --tools "Agent,AskUserQuestion,Bash,…,SlashCommand" --print "…" | No |
| claude --settings <json with {"tools": ["default", "SlashCommand"]}> --print "…" | No |
| ToolSearch(query: "select:SlashCommand", max_results: 1) from inside a session | No matching deferred tools found |
| Search ~/.claude/cache/changelog.md for removal | Only one entry: the original addition |

D. Plugin docs confirm the tool exists

~/.claude/plugins/marketplaces/claude-plugins-official/plugins/plugin-dev/skills/command-development/references/frontmatter-reference.md references SlashCommand as the programmatic invocation mechanism that disable-model-invocation: true opts out of.

Impact

I have a /jira-start INP-XXXXX skill whose desired behaviour is "rename the conversation tab to INP-XXXXX so the session picker is searchable later". The skill instructs Claude to call SlashCommand(command: "/rename INP-XXXXX"). Because the tool is not callable, the skill's only option is to print a Tip: run /rename INP-XXXXX line, which is annoying noise that the user has to manually retype every time.

Workarounds considered

  1. Bash to /rename — fails because Git Bash on Windows mis-resolves /rename as C:/Program Files/Git/rename (Exit 127, "No such file or directory").
  2. Plain-text echo /rename INP-XXXXX — silently no-ops (rendered as transcript text, not executed).
  3. UserPromptSubmit hook — viable, but requires the user to install a hook script and is fragile across Claude Code upgrades.

What I'd love

  • Either: expose SlashCommand in the default interactive tool list on Windows, or
  • A documented settings.json field (e.g. "enableTools": ["SlashCommand"]) to opt it in, or
  • A clear docs note explaining the current entitlement / rollout gate if SlashCommand is intentionally restricted.

---

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗