Features

Every capability, in detail

The terminal, the dashboards, the agent workflow, and the parts that only matter once you are actually running servers from a phone.

Features

Everything you need in one app

SSH, SFTP, tunneling, service dashboards, and on-device AI.

Mosh That Keeps Roaming

Bootstrap over verified SSH, then switch to an encrypted UDP terminal that survives Wi-Fi and cellular changes. The GateShell Go binary can provide the server, with standard mosh-server compatibility and automatic SSH fallback.

Server Security Assistant

Scan updates, public listeners, SSH policy, firewall, backups, and TLS certificates. Review evidence for free, then use Pro guided fixes with explicit approval and an automatic after-state rescan.

Bring Your Own Coding Agent

Detect Claude Code, Codex, and Gemini CLI on your server. Pick a project, start or resume an agent in GateShell's live terminal, and interrupt it anytime.

See What You Just Built

Your agent starts a dev server; App Preview finds the port it is listening on, opens a loopback tunnel over the SSH session you already have, and renders the app in the browser. No public exposure, no tunnelling service, no redeploy.

SSH Terminal

Run 2-column, 2-row, or 4-pane sessions with optional input broadcast. Choose from 32 themes, three bundled Nerd Fonts, imported fonts, and named custom keyboard layouts on iPhone and iPad.

Git Diff Review

Review staged and unstaged changes file by file before you commit or deploy. Read clear, line-numbered hunks directly from your server over SSH.

Jump Hosts & SSH Import

Import hosts from an OpenSSH config and preserve selected ProxyJump links. Connect through saved bastions with per-hop credentials and host-key verification.

SFTP Transfer

Browse, upload, and download files with real-time progress tracking, resumable transfers, and two-way recursive folder sync that flags conflicts instead of guessing.

Port Forwarding

Local, remote, and dynamic SOCKS tunnels with per-connection rules and live toggle.

Command Snippets

Save and tag reusable commands, prompt for safe in-memory ${VAR} values, then run the rendered command in one terminal or concurrently across selected hosts.

Session Logging

Automatically capture every session with timestamps. Search, review, and export logs for auditing.

iCloud Sync

Your servers, recent connections, and open sessions sync across iPhone, iPad, and Mac. Hand off a session mid-command and pick it up on the next device.

On-Device AI

A command composer with voice input, multi-step task plans you review and approve before anything runs, a dangerous-command guardrail, secret redaction, plain-English explanations, and a suggested-fix pill that offers a one-tap remedy when a command fails. All of it runs on-device through Apple Intelligence, so your terminal data never leaves your device.

Your Server in the Files App

Pick the folders you want to expose and each one appears as a location in the Files app, while the rest of the filesystem stays out of reach. Open, edit, and save remote files from any app over SFTP, with no sync folder and no third-party cloud. iPhone and iPad only.

Server Overview & Apps

Real-time health metrics. Auto-detect system services and installed tools on Linux servers, then manage 20+ of them from dedicated dashboards for Docker, PM2, Redis, PostgreSQL, MySQL, MongoDB, Caddy, Traefik, Grafana, Prometheus, Vault, Fail2Ban, WireGuard, Certbot, MinIO, Samba, Firewall, and more.

Your Own Metrics History

Install the optional open-source agent and your server samples itself on a schedule you choose, keeping CPU, memory, disk, load, and service state in tiered history on your own box. The app reads those cached results instead of opening an SSH session and re-running top and df on every refresh.

Alerts Before You Go Looking

A push the moment a service drops, a disk crosses its threshold, or a cron job fails, even with the app closed. The agent on your own server decides what is worth waking you for; our relay only signs the notification for Apple and stores nothing about it.

SSH Key Manager

Generate ed25519, P-256, RSA, or hardware-backed Secure Enclave keys on-device, name them, and pick them per server. Private keys never leave the Keychain, and Secure Enclave keys never leave the chip.

Widgets & Shortcuts

Home Screen widgets for quick-connect and last session status, Siri/Shortcuts actions to connect or run a snippet, and a Focus filter to hide GateShell during Do Not Disturb.

Live Activity

See your connection status right on the Lock Screen and Dynamic Island, with a background grace window that flushes session data and catches a dropped connection before it goes stale.

In-App Code Editor

Browse the remote project tree, edit files with on-device syntax highlighting and git status badges, and open a self-hosted code-server instance right inside GateShell.

