[Feature] Claude Code desktop app: MCP plugin auto-load + CLI session-flag passthrough at launch

Resolved 💬 3 comments Opened Apr 25, 2026 by Choppaaahh Closed Apr 29, 2026

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:

  1. 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
  2. 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-official flag

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 auto for 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.119 per 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=1 disables 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.

View original on GitHub ↗

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