Skip to content

Repository files navigation

Perch

Your terminals, in a browser tab. Perch turns the machine your code actually runs on into a VS Code-style workspace you can open from any browser - laptop, tablet, or phone.

Open a folder as a project and it gets its own terminal session. Run nvim, git, a dev server, an AI agent. Close the laptop; the terminals keep running in a daemon of their own, and come back with their history, working directories and names after a server restart, a redeploy, a crash, or a reboot.

Sidebar, FILES panel, Source Control panel, and an nvim tab with inline git blame

More screenshots
Colorized terminal output in a tab git log and status in a terminal tab
Extensions settings panel Ctrl+P quick switcher for tabs, terminals, and projects

Why you'd want it

  • Terminals that outlive the browser. A bundled daemon owns every terminal, so restarts, dropped connections and sleeping laptops cost you nothing. Scrollback replays exactly as it was written.
  • A real workspace, not just a shell. Tabbed and split terminals, a file tree with drag-and-drop upload, source control, project-wide search, image/PDF/Markdown/CSV viewers, and Ctrl+P to jump anywhere.
  • Good on a phone. Touch selection, a key bar for the keys phones don't have, swipe gestures, and zero-lag local echo when you're typing to an agent over a slow link.
  • Your editor, your keys, your theme. nvim by default, VS Code color and icon themes installed unchanged, and every shortcut rebindable.
  • Ports, reachable. The server lists what's listening and opens it in a tab, proxies it, or forwards it to your machine with one command.
  • AI agents as first-class citizens. Claude Code and Codex are configured once and reused everywhere, with hooks written for you and push notifications when an agent needs an answer.
  • Extensible on purpose. Nearly every surface above is itself a bundled extension, built on the same API your own extensions get.

See docs/FEATURES.md for the full tour.

Install

curl -fsSL https://raw.githubusercontent.com/tuanpham-dev/perch/main/install.sh | bash

On Windows, in PowerShell:

irm https://raw.githubusercontent.com/tuanpham-dev/perch/main/install.ps1 | iex

This builds the app, installs a perch command, and starts a user service that survives logout and comes back on boot. Perch is then at http://127.0.0.1:3001. You need Node.js 23+ and a C/C++ toolchain; the installer checks first and tells you what's missing.

Manage it with perch start / stop / status / logs / update, and run perch doctor if anything looks wrong.

Documentation

Features What everything does, in detail
Keyboard & mouse Default shortcuts and terminal gestures
Install Requirements, the installer, and the perch CLI
Deployment Production, nginx, and authentication
Port forwarding The tunnel CLI and the built-in port proxy
Extensions Installing, bundling, and writing extensions
Extension API The complete API reference
Architecture Why the core stays small
Development Running from a clone, and the repo layout

License

MIT - see LICENSE.

About

A VS Code-style browser workspace for your terminals, backed by a daemon that keeps sessions alive across server restarts and reboots.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages