kolu — the terminal, done right
The terminal
built for many.
Not a chat-UI wrapper.
Not an editor fork.
A real terminal — just better at scale.
Real xterm.js tiles on an infinite canvas, backed by padi and kaval so the browser can come and go without losing the shells underneath. claude, codex,opencode, grok — anything you run in a shell runs in kolu.
docs
Start in the guide.
The durable setup and workflow material now lives in the docs, where it has sidebar navigation, search, code copy, and next-page flow.
the system
One terminal experience, split at the right owners.
Kolu is what you use. Padi remembers the workspace on the host. Kaval owns the shells. That split is why the tab, web server, and PTYs can fail or restart on different clocks.
See the architecture The@kolu/surface framework underneath from the blog
all posts →Seven weeks to a remote terminal
A remote terminal that behaves exactly like a local one sounds simple. It took Kolu about seven weeks, two dozen thrown-away pull requests, a 6,000-line PR nobody could review, and a daemon that deleted a live 20-terminal session — before “one daemon per host, switch don't multiplex” finally settled it.
read →