Support
Getting Started
Welcome to rootshell! Here are some quick tips to help you get started with your new terminal emulator.
Local Shell
rootshell includes a built-in local shell that works offline. On macOS, you get
full access to your local system shell with all installed utilities and your
standard environment. On iOS, the local shell provides a curated set of
pre-bundled Unix utilities including ls, cd, pwd,
cat, grep, curl, ping,
dig, awk, and more—perfect for file management,
scripting, and network diagnostics.
SSH Connections
To connect to a remote server via SSH, enter your connection details including
host, port (default 22), and username. rootshell supports both password and
SSH key authentication. For complex network setups, you can configure jump hosts
(bastion servers) to proxy your connection through intermediate servers.
Local network hosts using .local addresses are automatically
resolved via mDNS.
Tabs & Splits
Open multiple terminal sessions using tabs (Cmd + T) and close them with Cmd + W. Split your current terminal horizontally with Cmd + D or vertically with Cmd + Shift + D. Navigate between splits using Cmd + Arrow keys.
Quick Connect
The quick connect field at the top provides fast access to your servers.
Start typing to see autocomplete suggestions from your connection history
and configured cloud instances. Host Shorthand patterns (HSS) are also
expanded automatically, letting you connect with shortcuts like prod1
instead of typing full hostnames.
The Tab key is your friend—use it to accept autocomplete suggestions quickly. On iOS and iPad without a hardware keyboard, you'll find the Tab key in the keyboard toolbar above the virtual keyboard.
Frequently Asked Questions
How do I manage SSH keys?
SSH keys are stored securely in the iOS Keychain. rootshell supports Ed25519, ECDSA, and RSA key formats. You can import keys from PEM or OpenSSH format files, or generate new keys within the app. For added security, enable biometric protection to require Face ID or Touch ID either once per session or for every signing operation.
Which cloud providers are supported?
rootshell integrates with AWS, Azure, DigitalOcean, and Linode. Connect your accounts using API tokens or OAuth authentication. Once configured, your cloud instances appear in quick connect suggestions, and you can generate kubeconfig files for managed Kubernetes clusters (EKS, AKS, DOKS).
Console access varies by provider. For Linode, rootshell establishes a secure WebSocket connection directly to your Linode's console (LISH). For AWS EC2, rootshell generates an ephemeral SSH key pair, pushes the public key to the instance via EC2 Instance Connect, and then establishes an SSH session—the temporary key is discarded after use.
How do I access Kubernetes nodes?
Import your kubeconfig file in Settings to browse your clusters and nodes. To get shell access to a node, rootshell creates an ephemeral debug pod scheduled on that specific node. The pod runs a privileged container with host namespace access, giving you a shell into the node's environment. When you disconnect, the debug pod is automatically deleted.
If the app is terminated unexpectedly before cleanup, orphaned debug pods may remain in your cluster. rootshell detects these orphans on next launch and offers to clean them up, so you don't accumulate stale pods over time.
How do I customize the appearance?
rootshell includes over 450 bundled themes from the Ghostty project. Browse and switch themes in Settings with live preview. You can also customize your font family and size, and choose between Light, Dark, or Auto appearance modes that follow your system settings.
Host Shorthand (HSS)
Host Shorthand lets you create quick aliases for your servers using pattern matching. Configure shortcuts in YAML format and store them in the app's Documents directory.
Configuration Example
Create a YAML file with patterns that expand short names to full hostnames:
patterns:
- short: "^prod(\\d+)$"
long: "prod#{1}.example.com"
note: "Production servers"
- short: "^dev$"
long: "dev.internal.example.com"
note: "Development server"
With this configuration, typing prod1 in quick connect expands to
prod1.example.com. Capture groups from the regex pattern are available
as #{1}, #{2}, etc. in the expansion template.
SSH Agent Forwarding
rootshell supports SSH agent forwarding, allowing you to use your local SSH keys on remote servers without copying private keys. Configure agent forwarding on a per-connection basis in the connection settings.
Approval Modes
Choose how rootshell handles agent signing requests:
- Auto-approve: All signing requests are automatically approved
- Per-session: Approve each key once per terminal session
- Per-request: Prompt for approval on every signing request
You can also restrict which keys are available for forwarding, selecting specific keys instead of exposing your entire keychain to the remote server.
Keyboard Shortcuts
rootshell supports extensive keyboard shortcuts when using an external keyboard:
Tabs & Windows
| Action | Shortcut |
|---|---|
| New Tab | Cmd + T |
| New Window | Cmd + N |
| New Local Shell | Cmd + S |
| Duplicate Tab with SSH | Cmd + Shift + R |
| Previous Tab | Cmd + { |
| Next Tab | Cmd + } |
| Switch to Tab 1-9 | Cmd + 1 - 9 |
Split Windows
| Action | Shortcut |
|---|---|
| Split Right | Cmd + D |
| Split Down | Cmd + Shift + D |
| Close Split | Cmd + W |
| Focus Split Left | Cmd + Left Arrow |
| Focus Split Right | Cmd + Right Arrow |
| Focus Split Up | Cmd + Up Arrow |
| Focus Split Down | Cmd + Down Arrow |
| Toggle Split Zoom | Cmd + Shift + Z |
| Equalize Splits | Cmd + Shift + E |
Terminal
| Action | Shortcut |
|---|---|
| Find | Cmd + F |
| Select All | Cmd + A |
| Increase Font Size | Cmd + + |
| Decrease Font Size | Cmd + - |
| Reset Font Size | Cmd + 0 |
| Settings | Cmd + , |