[Feature] Claude Code desktop app: MCP plugin auto-load + CLI session-flag passthrough at launch
Summary
Two gaps in the Claude Code desktop app that force power users back to CLI for any workflow that depends on launch-time configuration:
- No CLI flag passthrough at launch — desktop app is a fixed-config GUI; can't accept
--channels,--permission-mode,--resume <session-id>,--include-partial-messages, or any other flag the CLI exposes - MCP plugins don't auto-attach at session start — connecting Discord plugin (or any MCP server) requires a manual UI flow on every session, vs CLI's
--channels plugin:discord@claude-plugins-officialflag
Why this matters
Desktop app is currently the only path that gives native terminal-emulator-style scrollback (alt-screen-buffer regression in CLI v2.1.89+ documented in #42670 + family; team-flag-specific scrollback regression in v2.1.119 documented in #53193). Power users who want history-scrolling are forced to desktop app. But desktop app missing flag passthrough + MCP auto-attach means:
- Lose Discord plugin (no way to reach mobile Discord notifications without manual UI dance every session)
- Lose
--resume <session-id>for continuing specific sessions (have to use the picker every time) - Lose
--permission-mode autofor non-interactive flow - Lose any custom env var workflow (e.g.,
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1— though that has its own scrollback regression, see #53193)
CLI gives flag composability + persistent screen sessions but loses native scrollback.
Desktop gives native scrollback but loses CLI's launch-time configuration surface.
There's no path that has both.
Specific asks
A) Flag passthrough at launch — let claude desktop --channels foo --permission-mode auto --resume <id> (or equivalent OS-level launcher flag mechanism) work the same way as CLI. macOS could use URL-scheme handler (claude-desktop://launch?resume=<id>&channels=...); Windows could use registered command-line args; Linux likewise.
B) MCP plugins from settings.json — desktop app should read the same ~/.claude/settings.json as CLI, including enabledPlugins, and auto-attach those plugins at every session start. The current "configure MCP via UI" flow is the gap; the settings file is the source of truth on the CLI side already.
Either A or B alone would close most of the gap. Both would put desktop app at workflow-equivalent to CLI minus the alt-screen-buffer scrollback issue (which is its actual differentiating advantage).
Environment
- Pi-hosted Claude Code via desktop app thin-client (
ccd-cli/2.1.119per the SSH-remote setup), accessed from PC running Windows desktop app - Use case: long-running scaffold sessions with Discord MCP for mobile-channel notifications, persistent agent teams, session-resume across compaction
Related
- #53193 —
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1disables TUI scrollback in v2.1.119 (the bug that pushed me to desktop in the first place) - #42670 — alt-screen-buffer kills scrollback (the broader v2.1.89+ regression family)
Currently I'm working around with a custom cc-scroll helper that reads transcript JSONL into less from a sidecar terminal pane. It works but bypasses the official UX entirely.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