Claude Code Desktop App diff view PR monitoring GitHub integration 2026

Claude Code Desktop App: Exclusive Features vs CLI-Only Workflows (2026)

The Prompt Shelf ·

Claude Code ships as both a CLI tool and a graphical desktop application, and the two aren’t feature-identical. The Desktop App adds a layer of visual tooling that has no CLI equivalent: interactive diff review with inline commenting, live app preview in a Browser pane, GitHub PR monitoring with auto-fix and auto-merge, scheduled recurring tasks, and computer use for GUI automation. This guide documents every Desktop-exclusive feature, gives you the CLI flag equivalents where they exist, and shows three multi-pane workflow patterns that only make sense in the desktop environment.

If you’re choosing between the two, or migrating a CLI workflow to Desktop, this is the reference page.

Desktop vs CLI: The Complete Feature Matrix

The same Claude Code engine runs under both surfaces. What changes is the UI layer — and that layer adds capabilities the CLI simply cannot replicate via flags.

FeatureDesktopCLINotes
Interactive diff viewYesNo+12 -1 indicator, line-by-line review
Inline diff commentingYesNoClick a line, add feedback, Cmd+Enter submits
Review code buttonYesNoClaude evaluates its own diffs
Browser pane (app preview)YesNoDev server in-app, screenshots, DOM inspection
External site browsingYesNoOpen docs, issue trackers alongside code
Computer useYesNoScreen control, GUI automation
PR monitoringYesNoCI status bar per session
Auto-fix failing CIYesNoClaude reads failures and iterates
Auto-merge on CI passYesNoSquash merge via GitHub CLI
Scheduled tasks (Routines)YesNoRecurring cron-style jobs in-app
Parallel sessions sidebarYesNoEach session = isolated Git worktree
Side chatYesNoAsk a question without derailing main thread
Integrated terminalYesNoShares Claude’s working directory
File pane editorYesNoSpot edits, copy absolute path
Pane drag-and-drop layoutYesNoChat / diff / browser / terminal / file
SSH sessionsYesNoDesktop installs CLI on remote automatically
Remote (cloud) sessionsYesPartialCloud sessions via web surface too
Dispatch from mobileYesNoCowork tab, 30-min approval window
Session auto-archiveYesNoArchives on PR merge or close
Desktop notificationsYesNoCI finish, permission prompts
--print / -p headlessNoYesNon-interactive automation, JSON output
--dangerously-skip-permissionsNoYesbypassPermissions mode without UI
dontAsk permission modeNoYesPre-approved tools only
stdin pipingNoYesecho "fix this" | claude
Shell scripting / cronNoYesUse CLI for batch automation
--model flag per invocationNoYesDesktop uses dropdown

Both surfaces share the same CLAUDE.md files, MCP servers, hooks, skills, and settings.json. You can run CLI and Desktop simultaneously on the same project.

Desktop-Exclusive Features in Detail

Diff View and Inline Code Review

When Claude edits files, a diff stats indicator (+12 -1) appears in the session toolbar. Click it to open the diff viewer: file list on the left, line-level changes on the right.

Inline commenting is the part no CLI flag replicates. Click any line to open a comment box. Add feedback. After commenting on multiple lines, submit all at once with Cmd+Enter (macOS) or Ctrl+Enter (Windows). Claude reads every comment and produces a revised diff.

Review code takes this further. In the diff view toolbar, click Review code to have Claude evaluate its own changes before you commit. The review targets high-signal issues only: compile errors, definite logic errors, security vulnerabilities, and obvious bugs. It does not flag style or formatting — things a linter already handles.

This two-layer review pattern (your inline comments + Claude’s self-review) is the closest the tool comes to an automated code review gate that runs before the PR even opens.

Browser Pane: Live App Preview

The Browser pane is a tabbed browser embedded in the Desktop layout. It serves two purposes:

App preview: Claude starts your dev server and opens it in the pane. From there it takes screenshots, inspects the DOM, clicks elements, fills forms, and iterates on issues it finds — all without you opening a separate browser window. Configure the dev command in .claude/launch.json if your project uses something non-standard:

{
  "servers": [
    {
      "name": "dev",
      "command": "npm run dev",
      "port": 3000
    }
  ]
}

Auto-verify runs after every file edit by default: Claude checks what changed in the live app and fixes regressions before they reach your review. Disable it in Settings → Claude Code if you prefer manual triggers.

External browsing: Open documentation, GitHub issues, or any external site next to your running app with Cmd+Shift+B. Claude can read and act on external pages (with per-site approval and safety classifier checks). The Browser pane uses a clean profile separate from your personal browser — use it for work, use the Claude in Chrome extension when you need your own logged-in sessions.

