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@latestWant a graphical app? Install Claude Desktop and use its Code tab:
brew install --cask claudeBoth 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.
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
- Terminal, scripting, or CI → install the CLI:
brew install --cask claude-code@latest, then runclaudein a project. - A graphical, conversational interface → install Claude Desktop:
brew install --cask claude, then open the Code tab. - General AI chat only → use
claude.aiin a browser, or the Claude Desktop Chat tab. - Both → install both and run them on the same project at once. They share
CLAUDE.md, settings, hooks, skills, and MCP servers (with separate session history).
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
- Claude Code overview — https://code.claude.com/docs/en/overview
- Use Claude Code in the desktop app — https://code.claude.com/docs/en/desktop
Command verification
Every command on this page was executed top-to-bottom on a clean macOS 26.5 (arm64) system on 2026-06-26.
| Command | Status | Resolved version |
|---|---|---|
brew install --cask claude-code@latest | pass | |
brew install --cask claude | pass | |
claude mcp add-from-claude-desktop | skipped |
Verification run 20260626T223656Z.