[FEATURE] Interactive slash commands silently unavailable in Agent-SDK-embedded surfaces (desktop, etc.) with no explanation or fallback

Status Open
Maintainer reply None cached
Activity 0 comments · opened Aug 1, 2026

Preflight Checklist

  • [x] I have searched existing requests and this feature hasn't been requested yet
  • [x] This is a single feature request (not multiple features)

Problem Statement

Title: Interactive slash commands silently unavailable in Agent-SDK-embedded surfaces (desktop, etc.) with no explanation or fallback

Body:

Summary

Slash commands that rely on a terminal-panel UI (/permissions, /config, /agents, /doctor, /hooks, /plugin) work in the CLI when attached to a real TTY, but are silently unavailable when Claude Code runs through the Agent SDK (e.g. the desktop app, or other embedded surfaces). There's no consistent, clear feedback to the user about why, and no non-interactive fallback for operations that don't inherently require a picker UI.

Example

Running /plugin install aws-core@claude-plugins-official in the desktop app returns only:

/plugin isn't available in this environment.
with no explanation and no alternative path to accomplish the same thing.

Why this matters

Users switching between CLI and desktop hit unexplained feature gaps and have no way to know if it's a bug, a missing feature, or intentional.
Some of these commands (like /plugin install) don't conceptually require an interactive terminal — installing a plugin could be a one-shot config/API operation. Gating the entire feature on TTY availability removes functionality that could exist in a non-interactive form.
Truly interactive-only commands (e.g. /agents picker, /hooks editor) may reasonably stay CLI-only, but should say so clearly instead of a generic "isn't available."
Suggested fixes

For commands that genuinely require a TTY panel, return a specific message (e.g. "/agents requires an interactive terminal session — run this from claude in a terminal instead of desktop/SDK contexts") instead of a generic unavailability message.
For commands like /plugin install that have no inherent TTY dependency, add a non-interactive execution path so they work identically across CLI and SDK-embedded surfaces.
Document, in the Claude Code docs, which commands are CLI-terminal-only vs. available everywhere, so this isn't discovered by trial and error.
Environment

Claude Code running via Claude Agent SDK (desktop-embedded session)
OS: Windows 11 Pro

Proposed Solution

For commands that genuinely require a TTY panel, return a specific message (e.g. "/agents requires an interactive terminal session — run this from claude in a terminal instead of desktop/SDK contexts") instead of a generic unavailability message.
For commands like /plugin install that have no inherent TTY dependency, add a non-interactive execution path so they work identically across CLI and SDK-embedded surfaces.
Document, in the Claude Code docs, which commands are CLI-terminal-only vs. available everywhere, so this isn't discovered by trial and error.
Environment

Alternative Solutions

_No response_

Priority

High - Significant impact on productivity

Feature Category

CLI commands and flags

Use Case Example

_No response_

Additional Context

_No response_

View original on GitHub ↗