Web-based terminal emulator using Ghostty's VT100 parser via WebAssembly
npm install @seflless/ghosttownGhost town let's you continue terminal sessions from other devices using a browser. The runtime is based on Ghostty with a recreated UI that should feel like using Ghostty for desktop.
We're building this to make it easy to build web apps using coding agents, while on the go.
``bashnpm
npm install -g @seflless/ghosttown
CLI Commands
After installing, you can use any of these commands:
| Command | Description |
| ----------- | --------------------------- |
|
ghosttown | Primary command (canonical) |
| gt | Short alias |
| ght | Alternative alias |All three commands behave identically.
Note: The
gt alias may conflict with other tools (e.g., go-task/gt). If you experience conflicts, use ght or the full ghosttown command instead.`bash
Start the web terminal server
ghosttownStart on a specific port
ghosttown -p 3000Run a command in a new tmux session
ghosttown vim
ghosttown "npm run dev"Run a command with a custom session name
ghosttown -n my-project vimList all sessions
ghosttown listAttach to a session by name
ghosttown attach my-projectRename the current session (when inside one)
ghosttown rename new-nameKill a specific session
ghosttown -k my-projectKill all ghosttown sessions
ghosttown -kaShow help
ghosttown --help
`$3
Ghosttown uses tmux to manage terminal sessions. Each session gets a stable ID that persists across renames, so URLs continue to work even after renaming a session.
| Command | Description |
| ----------------------- | --------------------------- |
|
gt list | List all ghosttown sessions |
| gt attach | Attach to a session |
| gt detach | Detach from current session |
| gt rename | Rename current session |
| gt rename | Rename a specific session |
| gt -k | Kill a specific session |
| gt -ka | Kill all sessions |
| gt update` | Update to latest version |