Coming from the CLI?
If you already use the Claude Code CLI, Desktop runs the same underlying engine with a graphical interface. You can run both simultaneously on the same machine, even on the same project. Each maintains separate session history, but they share configuration and project memory via CLAUDE.md files.
To move a CLI session into Desktop, run /desktop in the terminal. Claude saves your session and opens it in the desktop app, then exits the CLI. This command is available on macOS and x64 Windows when you are signed in with a Claude subscription. It is not available with API key authentication or on Amazon Bedrock, Google Cloud's Agent Platform, or Microsoft Foundry.
When to use Desktop vs CLI: use Desktop when you want to manage parallel sessions in one window, arrange panes side by side, or review changes visually. Use the CLI when you need scripting, automation, or prefer a terminal workflow.
CLI flag equivalents
This table shows the desktop app equivalent for common CLI flags. Flags not listed have no desktop equivalent because they are designed for scripting or automation.
| CLI | Desktop equivalent |
|---|---|
--model sonnet | Model dropdown next to the send button |
--resume, --continue | Click a session in the sidebar |
--permission-mode | Mode selector next to the send button |
--dangerously-skip-permissions | Bypass permissions mode. On Pro and Max plans, enable it in Settings → Claude Code → "Allow bypass permissions mode"; on Team and Enterprise plans, organization policy controls it |
--add-dir | Add multiple repos with the + button in cloud sessions |
--allowedTools, --disallowedTools | No per-session equivalent. Permission rules in settings files still apply. |
--verbose | Verbose view mode in the Transcript view dropdown |
--print, --output-format | Not available. Desktop is interactive only. |
ANTHROPIC_MODEL env var | Model dropdown next to the send button |
MAX_THINKING_TOKENS env var | Set in the local environment editor. See environment configuration. |
Shared configuration
Desktop and CLI read the same configuration files, so your setup carries over:
- CLAUDE.md and
CLAUDE.local.mdfiles in your project are used by both - MCP servers configured in
~/.claude.jsonor.mcp.jsonwork in both - Hooks and skills defined in settings apply to both
- Settings in
~/.claude.jsonand~/.claude/settings.jsonare shared. Permission rules, allowed tools, and other settings insettings.jsonapply to Desktop sessions. - Models: the same models are available in both. In Desktop, select the model from the dropdown next to the send button. You can change the model mid-session from the same dropdown.
MCP servers from the Claude Desktop chat app
The Desktop app loads MCP servers from claude_desktop_config.json into local Code tab sessions, alongside servers from ~/.claude.json and .mcp.json. A server you define in claude_desktop_config.json is available in both the Desktop chat surface and local Code tab sessions.
If you define the same server name in claude_desktop_config.json and in ~/.claude.json or .mcp.json, the Code tab in local sessions connects once and uses the claude_desktop_config.json definition.
The app also re-delivers stdio servers from ~/.claude.json to the embedded CLI in local sessions. When the top level of ~/.claude.json (user scope) and .mcp.json define the same stdio server name, the Code tab uses the ~/.claude.json definition, departing from the CLI scope hierarchy.
The standalone CLI does not read claude_desktop_config.json. On macOS and WSL, run claude mcp add-from-claude-desktop to copy those servers into ~/.claude.json. See Import MCP servers from Claude Desktop for the import flow and scope options.
Feature comparison
This table compares core capabilities between the CLI and Desktop. For a full list of CLI flags, see the CLI reference.
| Feature | CLI | Desktop |
|---|---|---|
| Permission modes | All modes including dontAsk | Manual, Accept edits, Plan, and Auto. Bypass permissions appears in the mode selector once enabled: through the Settings toggle on Pro and Max plans, or through organization policy on Team and Enterprise plans |
| Third-party providers | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | Anthropic's API by default. For gateway routing, see connect the desktop app to a gateway. To run the Code tab on Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, or a self-hosted LLM gateway, see Claude Desktop on 3P. |
| MCP servers | Configure in settings files | Connectors UI for local and SSH sessions, or settings files |
| Plugins | /plugin command | Plugin manager UI |
| @mention files | Text-based | With autocomplete; local and SSH sessions only |
| File attachments | Not available | Images, PDFs |
| Session isolation | --worktree flag | Automatic worktrees |
| Multiple sessions | Separate terminals | Sidebar tabs |
| Recurring tasks | Cron jobs, CI pipelines | Scheduled tasks |
| Computer use | Enable via /mcp on macOS | App and screen control on macOS and Windows |
| iOS simulator | Drive the simulator via computer use | iOS Simulator pane opens automatically |
| Dispatch integration | Not available | Dispatch sessions in the sidebar |
| Scripting and automation | --print, Agent SDK | Not available |
What's not available in Desktop
The following features aren't available in Desktop, except where noted:
- Third-party providers: Desktop connects to Anthropic's API by default. To route Desktop through a gateway, or to run the Code tab on Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, or a self-hosted LLM gateway, follow the links in the Third-party providers row.
- Linux (beta): Computer Use isn't yet available in the Linux desktop app. See Claude Desktop on Linux.
- Inline code suggestions: Desktop does not provide autocomplete-style suggestions. It works through conversational prompts and explicit code changes.
- Agent teams: coordinated teams, where Claude as the team lead assigns tasks to teammates from a shared task list, are available in the CLI, not in Desktop. For multi-agent work inside one session, use dynamic workflows, which run in Desktop; Claude can also message and manage your other sessions directly.
- Terminal-dialog commands: built-in commands that open an interactive panel in the terminal behave differently in the Code tab. Edit settings files directly to manage permission rules and configuration, or run the commands from the standalone CLI.
- Commands with no argument form, such as
/permissions, reply withisn't available in this environment. /configopens Settings → Claude Code. Text after the command is ignored, so/config theme=darkdoesn't set the theme.
- Commands with no argument form, such as