Skip to content
Docs
Docs/Install & update

Get shell.online on your computer.

Install the CLI on the machine doing the work. Phones and other viewing devices need only a browser. Choose an install method, then start a session.

On this page

Install on macOS, Linux, BSD or Solaris

The installer selects the right binary and checks its SHA-256 checksum. It does not run sudo or silently change your PATH.

curl -fsSL https://shell.online/install | sh
If the installer prints PATH instructions, follow them before opening a session.

Install on Windows

Open PowerShell and run the installer. The CLI uses Windows’ native ConPTY terminal support.

irm https://shell.online/install.ps1 | iex
Works with the published x86, x64 and ARM64 builds.

Prefer Homebrew?

Use the project’s tap. The tap can lag behind the direct installer; check shell --version when you need a particular release.

brew tap teoslayer/shell-online https://github.com/TeoSlayer/shell.online
Add the project’s tap.
brew trust --tap teoslayer/shell-online
Approve the tap if your Homebrew version requires it.
brew install shell-online
Install the CLI.

Build the CLI from source

Install Git and Go 1.26.8 first. Clone the release tag, not an unpinned development branch. This builds the CLI only: you do not need Node.js or a local web server to use the hosted service. The Go build downloads the dependencies pinned by go.mod and go.sum.

The commands below assume a new checkout directory. On macOS, Linux and other Unix systems:

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
Expect version 0.25.0. Then use ./shell codex, ./shell claude, or your own command from this directory.
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.exe ./cmd/shell
.\shell.exe --version
Windows PowerShell: run these instead. Then use .\shell.exe codex or another installed command.
Make it available elsewhere
Move the built binary into a directory on your PATH if you want to type shell from anywhere. No sudo is needed when you choose a user-owned directory. Existing sessions are not restarted by a build.
Develop the website too?
That is a separate build using Node.js and npm. See the repository’s development instructions. On MIPS64, keep Go 1.26.8: the repository documents a Go 1.27 runtime regression.

Check or update your version

Run the same installer again to update an installer-managed copy. For Homebrew, use brew upgrade shell-online.

Updating the binary does not update hosts that are already running. Save your agent’s work and restart its Shell host when safe to use new host features. Do not stop an active task just to update.

shell --version
Check the executable your terminal is using.

Supported host systems

These are release targets, not a promise that every device or agent runs on every architecture. Published checksums are in SHA256SUMS.

macOS
amd64, arm64. Build-verified.
Windows
386, amd64, arm64. Native runtime checks on amd64; other targets build-verified.
Linux
386, amd64, armv5/6/7, arm64, loong64, mips, mipsle, mips64, mips64le, ppc64, ppc64le, riscv64, s390x. Runtime checks under QEMU.
FreeBSD
386, amd64, armv7, arm64. Build-verified.
OpenBSD
386, amd64, armv7, arm64, ppc64, riscv64. Build-verified.
NetBSD
386, amd64, armv7, arm64. Build-verified.
DragonFly BSD
amd64. Build-verified.
Solaris
amd64. Build-verified.

Routers, small computers and ROS

A supported binary still needs a working PTY and outbound HTTPS/WebSockets. Vendor firmware, kernel restrictions and storage can affect small Linux devices; QEMU checks do not cover those hardware differences.

For ROS, first load your usual ROS environment, then put shell before its command. Shell’s platform support does not extend ROS’s own support.

If the command is not found

Follow the installer’s PATH instructions, open a new terminal, and try shell --version. Make sure you installed on the host computer—not on the phone you use to view it. Then start your first session.