@seflless/ghosttown
v2.0.0
Published
Web-based terminal emulator using Ghostty's VT100 parser via WebAssembly
Maintainers
Readme
ghost-town
Ghost 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.
Installation
# npm
npm install -g @seflless/ghosttown
# One-liner
curl -fsSL https://raw.githubusercontent.com/seflless/homebrew-ghosttown/main/install.sh | bash
# Homebrew
brew install seflless/ghosttown/ghosttownCLI 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.
# Start the web terminal server
ghosttown
# Start on a specific port
ghosttown -p 3000
# Run 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 vim
# List all sessions
ghosttown list
# Attach to a session by name
ghosttown attach my-project
# Rename the current session (when inside one)
ghosttown rename new-name
# Kill a specific session
ghosttown -k my-project
# Kill all ghosttown sessions
ghosttown -ka
# Show help
ghosttown --helpSession Management
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 <name> | Attach to a session |
| gt detach | Detach from current session |
| gt rename <new> | Rename current session |
| gt rename <old> <new> | Rename a specific session |
| gt -k <name> | Kill a specific session |
| gt -ka | Kill all sessions |
| gt update | Update to latest version |