PR Monitoring, Auto-Fix, and Auto-Merge

After you open a pull request, a CI status bar appears in the session. Claude Code uses the GitHub CLI (gh) to poll check results. Two toggles control what happens:

Auto-fix: Claude reads failing CI output and iterates — no manual copy-paste of error logs. It runs until checks pass or it determines a fix is impossible and asks for input.

Auto-merge: Once all checks pass, Claude merges the PR (squash merge). GitHub repository settings must have auto-merge enabled for this to work.

Pre-requisite: gh must be installed and authenticated. Desktop prompts you to install it the first time you try to open a PR.

The PR workflow in Desktop looks like this:

1. Code changes → diff view review → inline comment → revised diff
2. Push branch → open PR (Claude handles with gh pr create)
3. CI status bar appears in session
4. Auto-fix enabled → Claude iterates on failures
5. Auto-merge enabled → PR merges when green
6. Session auto-archives (optional, Settings → Claude Code)

Steps 3–6 run without you watching. Claude sends a desktop notification when CI finishes.

Scheduled Tasks (Routines)

This is the most underexplored Desktop-exclusive feature. Scheduled tasks let you define recurring work that Claude runs automatically — daily, weekly, or on any cron expression — without keeping a terminal session open.

Common use cases:

  • Daily code review: every morning at 8:00, Claude reviews recent commits and leaves a report
  • Weekly dependency audit: every Monday, check for outdated packages and open a PR with updates
  • Briefing pull: pull metrics from connected tools (GitHub, Linear, Slack) and summarize overnight activity

Set up a scheduled task from the sidebar or via the desktop-scheduled-tasks reference. Tasks run in cloud infrastructure, so they continue even if your machine is off. No cron jobs, no LaunchAgents, no server required.

This is categorically different from CLI-based cron: scheduled tasks have access to the full Desktop environment, including connectors, MCP servers, and the skills library.

Parallel Sessions with Git Worktree Isolation

The sidebar lists all your sessions. Each session in a Git repository gets its own isolated Git worktree, so changes in one session don’t conflict with another until committed. Open a new session with Cmd+N.

Practical pattern: run three parallel sessions simultaneously:

  • Session 1: main feature branch
  • Session 2: hotfix on production branch
  • Session 3: dependency upgrade on separate branch

Each session tracks its own CI status bar if it has an open PR. Auto-archive cleans them up when PRs merge.

Side chat (Cmd+;) opens a lightweight question thread that shares the main session’s context. Ask “what does this function return for nil input?” without interrupting the main task. Claude answers in the side panel and you return to the main thread.

Computer Use

Computer use lets Claude open your applications, control your screen, and interact with anything that has no CLI or API surface. Enable it in Settings → General, then grant macOS Accessibility and Screen Recording permissions (or Windows equivalent).

Browsers get view-only access. Terminals and IDEs get click-only access (no typing). Everything else gets full control. This hierarchy steers Claude toward precise tools (shell, Chrome extension) before falling back to pixel-level interaction.

Use computer use for: native app testing, mobile simulators, hardware control panels, proprietary desktop tools without an API, and cross-app GUI workflows.

Computer use is a research preview on Pro and Max plans. Not available on Team or Enterprise.

SSH Sessions and Remote Cloud Sessions

SSH sessions: Desktop connects to any remote machine you manage (cloud VMs, dev containers, your own servers) and installs the Claude Code CLI on the remote side automatically the first time. All features that run on the remote file system work normally; the Browser pane and computer use require the session to have a display.

Remote (cloud) sessions: Run on Anthropic-hosted infrastructure. Sessions continue even if you close the Desktop app. Multiple repositories can be added. Bypass permissions mode is not available (the environment is already sandboxed). Useful for long-running refactors you don’t want to babysit.

Three Multi-Pane Workflow Patterns

Pattern 1: PR Review Loop

This workflow handles the entire code-change-to-merged-PR cycle without leaving Desktop.

Pane layout: [Chat | Diff | Terminal | Browser]

1. Start session, select project folder
2. Describe the change in Chat
3. Review diff in Diff pane, add inline comments (Cmd+Enter)
4. Claude revises → new diff appears
5. Click "Review code" → Claude self-review
6. Address any flagged issues
7. Terminal: run tests manually if needed
8. Push PR → CI status bar appears
9. Enable Auto-fix + Auto-merge
10. Close laptop. Desktop notification when it's done.

Pattern 2: Feature Development with Live Preview

Pane layout: [Chat | Browser | Diff]

1. Select project, permission mode: Accept edits
2. Ask Claude to implement feature
3. Browser pane auto-opens dev server
4. Claude: takes screenshot → identifies issue → edits → screenshot
5. You: watch changes appear live in Browser pane
6. Diff pane: review final state before committing

