A desktop terminal manager built with Tauri v2 and Svelte 5. Add local project folders, and each project gets a tabbed workspace with real shell terminals, Claude Code + Codex integration, and git worktree support.
Download the latest release from the Releases page:
Workbench_x.x.x_universal.dmgOpen the .dmg and drag Workbench to your Applications folder.
macOS is the primary target. Linux and Windows support is planned.
portable-pty + xterm.js~/.workbench/portable-pty (terminal emulation)bun install
bun run dev
This runs tauri dev, which starts the Vite dev server on port 1420 and opens the Tauri window.
| Command | Description |
|---|---|
bun install |
Install dependencies |
bun run dev |
Start dev server + Tauri window |
bun run build |
Build production .app and .dmg |
bun run check |
Run svelte-check type checking |
bun run lint |
Run Prettier + ESLint checks |
bun run format |
Auto-format with Prettier |
bun run test |
Run all tests (frontend + Rust) |
bun run test:unit |
Run frontend unit tests only |
bun run test:component |
Run frontend component tests only |
Rust tests can be run separately:
cargo test --manifest-path src-tauri/Cargo.toml
src/ # Svelte frontend
lib/
components/ # Shared UI components (shadcn-svelte)
features/ # Feature modules (projects, workspaces, terminal, claude, worktrees)
stores/ # Svelte context-based stores
utils/ # Shared utilities
types/ # TypeScript type definitions
src-tauri/ # Rust backend
src/
commands.rs # Tauri IPC command handlers
config.rs # Project/workspace persistence
codex.rs # Codex session discovery and config
claude_sessions.rs # Claude session discovery and hooks
git.rs # Git CLI wrappers (branches, worktrees)
pty.rs # PTY session management
settings.rs # Claude Code settings CRUD
paths.rs # Path helpers and atomic file writes
This project is licensed under the GNU Affero General Public License v3.0.