Architecture
Plexus is a native desktop app that wraps the real Claude Code CLI, with a Vue frontend and a Rust backend that does the heavy lifting.
Native, not a browser tab
Plexus ships as a Tauri desktop app: a lightweight Vue UI driving a Rust backend. The backend owns everything slow or system-level — PTY terminals, git operations, file IO, and provider calls — so the interface stays responsive while agents and shells run underneath it. You install a signed build, not a web app; see Install.
Choosing Tauri over Electron was deliberate. An Electron app bundles its own copy of Chromium and runs the app's logic in JavaScript on a single main thread — so its memory footprint is heavy from the start and tends to creep up as features pile on, and the more you ask of it at once (many live sessions, terminals, and git operations in parallel) the more that one thread becomes the bottleneck. It's felt most on modest or older hardware. Plexus instead pairs a lightweight system-webview UI with a multithreaded Rust backend, keeping the heavy, concurrent work off the UI thread so the app stays fast as your session count climbs.
Local-first by design
Your code, sessions, and credentials never leave your machine. Plexus drives the claude CLI that you already have on your PATH, so it runs on your Claude subscription rather than calling a hosted API behind your back.
Settings, session state, and history live in a local database on your machine — there is no Plexus account and no server-side config. Secrets are stored in your OS keychain. See Secrets.
Only the active session is mounted
Plexus can run many sessions in parallel, but it only mounts the UI for the one you're looking at. Idle sessions stay warm in the background — their agent and worktree are alive and processing — so switching between them is instant and nothing loses its place. See Concepts for how sessions, worktrees, and projects fit together.
The window at a glance
The app is one window with a few fixed regions:
| Region | What lives there |
|---|---|
| Title bar | The Plexus mark, the Settings button, and the theme toggle (Light → Dark → System) |
| Left tree | Projects and their sessions, plus the Dashboard and archived items |
| Center | The active session — a tabbed view: Agent, Review, Explorer, Git |
| Bottom | A collapsible terminal panel rooted in the session's worktree |
Switch tabs with ⌘1–⌘4, toggle the terminal with ⌘J, and toggle the dashboard with ⌘0.
⌘/Mod is Cmd on macOS and Ctrl on Windows/Linux. The full set lives in Keyboard shortcuts.
What the backend handles
- Terminals — each session and scratch shell runs in a real PTY, so interactive tools and TUIs work exactly as they would in your own terminal.
- Git — worktrees, branches, diffs, rebase, merge, and squash are native git operations, not reimplementations. See Worktrees.
- Providers — Plexus launches and supervises the
claudeprocess for each session and streams its output to the UI.
The result is a thin client over fast native plumbing: the UI is just a view, and the work happens close to your filesystem.