This pattern is fastest for UI work. Claude iterates on what it sees in the browser rather than on what it thinks the output should be.

Pattern 3: Parallel Workstreams with Auto-Archive

Session 1: feature/auth-refactor
Session 2: fix/login-regression  
Session 3: chore/update-dependencies

All three run simultaneously. Each has its own CI bar.
Auto-archive: on (Settings → Claude Code)

Morning start → open Desktop → three sessions running
Evening end → two PRs merged, auto-archived
One session awaits review comments

With auto-archive, finished sessions disappear from the sidebar automatically. The list stays clean without manual housekeeping.

Keyboard Shortcuts Reference

ShortcutAction
Cmd+NNew session
Cmd+WClose session
Ctrl+TabNext session
Ctrl+Shift+TabPrevious session
Cmd+Shift+DToggle diff pane
Cmd+Shift+BToggle Browser pane
`Ctrl+“Toggle terminal pane
Cmd+;Open side chat
Cmd+Shift+MPermission mode menu
Cmd+Shift+IModel menu
Cmd+Shift+EEffort menu
Ctrl+OCycle view modes (Normal / Verbose / Summary)
EscStop Claude’s response

Use Verbose view (Ctrl+O) to see every tool call and file read. Use Summary view to scan results across multiple sessions quickly.

What Stays in the CLI

The CLI handles scenarios Desktop cannot:

  • Headless automation: claude -p "run the audit" --output-format json | jq '.result' in CI pipelines
  • Shell piping: git diff HEAD~1 | claude -p "summarize changes"
  • Non-interactive scripting: cron jobs, Makefiles, pre-commit hooks invoking Claude
  • dontAsk mode: pre-approve a fixed set of tools with zero prompts — useful in sandboxed containers
  • --dangerously-skip-permissions: fully non-interactive for isolated environments

For team workflows, a common split: engineers use Desktop for active development sessions; CI uses the CLI for scheduled review jobs and automated checks. Both read the same CLAUDE.md and hooks configuration.

Connecting External Tools

Desktop supports connectors for GitHub, Slack, Linear, Jira, and other services. Connect them from the + button in the prompt box → Connectors. Once connected, Claude can read GitHub issues into context, post Slack updates when a PR merges, or pull Linear tickets as task context — without you copy-pasting.

Plugins extend this further: browse and install plugins from the + button → Plugins. Plugins bundle skills, agents, MCP servers, and connectors into a single installable package.

FAQ

Q: Does Desktop App share CLAUDE.md with the CLI?
Yes. Both read the same .claude/ directory and ~/.claude/ user-level config. Any hook, skill, setting, or MCP server configured for the CLI works identically in Desktop.

Q: Can I use Claude Code Desktop without installing the CLI?
Yes. The Desktop app includes the Claude Code engine — you don’t need Node.js or the CLI separately. Install the CLI only if you want to run claude from your terminal alongside Desktop.

Q: Does auto-merge require repository settings changes?
Yes. GitHub’s auto-merge feature must be enabled in your repository settings (Settings → General → Allow auto-merge). Claude Code enables auto-merge on the PR via gh pr merge --auto; GitHub enforces branch protection rules before executing it.

Q: Is scheduled tasks available on all plans?
Scheduled tasks run in cloud infrastructure and require a Pro, Max, Team, or Enterprise plan. The feature is accessed from the Desktop sidebar.

Q: Can I use computer use in Remote (cloud) sessions?
No. Computer use requires the Desktop app to be running locally. Cloud sessions don’t have a display surface for screen control.

Q: What’s the difference between auto-fix and just asking Claude to fix CI in chat?
Auto-fix runs autonomously in the background without you being present. It monitors the CI status bar, reads failure output when checks fail, and iterates until checks pass or it hits a dead end. Chat-based fixing requires you to manually paste error output and wait.

Q: Does the Browser pane support OAuth sign-in flows?
Yes. The Browser pane handles popup sign-in flows including Google OAuth. Credentials are stored in the pane’s clean browser profile (separate from your personal browser). Claude in Chrome extension uses your existing browser sessions instead.


Secure Your Desktop Workflow

If your sessions involve API keys, MCP server credentials, or environment secrets, avoid hardcoding them in .claude/ files that might be committed. 1Password CLI’s op run injects secrets into Claude Code’s environment at session start — no .env files, no shell history exposure, and an audit log for every secret the session touches. Works with both Desktop and CLI.

Related Articles

Explore the collection

Browse all AI coding rules — CLAUDE.md, .cursorrules, AGENTS.md, and more.

Browse Rules