Coming Soon

24+ integrations on the way

More services are in development. Each one gets its own management dashboard inside GateShell.

Kubernetes
Jenkins
Apache
RabbitMQ
Elasticsearch
GitLab CI
Cloudflare Tunnel
HAProxy
Supervisor
Memcached
Ansible
Native Mosh · Pro

Keep working when your network changes

GateShell authenticates and bootstraps the session through the same verified SSH connection, then moves terminal traffic to an end-to-end encrypted UDP transport. The connection keeps its synchronized state while you switch between Wi-Fi and cellular or pass through a temporary outage. GateShell prefers the Mosh server built into its Go agent binary, remains compatible with a standard mosh-server installation, verifies the first encrypted UDP response before switching transports, and explains an automatic SSH fallback when UDP is blocked.

SSH-authenticated bootstrapEncrypted UDP roamingPredictive local echoGo-powered client & serverStandard mosh-server compatibilityVerified SSH fallback
GateShell
deploy@prod:~$ # Mosh · prod-api
✓ SSH bootstrap authenticated
✓ Encrypted UDP handshake verified
⚡ Wi-Fi → Cellular
✓ Session stayed connected
Split Panes & Fleet Commands · Pro

Operate several terminals at once

Open two side-by-side terminals, two stacked terminals, or a four-pane grid, with an independent SSH session in every pane. Turn on input broadcast when every pane needs the same keystrokes. Reusable snippets can prompt for ${VAR} values in memory and fan the rendered command out across selected hosts with a concurrency limit, per-host exit status, safety review, and saved redacted results.

2 or 4 live SSH panesOptional input broadcastIn-memory snippet variablesConcurrent multi-host runsPer-host exit statusCommand safety review
GateShell
deploy@prod:~$ deploy ${APP} --environment ${ENV}
APP=gateway · ENV=production
✓ edge-01.example exit 0
✓ edge-02.example exit 0
✓ worker-01.example exit 0
SSH Terminal

A terminal that feels native

Full XTerm-256 color support with an interactive PTY shell. Swipe for arrow keys, pinch to zoom, and long-press to paste. Pick from 32 themes and three bundled Nerd Fonts, import another font, or build named accessory-key layouts for the commands and escape sequences you use most.

XTerm-256 colors32 themes3 bundled Nerd FontsCustom font importNamed keyboard layoutsGesture controls
GateShell
deploy@prod:~$ htop --sort-key PERCENT_CPU
PID USER PR NI VIRT RES %CPU %MEM
842 deploy 20 0 1.2Gi 340Mi 12.3 4.3
1204 nginx 20 0 128Mi 42Mi 3.1 0.5
956 postgres 20 0 512Mi 180Mi 1.8 2.3
SFTP File Manager

Browse and transfer files securely

Navigate remote file systems with a familiar file browser. Upload from your Camera Roll or Files app, download with progress tracking, and share via the iOS share sheet. All transfers happen over your encrypted SSH connection.

Directory browsingUpload & downloadProgress trackingShare sheet export
GateShell
deploy@prod:~$ ls -la /var/www/html/
drwxr-xr-x 5 deploy deploy 4096 Mar 28 index.html
-rw-r--r-- 1 deploy deploy 12K Mar 28 style.css
-rw-r--r-- 1 deploy deploy 45K Mar 28 app.js
drwxr-xr-x 3 deploy deploy 4096 Mar 27 assets/
Git Diff Review

See what changed before you ship

Built for coding from your phone: open Git status, tap any changed file, and review its staged or unstaged diff with line numbers and clear additions and removals. The preview is read-only, runs over your existing SSH connection, and never sends repository contents to GateShell servers.

Staged & unstaged diffsFile-by-file reviewLine-numbered hunksRead-only previewDirect over SSH
GateShell
deploy@prod:~$ git diff -- app/api/deploy.ts
@@ -18,2 +18,3 @@ async function deploy()
- await restart(service)
+ await runHealthCheck(service)
+ await restart(service)
Remote Coding Workspace

Code on your server from anywhere

Use the coding-agent subscription and CLI already configured on your own server. GateShell detects Claude Code, Codex, and Gemini CLI with their installed versions, starts them inside the remote project you choose, resumes the latest project session, and gives you a direct interrupt control. The interactive session stays in GateShell's SSH terminal; GateShell adds no AI account or proxy service.

