A cross-platform AI agent terminal workspace. Built with Tauri v2, React, and xterm.js. Inspired by cmux (macOS).
My first idea was to just add Linux support for cmux directly, but after reading the PRs from their repo, I realized that if they really want to add support, they will eventually.
And that's where this project comes to life! I wanted to create something inspired by cmux that runs on Linux, macOS, and Windows. I know Linux has tmux which is actually great, however the UI/UX from cmux has me fallen in love.
This project is open source. I have plans and more features for the future — especially multi-agent coordination workflows.
ptrcode is built to bring a fast, keyboard-first terminal workspace experience to all platforms with a native desktop app feel. The goal is to make multi-pane, multi-workspace development smooth without forcing users into a browser-only workflow or heavy IDE.
- Near term: stable cross-platform releases with easy install paths
- Product quality: stronger polish in interaction, performance, and accessibility
- Power features: multi-agent swarm coordination (ptrcode's key differentiator)
- Distribution: broader packaging options after core release flow is stable
- Workspaces: Organize terminals into separate workspaces with quick switching
- Flexible Pane Layouts: Split panes horizontally and vertically with resizable dividers
- Position-Based Navigation: Navigate between panes using arrow keys based on actual screen position
- Command Palette: Quick access to all commands via fuzzy search
- Customizable Keybindings: Remap any shortcut to your preference
- Persistent State: Workspaces and layouts are saved across sessions
- Cross-platform: Linux, macOS, and Windows
Download artifacts from the latest release:
https://github.com/cai0baa/ptrcode/releases/latest
gh release download --repo cai0baa/ptrcode --pattern "*.AppImage"
chmod +x ./*.AppImage
./*.AppImagegh release download --repo cai0baa/ptrcode --pattern "*.deb"
sudo apt install ./*.debgh release download --repo cai0baa/ptrcode --pattern "*.dmg"Open the .dmg and drag ptrcode to Applications.
macOS Security Warning: Because ptrcode is not yet notarized with Apple, macOS will show an "unverified developer" warning on first open. To bypass: right-click the app → Open → Open. Or from Terminal:
xattr -d com.apple.quarantine /Applications/ptrcode.app
gh release download --repo cai0baa/ptrcode --pattern "*.zip"Extract and run ptrcode.exe.
Windows Security Warning: Because ptrcode is not yet code-signed with an Authenticode certificate, Windows SmartScreen will warn "Windows protected your PC". Click More info → Run anyway to proceed.
-
Rust (latest stable)
-
Node.js (v18+)
-
System dependencies:
# Debian/Ubuntu sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libayatana-appindicator3-dev librsvg2-dev # Fedora sudo dnf install webkit2gtk4.1-devel openssl-devel curl wget file libappindicator-gtk3-devel librsvg2-devel # Arch sudo pacman -S webkit2gtk-4.1 base-devel curl wget file openssl appmenu-gtk-module libappindicator-gtk3 librsvg # macOS — install Xcode Command Line Tools xcode-select --install # Windows — install Visual Studio Build Tools with C++ workload
git clone https://github.com/cai0baa/ptrcode.git
cd ptrcode
npm install
npm run tauri dev # development
npm run tauri build # production buildAll shortcuts use Ctrl-based modifiers.
| Shortcut | Action |
|---|---|
Ctrl+B |
Toggle sidebar |
Ctrl+Shift+P |
Open command palette |
Ctrl+, |
Open keyboard shortcuts |
| Shortcut | Action |
|---|---|
Ctrl+Shift+N |
New workspace |
Ctrl+Tab |
Next workspace |
Ctrl+Shift+Tab |
Previous workspace |
Ctrl+Shift+W |
Close workspace |
Ctrl+1 - Ctrl+8 |
Jump to workspace 1-8 |
Ctrl+9 |
Jump to last workspace |
| Shortcut | Action |
|---|---|
Ctrl+Alt+D |
Split pane right |
Ctrl+Alt+Shift+D |
Split pane down |
Ctrl+Alt+W |
Close active pane |
Ctrl+Alt+Arrow |
Focus pane in direction |
Ctrl+Shift+Enter |
Toggle pane zoom |
Ctrl+Shift+H |
Flash focused pane |
| Shortcut | Action |
|---|---|
Ctrl+Shift+F |
Find in terminal |
- Frontend: React 19 + TypeScript + Vite
- Backend: Tauri v2 (Rust)
- Terminal: xterm.js with WebGL renderer
- State Management: Zustand with Immer
- Layout: Allotment (split panes)
GPL v3 - See LICENSE for details.