Chan manual
Manual
A guide to chan: from your first terminal to remote devservers, gateways, and agent teams.
chan is a supercharged terminal emulator. It is easiest to understand as layers, each one built on the previous:
- A terminal emulator. Terminals open in tabs and split panes inside windows. The shell and its scrollback live in a server process, not in the window, so a window can close or reload and the shell keeps running.
- Scriptable. Every chan terminal has the
cscommand, which drives the window it runs in: open a file, split a pane, start a named terminal, type into another tab and read its output, copy to your clipboard, transfer files. The same actions are on the keyboard through the command launcher and on the mouse through pane menus and drag and drop. Programs report their state back to the tab, and the Rich Prompt composes Markdown and images into a program's input. - A multiplexer, and tmux. chan's own multiplexer is windows, panes, tabs, and named sessions that outlive the window. It also speaks tmux control mode: a
tmux -CCrun in a chan terminal, locally or over ssh, turns that tmux server's windows and panes into chan windows and panes. - Local and remote, the same. Chan Desktop runs the server on your machine. Chan Devserver runs the same server on another machine, and your desktop connects to it over any TCP tunnel you already have: an
ssh -Lport forward, a VM, a container. Disconnecting leaves everything running there. - Always on, through a gateway. A devserver can also dial out to a chan gateway, which publishes it behind sign-in to you and to the people you share it with, from any browser or desktop. The gateway is software you host yourself; chan is not an online service.
Around the terminal, chan turns any directory into a workspace: it indexes the content for search, gives Markdown files autocompletion for linking to each other, builds a graph of the project, and adds built-in apps (editor, file browser, graph, dashboard, and more) as tabs beside your terminals, so you and your coding agents work on the same project side by side. Shared sessions coordinate participants and leadership, while extensions add your own applications as tabs. chan is free and open source.
This manual describes chan from the outside. The design documents in the repository describe the same layers from the inside, component by component.
Install & first run
Install chan, make it your default terminal on Linux, open the Computers screen, and turn a directory into a workspace.
Navigation
Arrange windows, panes, and tabs, and find actions with the command launcher.
Devserver
Set up a devserver and connect to its terminals and workspaces from the Computers window.
Chan in a browser
Serve a workspace or a devserver from the chan binary alone and use it from any browser, no desktop needed.
Host a gateway
Run your own gateway on one server and publish devservers behind sign-in, for you and the people you share them with.
Terminal & teams
Use terminal commands, rich prompts, drafts, program status, and agent teams.
Editor & previews
Edit text, preview Markdown, slide decks, and JSON, and export documents to PDF.
File browser & reports
Browse files, transfer them between machines, and inspect code reports and COCOMO estimates.
Graph
Navigate directories and relationships, and use depth to see more of a repository.
Dashboard & index
Read workspace information, follow indexing progress, and manage what gets indexed.
Workspace search
Find content, files, tags, and relationships through the search UI and terminal.
Collaboration & sessions
Share workspace sessions, identify clients, and hand over leadership locally or remotely.
Extensions
Add your own applications as sandboxed tabs and integrate them through the host bridge and cs.
Settings & defaults
Configure appearance, editing, terminals, shortcuts, and workspace preferences.
Screensavers
Configure idle locking and explore the animations shown in an empty workspace.