Claude Code, Codex & Gemini CLIInstalled-version detectionNew or resumed sessionsProject-scoped launchOne-tap interrupt
GateShell
deploy@prod:~$ # Coding Workspace · /srv/storefront
✓ Claude Code 2.1.4 detected
✓ Codex CLI detected
✓ Gemini CLI detected
deploy@prod:~$ codex resume --last
Resuming the latest session for this project…
Server Security Assistant

Know what needs attention before it becomes an incident

Run a deterministic, read-only assessment for pending updates, publicly bound services, SSH authentication risks, firewall state, backup schedules, and local TLS certificate health. The optional open-source GateShell agent performs and caches the assessment on your server; GateShell falls back to read-only SSH checks when needed. Findings include evidence, and Pro guided fixes show the exact allow-listed command before approval, run through GateShell's guardrail, stop after one step, and rescan for after-state evidence.

Free read-only scanAgent-first assessmentEvidence for every findingPro guided fixesApproval before changesAutomatic after-state rescan
GateShell
deploy@prod:~$ # Security Assistant · prod-api
✕ 3 package upgrades pending
! Ports 22 and 443 publicly bound
✓ Host firewall active
✓ Backup schedule detected
Review exact fix → Approve → Rescan
Files App Integration

Use your own server as your cloud drive

Already paying for a VPS? That disk can be the drive you open from your iPhone. Pick the folders you want to expose and each one shows up under Locations in the Files app, so any app can open, edit, and save straight to your server over SFTP, with no extra storage plan, no sync folder eating your device, and no third-party cloud holding your files. You choose the folders, so only those are reachable. iPhone and iPad only.

Per-folder accessEdit in any appNothing stored on devicePlain SFTP over SSH
GateShell
deploy@prod:~$ # Advanced ▸ Add Folder to Files
/srv/media → Files ▸ srv1541449 — media
/home/deploy → Files ▸ srv1541449 — deploy
Open, edit, save — straight over SFTP.
No sync folder. No storage bill.
Port Forwarding

Tunnel anything, anywhere

Set up local, remote, and dynamic SOCKS tunnels with a few taps. Create multiple rules per connection with custom labels, toggle them live without disconnecting, and persist them for next time.

Local forwardingRemote forwardingDynamic SOCKS proxyLive toggle
GateShell
deploy@prod:~$ # Local: access remote DB on localhost:5432
Forwarding localhost:5432 → db.internal:5432
deploy@prod:~$ # Dynamic: SOCKS proxy on port 1080
SOCKS proxy listening on localhost:1080
Command Snippets

Save commands, run everywhere

Build a library of reusable commands with tags for fast lookup. Autocomplete pulls from your snippet library, server history, and live remote completions via compgen. Run the same snippet across multiple servers simultaneously.

Tag & organizeRemote autocompleteMulti-server executionVariable substitution
GateShell
deploy@prod:~$ # Snippet: deploy-latest
→ git pull origin main
→ docker compose build --no-cache
→ docker compose up -d
✓ Deployed to 3 servers
Session Logging

Every session, fully recorded

Automatically capture complete session logs with timestamps. Review what happened during any connection, export logs for auditing or compliance, and search across your session history by server or content.

Auto-captureSearchable historyExport & sharePer-server logs
GateShell
deploy@prod:~$ # Session log: prod-api @ 2026-04-01 09:42
Duration: 14m 32s
Commands: 23 | Output: 1.2 KB
✓ Log saved and searchable
Server Overview

One dashboard to rule them all

Connect and get an instant health snapshot: CPU, memory, swap, disk, load averages, and uptime. On Linux servers, GateShell also auto-detects what's actually running and gives you 20+ dedicated management dashboards. Docker and PM2. Reverse proxies like Nginx, Caddy, and Traefik, where you can test and reload configs and manage enabled sites. Databases like Redis, PostgreSQL, MySQL, and MongoDB. Observability with Grafana and Prometheus. Samba, with its shares, connected clients, and open files, plus reload and restart. And security tools like Fail2Ban, WireGuard, Certbot, Vault, and the firewall itself, where you can add or remove rules, enable or disable it, or allow your current IP with one tap. Tap any card for full management: restart a container, kill a process, or inspect a database.

