Persistent terminals for Git worktrees.
Give each task an isolated Git worktree. Keep its agents, terminals, servers, and development tools active in one place.
- 🌳 One task, one tree. Keep each branch, agent, server, and test watcher in an isolated Git worktree.
- 🤖 Pi support. Pi is the only supported coding agent integration for now.
- ♾️ Persistent terminal sessions. Disconnect without stopping processes. Reconnect later with the same terminal history and state.
- 🔔 Attention without constant watching. See terminal titles, progress, exit states, and notifications when a task needs you.
- 🖥️ Your terminal tools still work. Run Pi, shells, servers, and other TUIs with their normal interfaces.
- 🧩 More than terminal tabs. Start reusable presets, open development servers beside terminals, and build custom web panels for each tree.
- 📱 Access from another device. Reconnect from the macOS app, a browser, or a phone through private Tailscale access.
- 🔧 Git stays in control. Treeport finds worktrees made by Git, editors, agents, and scripts instead of replacing them.
Note
Treeport's core is under active development. It is already usable for daily development work, but some interfaces can change.
Treeport supports macOS and Linux. It requires Node.js 24+, npm, and Git.
npm install --global @treeport/treeport
treeport /path/to/projectSee Install Treeport for the macOS app and updates.
For another device, use private remote access. Do not expose Treeport directly to the public internet.
- Install Treeport
- Understand projects, trees, and terminals
- Configure persistent service mode
- Connect through Tailscale
- Coding agents
Contributor requirements are Node.js 24+, pnpm 11, and Git.
pnpm install
pnpm devpnpm dev starts the daemon, web interface, and Electron app with separate ports for this tree.
Run the complete local pull-request check before you submit a change:
pnpm ci:localTreeport uses the MIT License.