Claude Code on iPhone, iPad & Android

Run Anthropic's Claude Code on your own server and drive it from your phone with HQSSH: one-tap launch, persistent sessions, Shift+Tab mode cycling, scrolling that works, and a notification when Claude needs you.

Updated

Claude Code is a terminal program. It runs on a computer with your repos and toolchain, not on the phone. HQSSH connects your iPhone, iPad or Android phone to that computer over SSH and adds what a phone needs to drive Claude Code well: sessions that outlive the connection, keys that are hard to type on glass, and an alert when Claude stops to ask you something.

What HQSSH adds for Claude Code

Plain SSH appHQSSH
Start Claude CodeType the commandLAUNCH CLAUDE on any project
Survives a dropped connectionOnly inside tmuxYes, sessions live in the hqsshd daemon
Shift+Tab (permission and plan modes)Usually missingOne tap on the agent toolbar
Scrolling inside Claude CodeOften scrolls the wrong thingSwipe scrolls the conversation
Alert when Claude needs inputNoPhone notification, even for sessions you aren't viewing
Screenshot into the promptNoImage button uploads it and pastes the path
AuthenticationAnyAny: subscription, API key, Bedrock, Vertex, gateway

Launch it with one tap

Install the daemon on the machine once (Linux or macOS):

$ curl -fsSL https://hqssh.com/install | sh

The daemon finds your git projects and checks which agents are installed. Open a project in the app and tap LAUNCH CLAUDE. Claude Code starts in that directory, in a session that keeps running when you lock the phone, change networks or close the app. Open it again from your phone, your iPad or the hqssh attach desktop command and you're back in the same conversation, scrollback included.

Built-in snippets cover the usual restarts: claude, claude --continue and claude --resume.

Keys Claude Code needs

Claude Code is driven by a few keys that phone keyboards don't have. The HQSSH agent toolbar puts them above the keyboard:

  • Shift+Tab cycles between normal, auto-accept and plan mode.
  • Esc interrupts Claude mid-task.
  • Ctrl+C, Ctrl+D, arrows, Page Up/Down, copy and paste.

On an iPad with a Magic Keyboard the hardware keys work directly, including Option+arrow word movement and Cmd+= / Cmd+- to resize the text.

Scrolling that works

Claude Code draws its interface on the terminal's full-screen buffer and reads mouse-wheel events to scroll. Many mobile terminals send the wrong events, so a swipe either does nothing or scrolls the wrong buffer. HQSSH turns a swipe into the wheel events Claude Code expects, so you scroll the conversation itself. When you reattach, the daemon restores those screen modes so scrolling keeps working.

Know when Claude needs you

Claude Code rings the terminal bell when it finishes a task or waits for a decision. The daemon watches every session on the machine, so HQSSH notifies you even about a session you aren't looking at, and lists it under NEEDS ATTENTION in that machine's activity feed.

With the app closed, the daemon can push the same events to an ntfy topic:

# ~/.hqssh/daemon.yaml
events:
  webhook_url: "https://ntfy.sh/your-private-topic-name"

If no alerts arrive, open /config in Claude Code and check that notifications use the terminal bell.

More from your phone

  • Send a screenshot. The image button uploads a photo to the server and pastes its path into the prompt, so Claude can read it.
  • Preview what Claude built. If Claude starts a dev server, the globe button forwards its port over SSH and opens it in your phone's browser.
  • See every Claude session in the project. Sessions you started in a terminal on your laptop show up too, with a button to end them.
  • Run headless tasks. Save a prompt as a task and HQSSH runs claude --print with it on the server and keeps the output for you to read later.

Related

Frequently asked questions

Does HQSSH work with Claude Code on an API key, Bedrock or Vertex?

+

Yes. HQSSH is an SSH client, so Claude Code runs on your server with whatever authentication it already has: a claude.ai subscription, an Anthropic API key, Amazon Bedrock, Google Vertex AI or a custom gateway.

Can I resume a Claude Code conversation from my phone?

+

Yes. With the hqsshd daemon the session itself keeps running, so you reattach to the live conversation. HQSSH also ships one-tap snippets for `claude --continue` and `claude --resume` when you want to pick up an older one.

Will I see Claude Code sessions I started on my laptop?

+

Yes. The daemon lists Claude Code processes running outside it, in the project they belong to, so you can see they are active and end them from your phone. Only sessions started through HQSSH can be attached, because the other terminal owns their screen.

Keep reading