Real-time metricsAuto-detected dashboardsDatabasesReverse proxiesObservabilitySecurity tools
GateShell
deploy@prod:~$ # Apps — prod-api
20+ services detected
┃ Docker (4) · Redis · PostgreSQL
┃ Caddy · Grafana · Prometheus
┃ Fail2Ban · WireGuard · Vault
Platform Management

The toolkit competitors don't have

SSL certificate expiring? GateShell flags it before your users notice. A runaway process eating CPU? Kill it from your phone. Disk filling up? A guided cleanup wizard finds what's safe to remove. Need a backup before a risky change? Snapshot the database first. Migrating servers? Compare two side-by-side and see exactly what's different.

SSL certificate monitorProcess managerDisk cleanup wizardDatabase snapshot & restoreFile change watcherServer comparison
GateShell
deploy@prod:~$ # SSL Certificate Monitor
api.example.com expires in 12 days
cdn.example.com expires in 78 days
deploy@prod:~$ # Disk Cleanup Wizard
Reclaimable: 4.2 GB (logs, apt cache, old kernels)
On-Device AI

Your terminal, now thinking

Speak or type a command in plain English and GateShell composes it for you. Before any dangerous command runs, the guardrail warns you with a risk classification. PII and secrets are automatically redacted. All AI runs locally on Apple Intelligence. Nothing is ever sent to a cloud server.

Voice-to-command composeDangerous-command guardrailSecret & PII redactionPlain-English explanations100% on-device
GateShell
deploy@prod:~$ 🗣 "Delete all logs older than 30 days"
→ find /var/log -name '*.log' -mtime +30 -delete
deploy@prod:~$ sudo rm -rf / --no-preserve-root
⚠️ Catastrophic risk — operation blocked
This would erase the entire filesystem.
Server Alerts & History · optional agent

Know before your users do

Install the optional open-source agent with a one-line command GateShell runs over the SSH session it already has, and your server starts watching itself. It samples CPU, memory, disk, load, and service state on a schedule you pick (every 30 seconds, every minute, every five, or off) and keeps tiered history on its own disk: every sample for a day, one per minute for a week, one per hour for ninety days. When a service drops, a disk crosses its threshold, or a cron job fails, a push reaches every device you have paired, with the app closed. While the problem lasts it can keep reminding you on an interval you set instead of alerting once and going quiet. Nothing changes if you skip it: without an agent GateShell works exactly as it does today, live over your direct SSH connection.

Scheduled local sampling90-day tiered historyService up/down alertsDisk & cron-failure alertsAlerts every paired deviceRepeats while unresolved
GateShell
deploy@prod:~$ # GateShell agent — prod-api
polling every 60s · history 90d · 0.3% cpu
⚠ disk / 93% (threshold 90%)
✕ nginx.service stopped
→ pushed to iPhone · 2s ago
App Preview · Pro

Look at the thing, not the log output

An agent tells you it built a page. Reading that claim in a terminal is not the same as looking at it. App Preview asks the server which IPv4 ports are actually listening, opens an ephemeral loopback listener, and forwards it to the server's 127.0.0.1 through the authenticated SSH connection already open, then renders the app in an embedded browser you can reload as the agent keeps working. Nothing is published to the internet: no public bind, no tunnelling service, no redeploy, and the tunnel closes when you stop or disconnect. Today it covers HTTP apps bound to IPv4 loopback.

Automatic port discoveryLoopback-only tunnelReload as the agent worksNo public exposureCloses on disconnectUses your existing session
GateShell
deploy@prod:~$ # App Preview — listening ports
3000 node next dev
5173 node vite
8080 python3 http.server
→ tunnel open · 127.0.0.1:3000 · loopback only

One app, every Apple device

A universal app built with SwiftUI, optimized for each platform and synced via iCloud.

iPhone

Full terminal with gestures, swipe arrows, and pinch zoom

iPad

Split view, Stage Manager support, and keyboard shortcuts

Mac

Native macOS app with menu bar, Touch Bar, and trackpad support

Requires iOS 17+ / macOS 15+. AI features require iOS 26+ with Apple Intelligence

See it in action

A real SSH session, right from your iPhone or Mac.

deploy@prod-api — GateShell
deploy@prod:~$

Ready to take control of your servers?

Download GateShell for free. There is no account to create and no credit card to enter.

Free tier includes SSH terminal, 1 saved server, and Quick Connect. No limits on session time.