shell.online
Leave your desk. Keep your terminal moving.
Start an agent or terminal command on your computer. Open the same session on
your phone, tablet, or another computer. Watch its output, reply to prompts,
or invite a teammate. Free, open source, and no account needed to try it.
Get started · Read the docs ·
Open the app · Latest release

Get started
1. Install on the computer doing the work
macOS, Linux, BSD or Solaris — run in a terminal:
curl -fsSL https://shell.online/install | sh
Windows — run in PowerShell:
irm https://shell.online/install.ps1 | iex
The installers check release checksums. Prefer another method?
Use Homebrew or build from source.
2. Start your agent—or any terminal command
Choose one agent you already have installed:
| Agent | Command |
|---|
| Claude Code | shell claude |
| Codex | shell codex |
| OpenCode | shell opencode |
| Muse | shell muse |
Other terminal programs work too: shell -- npm run dev,
shell -- python script.py, or just shell for a fresh shell.
This starts a new process. It does not attach to a process that is already
running. If your agent has a resume command, you can start that through shell.
3. Open the link anywhere
Your terminal prints a link, password and QR code. Scan the QR code or open the
link in a browser. Keep the host computer awake and online. Closing the
browser does not stop the process; the session ends when its process exits.
See a real session on a phone
This is terminal output from the host computer, not a second copy of the agent.
What you can do
Everyday commands
| Command | What it does |
|---|
shell list | Find sessions on this machine |
shell attach | Join an existing local session; Ctrl-X, then D detaches |
shell kill -- | Stop that one session |
shell --name "Review" codex | Give a new session a useful name |
shell --foreground claude | Keep local terminal interaction while sharing |
shell password | Reveal one active session's password locally |
shell password rotate | Change browser access and revoke MCP grants |
shell help | See built-in help |
Full command reference ·
Connection troubleshooting ·
Alternative renderer (Refstream alpha)
Know what you are sharing
- The process stays on your computer. This is terminal sharing, not remote desktop or a cloud machine. A sleeping or offline host cannot be controlled.
- The link and password are access credentials. An interactive share lets its holder type with the process's permissions. Use
--read-only when viewing is enough; keep QR codes private too.
- Terminal traffic is end-to-end encrypted by default. Only an explicit
--no-e2ee disables this protection. Native MCP grants authorize server-side decryption for the authorized MCP client. A browser password is not an MCP bearer.
- File access is off by default.
--files or --files-root deliberately exposes a selected directory.
- A saved link is not a saved process. Persistence can reuse credentials and files; it cannot restore process memory.
Security model · Encryption details ·
Report a vulnerability privately
Install or build the version you mean to use
The latest published CLI release is v0.25.0. main also contains newer app
and integration work; a merged change is not proof that every hosted component
or running CLI host has been updated. Check the changelog and
release notes.
Run shell --version to inspect your installed binary. Installing an update
does not restart existing sessions. Save active work before restarting a host.
Supported hosts include macOS, Windows, Linux, FreeBSD, OpenBSD, NetBSD,
DragonFly BSD and Solaris. Phones need only a browser.
See architectures and runtime-test coverage.
Build from source
Install Git and Go 1.26.8. Node.js is not needed to build the CLI or use the hosted relay.
git clone --depth 1 --branch v0.25.0 https://github.com/TeoSlayer/shell.online.git
cd shell.online
go build -buildvcs=false -trimpath -ldflags="-X main.version=0.25.0" -o shell ./cmd/shell
./shell --version
In Windows PowerShell, use -o shell.exe and .\shell.exe --version instead.
Run ./shell codex (Windows: .\shell.exe codex) from this directory, or put
the binary in a directory on your PATH. These commands build the tagged release,
not whatever happens to be on main.
Find your way around
| Area | What is there |
|---|
cmd/shell, internal | Go CLI, PTY host, encryption and account client |
worker, shared | Hosted relay, MCP, protocol and shared logic |
web, docs/content.json | Public website, terminal viewer and versioned guides |
app | Optional accounts app, API, database and game |
standalone, docker-compose.yml | Self-hosted relay and persistent Docker client—different deployments |
docs | User guides and deeper operator references |
Want to contribute? Pick the checks for your change.
Please keep real terminal output, share links, passwords and tokens out of issues and PRs.
Support the project
If shell.online makes your day easier, give it a star
or tell us what needs improving.
Thanks to everyone who has contributed.
MIT licensed. Developed by Pilot Protocol.