Skip to content

leverageaiapp/claude-code-pro

Repository files navigation

Claude Code Pro

Build License: MIT

A multi-workspace desktop client for Claude Code CLI — gives you a file tree and parallel project workspaces on top of the terminal you already love.

Why

Claude Code is an incredible CLI agent, but two things slow me down when I use it:

  1. No file tree. I switch to Finder or VS Code just to see what's in the project. I want a project explorer next to the agent.
  2. One terminal = one project. If I want Claude working on two projects in parallel, I'm juggling iTerm tabs and cd-ing manually. There's no first-class concept of "workspace".

Claude Code Pro fixes both. It's a thin Electron wrapper around the claude CLI:

  • File tree sidebar — browse your project, click to open files in Monaco editor, right-click for common operations.
  • Multi-tab workspaces — every tab is a Claude Code session in its own folder. Switch tabs, the file tree switches with it. Run multiple projects in parallel without context-switching.
  • Drag-and-drop paths — drag any file (from the tree or Finder) into the terminal to insert its absolute path. Great for @-referencing files in Claude Code.
  • Auto-launches claude — every new terminal opens with Claude Code already running.

Features

File tree Browse, open in editor, right-click menu (rename, delete, copy path, reveal in Finder)
Multi-tab terminals Each tab is an independent workspace with its own working directory
Auto-launch Claude New terminals automatically start claude
Drag-and-drop Drag files into the terminal to insert absolute paths (escapes spaces / unicode)
Monaco editor Full VS Code editor for in-app file editing, multi-tab
Shift+Enter Newline in Claude Code input (no need to remember Option+Enter)
Web links Cmd+Click URLs in terminal opens system default browser
Debug console Built-in panel for runtime diagnostics

Requirements

  • macOS (Linux/Windows likely work but untested)
  • Node.js 20+
  • Claude Code CLI installed and authenticated (claude should be on your PATH)

Run from source

git clone https://github.com/leverageaiapp/claude-code-pro.git
cd claude-code-pro
npm install
npx electron-rebuild -f -w node-pty   # rebuild native module for Electron
npm run dev

The Electron window opens, prompts you to pick a folder, and you're in.

Build a packaged app

# macOS .dmg (Apple Silicon + Intel)
npm run dist:mac

# Windows installer
npm run dist:win

# Linux AppImage
npm run dist:linux

Output goes to release/<version>/.

Download

Pre-built binaries for macOS, Windows and Linux are produced automatically by GitHub Actions. Grab them from the latest release.

Note: builds are unsigned. On macOS the first launch requires right-click → Open to bypass Gatekeeper.

Tech stack

  • Electron — desktop shell
  • React 19 + Vite — renderer
  • TypeScript + Tailwind CSS — typing & styling
  • Zustand — state management
  • Monaco Editor — code editor (the same one VS Code uses)
  • xterm.js + node-pty — terminal emulator + PTY backend
  • Claude Code CLI — the actual AI agent (we don't replace it, just wrap it)

Architecture

┌──────────────────────────────────────────────────────┐
│  Electron Main                                        │
│  ├─ PTY processes (one per terminal tab)              │
│  ├─ File system IPC                                   │
│  └─ Window / dialog handlers                          │
└────────────────────────┬─────────────────────────────┘
                         │ IPC
┌────────────────────────┴─────────────────────────────┐
│  Renderer (React)                                     │
│  ├─ FileTree (sidebar, per-tab cwd)                   │
│  ├─ Tab Bar (terminal + editor tabs)                  │
│  ├─ Monaco Editor (per editor tab)                    │
│  └─ xterm Terminal (per terminal tab)                 │
└──────────────────────────────────────────────────────┘

Each terminal tab spawns its own node-pty process with a working directory, and inside that PTY runs claude. State per tab is preserved across tab switches.

Contributing

PRs welcome. The codebase is small and approachable:

  • electron/main.ts — IPC handlers, PTY lifecycle
  • electron/preload.ts — context-isolated API bridge
  • src/components/ — UI components
  • src/stores/ — Zustand stores

License

MIT

Acknowledgments

Inspired by openclaude and built around the excellent Claude Code CLI.

About

A multi-workspace desktop client for Claude Code CLI — file tree, parallel terminals, drag-and-drop file paths

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors