On the iPad and iPhone
Last updated: 2026-10-31
On an iPad or an iPhone, SpectaShell is a terminal to your other machines: a server, a NAS, your Mac. It reaches them over SSH, as on the Mac, with the same hosts, snippets and trusted host keys when iCloud syncs them (see Your devices, keys and iCloud). The iPad shows a sidebar, tabs and panes side by side, as the Mac does; the iPhone shows a tab bar and one pane at a time.
Touch#
- Tap a terminal to type in it. The on-screen keyboard comes up, with the key row above it.
- Drag up and down to scroll back through the history.
- Touch and hold to select a word, and drag to extend the selection. When you lift your finger, a menu offers Copy, Paste and Select All; over a link, also Open Link and Copy Link; over a path to a file on the host, Open File and Copy Path; over a command that shell integration marked, Select Output and Copy Output.
- When a program uses the mouse (such as
htop), a tap is a click for the program. - On the iPhone, swipe sideways to move between the panes and tabs of a desk (see The iPhone).
The key row#
With the on-screen keyboard, a row of keys above it gives you the keys it lacks. At first it holds ⌨, esc, tab, ctrl, the four arrows, { }, |, ~, / and -.
- ⌨ puts the on-screen keyboard away and leaves the row at the bottom, so the terminal takes the height. Press ⌨ again, or tap the terminal, to bring the keyboard back.
- ctrl and alt hold for the next key: the key is drawn filled, the next key or character you type goes with it, and then it lets go. Press it again to let go without typing.
- The arrows, pg↑ and pg↓ repeat while you hold them, as a keyboard's keys do.
- { } opens your snippets for the host of the pane: on the iPad a menu of them, with Edit Snippets… at its end; on the iPhone a Snippets sheet, with a search, where a snippet opens to its full text with Run, Paste and Edit. See Working in the terminal.
- When the keys do not fit across the screen, as on an iPhone held upright, the row scrolls sideways; an edge that fades has more keys beyond it.
Choosing the keys#
In Settings ▸ Keyboard ▸ Key Row, turn on the keys you want. Besides the keys above there are alt, Home and End, Page Up and Page Down, the backtick ( ` ), and Control-C, Control-D and Control-R as single keys. The row always shows its keys in the order of that list, whatever order you turned them on in. Restore the Default Keys brings back the first row. The keys belong to the device: your iPad and your iPhone keep their own.
A hardware keyboard#
- Type as on a Mac: the arrows, function keys, Escape and Control combinations reach the program, and a held key repeats. Control with a letter is that letter's key whatever input source you use, so Control-C stays Control-C under a Korean keyboard.
- Korean, Japanese and Chinese are composed with the device's input method, and reach the shell when you finish each character or word.
- Option-Left Arrow and Option-Right Arrow move the cursor by a word. To have Option send Escape for Emacs and the shell's Option-B and Option-F, turn on Settings ▸ Keyboard ▸ Use Option as Meta.
- Page Up and Page Down scroll the history; in a full-screen program (an editor,
top) they go to the program. Shift-Page Up and Shift-Page Down always go to the program. - The app's commands have the Mac's keys: New Tab (Command-T), Split Left and Right (Command-D), Close Tab (Command-W) and the others. Hold Command to see the list the system shows for SpectaShell. They are all in Keyboard shortcuts.
- Command-tap a link to open it.
The key row is hidden while a hardware keyboard is connected and the on-screen keyboard is down, so the terminal keeps the whole screen. To keep it, turn on Settings ▸ Keyboard ▸ Show the Key Row with a Hardware Keyboard. When the on-screen keyboard comes up with a hardware keyboard connected, the row comes with it.
A trackpad or a mouse#
- Click a pane to type in it. Drag to select text; double-click selects a word, triple-click a line, and Shift-click extends the selection.
- When a program uses the mouse, clicks go to the program. Hold Shift while you drag to select text instead.
- A secondary click (two fingers on a trackpad, or a mouse's right button) opens the menu with Copy, Paste and Select All, and the link, path and output items over them.
- Command-click a link to open it.
The iPad's window#
The sidebar#
The sidebar lists Connections — Hosts, with Running set in under it, SFTP and Port Forwarding — and the Library: Snippets, Keys, Known Hosts and History. At its foot are Help, and this device's name with its iCloud state, which opens Settings; the gear at the top of the sidebar opens Settings too.
In landscape the sidebar sits beside the content; in portrait it opens over it, and closes when you choose a page. The button at the right of its header hides it, and the one first in the tab strip shows it again. Each window remembers whether its sidebar was hidden.
The tab strip#
Along the top of the content are the page you chose in the sidebar, such as Hosts, then your desks, and + for a new desk. Each pane of a desk has a bar of its own above it, with its tabs, New Tab (+), the globe (Open a Page as a Tab), Split Left and Right, Split Top and Bottom, Move to New Desk and Zoom Pane. With a terminal in front, the button at the strip's right is ⋯, the menu of the pane you are working in:
- Rename Desk…
- Send File to Host… and Send Photo to Host…: the files or photos you pick go to your Downloads folder on the host of the pane, and their paths are typed there, as a drop is. Dragging onto a pane works too when another app is on the screen beside SpectaShell. See Files, ports and pages.
- Open Folder in SFTP
- Find…: opens the find bar over the pane.
- Zoom Pane: the pane alone, over the whole desk, and Show All Panes back (see Desks, panes and tabs). The iPhone, which shows one pane at a time, has none.
- Equalize Splits
- Move to New Desk: the tab shown, out to a desk of its own (see Moving tabs and desks).
- Close Tab, and End Shell for a shell another device started, which Close Tab leaves running (see Closing tabs, panes, desks and windows).
Hold a desk for Rename Desk…, Merge Into, Close Desk, End Shells, Close Other Desks, and Close Ended Desks when shells have ended. A page you open from a shell opens as a tab of the shell's pane, so the shell and its page each have the whole width; tap a tab in the pane's bar to switch, or hold it for Rename Tab… and Close Tab.
The side panel#
In landscape, the button at the right end of the strip shows the side panel beside the panes, for the pane you are working in: Snippets for its host, to run, paste or edit; History, the commands run in its shell; and Info, what runs in it, where, and the ports it listens on. In portrait there is no room for it; the key row's { } gives you the snippets.
More windows#
SpectaShell can have several windows on an iPad, each with its own tabs, in Split View or Stage Manager as the iPad allows. iPadOS brings a window back with its tabs when it restores it. A window that is narrow — beside another app, or in Slide Over — takes the iPhone's layout until it is wide again.
The iPhone#
The tab bar#
Along the bottom are Hosts, SFTP, Snippets and Settings.
- Hosts holds your hosts, with Running as a section of it (see Shells that keep running), and the bell at its top. Its badge counts the panes that wait for you.
- Settings starts with Connections — Keys, Known Hosts, Port Forwarding, History and Help — which the iPad keeps in its sidebar, then the settings themselves.
The terminal#
A terminal opens over the tab bar, one pane at a time. Its header has a back button named after the page you came from, such as ‹ Hosts, the desk's name over its host and folder, the bell (see When a program wants you), ⋯ (the pane's menu, as on the iPad), and the number of desks, with an amber dot while any of them waits for you.
- Panes and tabs. When a desk holds several panes or tabs — a page opened from its shell, or the panes of a narrow iPad window — a strip of chips under the header shows them, numbered, with what runs in each; tap one, or swipe sideways on the terminal, to move to the next.
- Find… in ⋯ opens the system's find bar.
- Text starts at 12 points, so a phone held upright still shows a usable width (the iPad starts at 14). Change it in Settings ▸ Text.
- The iPhone keeps this layout in landscape.
Switching desks#
Tap the number of desks to see them all, two to a row. A desk whose shell runs on this iPhone shows its last lines; one that does not shows where it is and what it is. A desk that waits for you is ringed in amber. Within a desk, every pane and every tab of a pane is one page of the terminal, reached by swiping sideways.
- Tap a desk to bring it to the front.
- Swipe a desk away to close it, or hold it for Merge Into, Close Desk, End Shells, Close Other Desks and Close Ended Desks.
- New Desk at the bottom opens one on the host of the pane you were in, or Hosts when there is none. Done goes back to the terminal.
Closing a desk hangs up its shells; a shell in a keeper keeps running (see Shells that keep running).
In the background#
iOS stops SpectaShell soon after it leaves the screen, and its connections with it.
- A shell in a keeper loses nothing. When you come back, SpectaShell checks every connection, connects again where one died, and the shell comes back with its screen. A long build or Claude Code goes on running on the host the whole time. See Shells that keep running.
- A plain SSH shell is usually gone. Its pane says "The connection to host ended" and "Nothing on host kept this shell." Reconnect opens a new shell there.
- Port forwards stop while SpectaShell is away, and start again at the same ports when you come back; the Port Forwarding page says so. A page's Open in Browser opens Safari inside SpectaShell, so the forward keeps running while you use it.
- Notifications — an agent asking for you, a long command that finished — still reach you from a shell in a keeper once you turn on Settings ▸ Notifications ▸ Notify This Device (see When you are away). A bell and a trigger's match come only while SpectaShell runs. A pane that still waits for you is marked again when you come back.
To keep work going while the iPad sleeps or you use another app, let the host keep its shells: choose Keep Shells Running the first time you connect.
No local shell#
iPadOS and iOS run no shell of their own, so every terminal on an iPad or iPhone is on another machine. To work on your Mac from the iPad, turn on Remote Login on the Mac (System Settings ▸ General ▸ Sharing) and add it as a host; its shells can then be kept and moved between your devices like any host's. See Hosts and connections.
Good to know#
- The bell can flash or be off; an iPad and an iPhone have no bell sound.
- Change the text size in Settings ▸ Text, or with a keyboard's Command-+, Command-− and Command-0.
- Without a keyboard, a command's output is selected and copied from the menu you get by touching and holding over it; Paste from History and the prompt commands need a keyboard's keys.