Skip to content

The terminal client

Install the shellius CLI, sign in with the device flow, and connect to an approved host without leaving your terminal.

shellius is a terminal client for your workstation. It is not installed on target servers. Sign in once and it drops you straight onto the hosts you have access to.

Install ​

Your own deployment serves the installer, so you do not need to visit GitHub:

bash
curl -fsSL https://shellius.example.com/api/cli/install.sh | sh

It detects your platform, pulls the matching binary, verifies its SHA256, and installs to /usr/local/bin/shellius (or ~/.local/bin/shellius if you are not root). The Install CLI page in the portal shows this command with your hostname already filled in.

Windows users download the .exe from the releases page.

Sign in ​

bash
shellius login https://shellius.example.com

This uses the OAuth device flow: the client shows a code, opens your browser, and polls until you approve it. Tokens are written to ~/.shellius/credentials with mode 0600 — the client refuses to load them if the permissions are looser.

After that, running shellius goes straight to your active access list. Access tokens refresh on their own until you run shellius logout.

Using it ​

KeyAction
↑ ↓Move through your active access
EnterSSH to the selected server
/Slash-command palette with fuzzy search
?Help
Ctrl+CQuit

Slash commands cover /servers (the full host list, not just your active access), /request (submit an access request), /sessions, /refresh, /profile, /logout, and /quit.

When something is wrong ​

bash
shellius doctor

This prints the config path and file permissions, the server URL, token expiry in plain language, and the last refresh attempt from the log. It exits non-zero if it finds a problem, so it is safe to use in a script.

Files it keeps ​

~/.shellius/
├── config.yaml     # non-secret preferences (0644)
├── credentials     # tokens (0600)
├── shellius.log    # rolling, capped at 1 MB
├── cache/          # host list, for instant startup
└── sessions/       # per-session state, history pruned after 7 days
Was this page helpful?No, tell us why