Desktop App: Terminal, Git Diffs, and Parallel Sessions
The Claude Code desktop app is built for power users who need to juggle multiple branches, run terminals, and review git changes without context switching. Drag and drop panes to customize your layout, use isolated sessions for parallel work on different branches, and let Claude Code review your git diffs before you commit.
Unlike the IDE extensions (which edit in your IDE), the desktop app is your full development environment—combining a file editor, terminal, git integration, and AI assistant in one window. For the branch-isolation workflow in depth, see Git worktrees and parallel sessions; if you need the same power without a local install, see web sessions.
Download, Install, and Startup
Download the Claude Code desktop app from https://claude.com/code (macOS and Linux supported; Windows via WSL2). Install it like any native app, open, and authenticate with your Anthropic account.
On first launch, the app shows an empty workspace. Create a new session by clicking '+ New Session' and selecting your project folder. The app scans the folder, indexes your code, and opens an editor pane with your file tree on the left.
Quick reference
- Download from https://claude.com/code (direct installer for macOS and Linux)
- First launch: authenticate with your Anthropic account
- New Session: select a folder; the app indexes your code in ~5 seconds
- File tree shows your project structure with Git status indicators (modified, untracked, ignored)
- Status bar shows Git branch, uncommitted changes count, and active session info
Remember this
Desktop app startup is faster than opening VS Code + Claude—instant, native integration.
Drag-and-Drop Pane Layout
The desktop app uses a flexible, resizable pane system. You have: file tree (left), editor (center), and any combination of terminal, chat, and diff viewer on the right. Drag pane dividers to resize or drag a pane's title bar to move it.
Common layouts: Refactoring layout (file tree + editor + diff viewer for reviewing changes), Terminal heavy (file tree + terminal taking 80% of space + small chat panel), Multi-branch (open two sessions side-by-side with a vertical divider).
Quick reference
- Drag any pane border to resize; right-click pane title to close or move to new window
- Open multiple sessions: File → New Window to work on two branches in parallel
- Each session has isolated state—changes in one don't affect the other until you merge
- Save layouts: your current pane arrangement persists when you close and reopen the app
- Terminal pane: click the terminal icon to open a shell in your project directory
Remember this
Customizable layout means you're never fighting the app's structure—adapt it to your task.
Integrated Terminal and Command Execution
The terminal pane runs bash, zsh, or your default shell in your project directory. You can type commands directly, or ask Claude Code 'Run the tests' and it executes npm test, python -m pytest, or whatever test runner your project uses.
Terminal output streams into the Claude Code chat—if a test fails, Claude Code reads the error and proposes a fix without you manually copying the output.
Quick reference
- Open terminal: click terminal icon or Cmd+` to toggle terminal pane
- Terminal inherits your project's environment: PATH, env vars, Python venv, etc.
- Ask Claude Code 'Run the build' and it executes make build or npm run build automatically
- Streaming output: test results, logs, and errors appear in real-time in Claude Code's chat
- Multiple terminals: open up to 4 terminals in different panes (useful for dev server + tests)
Remember this
Terminal integration means feedback loops (edit → run → fix) are 50% faster.
Git Diff Review Before Commit
Before committing, open the Git Diff pane (Git icon in the left sidebar) to see all changes. Claude Code highlights your modifications, shows added/removed lines, and can suggest a commit message.
Workflow: make changes, review the diff pane, ask Claude Code 'What should I commit?' and it reads the diffs and suggests a message. Then stage and commit without leaving the app.
Quick reference
- Git pane shows all modified and untracked files with counts
- Click a file in the diff view to see additions (green) and deletions (red)
- Ask Claude Code 'Generate a commit message' and it reads the diff and proposes one
- Stage files: click the + icon next to filenames or 'Stage All'
- Commit: type message and press Cmd+Enter, or ask Claude to commit with its suggested message
Remember this
Git integration keeps you in the app—no terminal switching needed for commits.
Parallel Sessions on Different Branches
Work on two features simultaneously without context switching. Open a new window (File → New Window), navigate to the same project folder, and Claude Code opens an isolated session. You're still in the same Git repo, but each window has its own editor state and session history.
Switch to 'main' branch in session A, switch to 'feature-x' branch in session B, and edit both in parallel. Merge, test, and commit from either window.
Quick reference
- File → New Window to open a second Claude Code window on the same project
- Each window is a separate session with independent undo/redo and chat history
- Git operations affect the shared repo—check out different branches in different windows
- Testing: run tests in window A while you edit in window B
- Merge: make changes in both windows, git merge one branch into another from either window
Remember this
Parallel windows let you work on two branches simultaneously—no waiting for merges or rebases.
Real Scenario: Multi-Branch Parallel Work
You're fixing a production bug and reviewing a feature PR at the same time. Goal: fix the bug in main, merge PR in feature-beta, coordinate the final integration.
Session A (main branch): Open a new window, checkout 'main', select a bug fix function, ask Claude Code 'Fix this race condition.' Review the diff, accept, run tests to verify.
Session B (feature branch): In another window, checkout 'feature-beta', review the PR diff (visible in the Git pane), ask Claude Code 'Does this break any tests?' It reads your test suite and flags potential issues.
Coordinate: Once the bug fix passes tests, merge main into feature-beta using git (from either window). If there are conflicts, Claude Code can help resolve them by reading the diff and proposing a resolution.
Quick reference
- Open two windows: one on main, one on feature-beta
- Each window has its own chat, diff viewer, and terminal—no context mixing
- Git status updates automatically—changes in one window are visible in the other
- Test in window A: npm test. Test in window B: npm test. Both run in parallel without interference
- Merge workflow: git merge in either window; Claude Code suggests conflict resolutions if needed
Remember this
Multi-branch workflows that took 2 hours now take 30 minutes—parallel editing eliminates waiting.
Editor Features and Keyboard Shortcuts
The desktop app's editor supports VS Code keybindings, syntax highlighting for 100+ languages, and bracket matching. Use Cmd+P to open the file picker, Cmd+F to search, and Cmd+Shift+F to search across the entire project.
Claude Code's inline diffs appear directly in the editor—gray for deletions, green for additions. Accept or reject each diff before moving to the next.
Quick reference
- Cmd+P: open file picker (search by filename or path)
- Cmd+F: find in current file
- Cmd+Shift+F: find across the entire project
- Cmd+/: toggle line comment
- Cmd+Return: send message in chat panel
- Inline diffs: accept/reject with keyboard or mouse clicks
Remember this
Standard editor shortcuts mean zero learning curve for VS Code users.
App Preview for Web Projects
If your project is a Next.js, Vue, or React app, ask Claude Code 'Start the dev server' and the app opens in a built-in preview pane. You can see your changes live as you edit and Claude Code refactors.
Workflow: ask Claude Code to change a component's styling, review the inline diff, accept it, and see the change live in the preview pane within seconds.
Quick reference
- Click 'Preview' icon in the top bar to open a browser-like preview
- Dev server runs in the integrated terminal—ask Claude Code to start it
- Live reload: changes appear in preview as soon as you accept diffs
- Inspector: click elements in preview to jump to the source code in the editor
- Network console: see API calls and responses from your preview app
Remember this
Live preview feedback loop turns code → build → browser into code → accept → see live.
Troubleshooting and Common Issues
Desktop app issues are usually terminal/environment related. If the app can't run your tests, verify your terminal can run them (open a manual terminal and run the command). If your dev server won't start, check that your project's build script is correct.
For crashes: check the app logs (Help → Show Logs) and note the error. Restart the app and try again. If a session gets stuck, close the window and reopen—session data is saved.
Quick reference
- Tests not running: open a manual terminal and verify the command works there first
- Dev server stuck: Ctrl+C in the terminal pane, then ask Claude Code to restart it
- App crash: Help → Show Logs to diagnose the issue; restart and retry
- Session slow: close unused panes (terminal, diff viewer) to reduce memory usage
- Git operations slow: run 'git gc' in the terminal to optimize the repository
Remember this
Most issues are environment-related, not app-related; verify terminal commands work first.
Key takeaway
The desktop app is built for developers who live in the terminal and juggle multiple branches. The pane system adapts to your workflow, the integrated terminal eliminates context switching, and parallel sessions let you work faster than any IDE or ChatGPT-based workflow.
Quick practice: Download the app, open a project folder, and ask 'Start the dev server.' Then edit a component, ask Claude Code to refactor it, and watch the change live in the preview pane. You'll feel the speed difference immediately.
For multi-branch workflows, open two windows, checkout different branches, and edit both in parallel. You'll save hours every week that you would have spent waiting for merges or context switching.
Polo Khan
Lead Author & Systems ArchitectSoftware engineer and distributed systems architect specializing in backend scalability, cloud-native infrastructure, databases, and AI engineering workflows. Author and maintainer of Core Concept Learning.
Related Articles
Explore this topic