Claude Code vs Claude Desktop

Quick answer. Claude Code is the coding tool; Claude Desktop is an app that runs it — in its Code tab. They are not two competing products: Claude Code is one tool that runs in several places, and Claude Desktop is one of them. Want the terminal CLI? Install Claude Code:

brew install --cask claude-code@latest

Want a graphical app? Install Claude Desktop and use its Code tab:

brew install --cask claude

Both run the same Claude Code engine and share your CLAUDE.md, settings, and MCP servers. ✓ Every command verified on macOS 26.5, 2026-06-26, arm64.

Download the app "Set Up Your Mac for Claude Code"

The correct model. Claude Code is the agentic coding tool that reads your codebase, edits files, and runs commands. It is a capability, not a single app, and the same engine runs across the terminal CLI, VS Code, JetBrains, the Claude Desktop app's Code tab, the web (claude.ai/code), and Zed (via Zed's Agent Client Protocol, distinct from the Anthropic-published VS Code and JetBrains integrations). Claude Desktop is one macOS/Windows app with three tabs — Chat, Cowork, and Code — and the Code tab is Claude Code with a graphical interface. The desktop app includes Claude Code; you do not install Node.js or the CLI separately to use it.

CLI vs GUI — both are useful, for different reasons. The terminal CLI is scriptable and runs in any shell, on a server, or in CI. The Claude Desktop app has more features in its interface: it runs everything Claude Code does, plus graphical extras — a conversational, prompt-and-response interface and a list of past sessions. Neither is the "better" surface — pick the interface that fits the task.

Two Homebrew casks, one token apart. Cask claude-code installs the terminal CLI; cask claude installs the Claude Desktop app. Mind the difference — the names collide by one word.

Which do you need

MCP config — the one gotcha

MCP servers in ~/.claude.json or a project .mcp.json work in both the CLI and the Desktop Code tab. The Desktop app additionally loads servers from ~/Library/Application Support/Claude/claude_desktop_config.json into Code-tab sessions. But the standalone CLI does not read claude_desktop_config.json — a server you added in the Desktop app's settings will not appear in the terminal on its own. To bring those servers into the CLI, run:

claude mcp add-from-claude-desktop

This copies them into ~/.claude.json. So the config file does not tell you which product you have — only the terminal CLI ignores claude_desktop_config.json.

Plans

Using Claude Code — the terminal CLI or the Desktop Code tab — requires a paid Claude plan (Pro, Max, Team, or Enterprise) or an Anthropic Console / API account. The Desktop Chat tab works like claude.ai, so general chat is available without a paid plan; clicking Code on a free account prompts an upgrade. Plan names and prices change — see claude.com/pricing.

Before you install either: both need a developer environment — a terminal, Homebrew, the Xcode Command Line Tools, git, and a paid Claude plan. See Prerequisites for Claude Code, or let the free app Set Up Your Mac for Claude Code set it all up.

Download the app "Set Up Your Mac for Claude Code"

To install the CLI step by step, see Install Claude Code on Mac.

Sources

Command verification

Every command on this page was executed top-to-bottom on a clean macOS 26.5 (arm64) system on 2026-06-26.

CommandStatusResolved version
brew install --cask claude-code@latestpass
brew install --cask claudepass
claude mcp add-from-claude-desktopskipped

Verification run 20260626T223656Z.