macOS APP

Run dozens of Claude Code
sessions on one canvas.

Free-form 2D workspace for multi-session AI development. Tauri, Rust, and raw PTY control.

Visit CodeGrid → Work with us
AT A GLANCE
Platform
Native macOS
Code-signed .app binary. Tauri v2 — Rust backend, React frontend.
Terminal Engine
xterm.js + PTY
Real PTY spawned per tile via Rust. Full Claude Code session in every terminal.
Spatial Model
Infinite 2D Canvas
Pan, zoom, drag terminal tiles freely. Spatial layout for parallel work.
WHAT WE BUILT

The system.

CodeGrid is a native macOS desktop app that turns multi-agent AI development from a linear, tab-switching chore into a spatial, parallel workflow.

Canvas
Infinite 2D workspace
A free-form canvas where terminal tiles can be placed, moved, resized, and grouped spatially. Pan with middle-click or trackpad. Zoom in and out. Organize sessions by project, by task type, or by anything that makes sense to the developer — the canvas has no imposed structure.
PTY Control
Real sessions, real control
Each terminal tile spawns a real PTY via the portable-pty Rust crate. Resize events, signal forwarding, exit detection, and clean teardown are all handled on the Rust side. xterm.js renders the terminal in the React layer with full VT100 compatibility.
Git Worktrees
Sessions that don't collide
Each new session starts in an isolated git worktree — automatically created, named, and tracked. Multiple sessions on the same repository work in parallel branches without file conflicts or HEAD collisions. Worktrees are cleaned up automatically when sessions close.
Broadcast
Fan-out to all agents
Cross-session broadcast sends a command or context snippet to every running session simultaneously via raw PTY injection. One instruction fans out to all running Claude Code agents. Critical for coordinating shared context updates or stopping all sessions at once.
Persistence
Survives restarts
SQLite persistence layer stores canvas layout, session history, worktree mappings, and tile positions. Close the app, reopen it — sessions restore to their last known state. Worktree context is preserved.
Keyboard-first
No mouse required
Global keyboard shortcuts to spawn new sessions, focus a tile by index, kill a session, and rearrange the layout — without touching the mouse. Designed for developers who live in the terminal and don't want to break flow to navigate a UI.
RUST ARCHITECTURE

Rust-side PTY management.

The backend — written in Rust using the Tauri v2 command API — manages the full PTY lifecycle for every terminal tile. This is what makes CodeGrid feel native rather than like a web wrapper.

  • PTY spawn with shell inheritance and env passthrough
  • Resize events forwarded from xterm.js to PTY on canvas resize
  • SIGWINCH, SIGTERM, SIGINT forwarding per tile
  • Exit detection triggers worktree teardown and UI update
  • Output streams piped to xterm.js via Tauri event system

Why Tauri v2.

Electron was ruled out immediately — the memory footprint for an app spawning dozens of terminals would be untenable. Tauri v2 ships a code-signed native macOS binary, shares one WebView instance for the React UI, and gives direct access to system APIs from Rust without a Node.js process in between.

Binary characteristics
Distributed as .app + .dmg
Code signed Yes — Apple Developer ID
State storage SQLite (local)
Network dependency None (fully offline-capable)
STACK

Technology.

Desktop Runtime
Tauri v2
Backend Language
Rust
UI Framework
React
Terminal Renderer
xterm.js
PTY Crate
portable-pty
State Persistence
SQLite
Isolation
Git Worktrees
Platform
macOS (native)
codegrid.app ↗
BUILD WITH US

Need a native desktop tool
built with Rust and Tauri?

We build production-grade desktop apps — native binaries, real system APIs, no Electron bloat.

Start the conversation →