Mobile build 1.260618.0 hard-crashes on opening a Remote Control session (iPad Pro + iPhone 16 Pro). App-side bug; browser works, reinstall does not help. Links upstream issues #70144/#70165 and crash-log export steps.
117 lines
6.1 KiB
Markdown
117 lines
6.1 KiB
Markdown
---
|
|
title: "Claude Code Remote Control — Mobile Access to a Persistent Host Session"
|
|
domain: selfhosting
|
|
category: services
|
|
tags: [claude-code, anthropic, remote-control, tmux, tailscale, mobile, workflow]
|
|
status: published
|
|
created: 2026-04-20
|
|
updated: 2026-06-23
|
|
---
|
|
|
|
# Claude Code Remote Control
|
|
|
|
Anthropic released **Remote Control** for Claude Code in February 2026. It bridges a locally-running Claude Code CLI process with Claude Mobile (iOS/Android) and `claude.ai/code` in any browser. The local session stays running on the host with full filesystem, environment, and MCP access; the phone or browser is just a thin front-end that attaches to it.
|
|
|
|
This article covers the setup pattern used at MajorsHouse — running Remote Control on an always-on host inside a `tmux` session over Tailscale SSH so the mobile connection survives client disconnects.
|
|
|
|
## How Remote Control Works
|
|
|
|
- All traffic flows through Anthropic's API over outbound HTTPS. No inbound ports on the host, no port forwarding, no reverse proxy.
|
|
- The mobile/web client **attaches to the existing session** — same transcript, same context, same MCP servers, same working directory.
|
|
- Terminal and mobile can be active at the same time; input is interchangeable and both views stay in sync.
|
|
- Only one remote client per session is supported.
|
|
- The session ends when the local `claude` process stops.
|
|
- Must be started with `claude remote-control` from the beginning — a plain `claude` session already in flight cannot be retrofitted.
|
|
- Requires Claude Pro or Max.
|
|
|
|
## Why MajorRig Hosts the Session
|
|
|
|
The vault is Obsidian-synced across MajorAir, MajorMac, and MajorRig. Native Linux servers like `majorlab` or `majorhome` would be architecturally cleaner (true always-on, no Windows Update reboots) but have no vault sync — adding them would require another Obsidian Sync device slot, or an SMB/NFS mount, or git-only access to the MajorWiki subset. Until that's solved, MajorRig is the de facto primary.
|
|
|
|
WSL2's `/mnt/c` I/O is slow for heavy workloads (node_modules, fsync-heavy DBs) but not a practical issue for markdown reads/writes and FTS5 search across the vault.
|
|
|
|
## Setup on MajorRig
|
|
|
|
### 1. Enable Remote Control by default
|
|
|
|
Inside any Claude Code session:
|
|
|
|
```
|
|
/config
|
|
```
|
|
|
|
Toggle **"Enable Remote Control for all sessions"**. This means future `claude` invocations automatically expose a Remote Control endpoint — no need to remember the subcommand.
|
|
|
|
### 2. Install the mobile app
|
|
|
|
Inside Claude Code:
|
|
|
|
```
|
|
/mobile
|
|
```
|
|
|
|
A QR code appears for iOS and Android download links.
|
|
|
|
### 3. Start a persistent session via Tailscale SSH + tmux
|
|
|
|
From any fleet machine:
|
|
|
|
```bash
|
|
ssh majorrig
|
|
tmux new -s claude
|
|
claude remote-control
|
|
```
|
|
|
|
Detach with `Ctrl+b d`. The `claude` process survives SSH disconnect because it's owned by the tmux server, not the SSH session.
|
|
|
|
To reattach from the host later:
|
|
|
|
```bash
|
|
ssh majorrig
|
|
tmux attach -t claude
|
|
```
|
|
|
|
### 4. Connect from the phone
|
|
|
|
Open Claude Mobile → select the session from the list, or scan the QR code the host prints on start. The app connects over outbound HTTPS through Anthropic; no Tailscale required on the phone.
|
|
|
|
## Alternatives
|
|
|
|
- **SSH + tmux directly from a mobile terminal app** (Blink Shell, Termius) — works without Pro/Max, survives client drops, full shell access. UX on a phone screen is rough; no native paste/share affordances.
|
|
- **`JessyTsui/Claude-Code-Remote`** (community) — routes Claude Code task output via email/Discord/Telegram. Not interactive; useful for notifications.
|
|
|
|
## Constraints and Gotchas
|
|
|
|
- **Process death kills the session.** If the `claude` process exits (crash, `tmux kill-session`, host reboot), the mobile connection drops and the transcript is lost. For true resilience, pair with a systemd user service that auto-restarts.
|
|
- **One remote per session.** Phone and laptop browser cannot both attach at the same time.
|
|
- **Windows Update reboots on WSL2.** MajorRig's uptime is gated by the Windows host. A scheduled-restart-free maintenance window is worth configuring if this pattern becomes primary.
|
|
- **Session must start with Remote Control.** Restart `claude` if you realize mid-session you want phone access (unless `/config` toggle is already set).
|
|
|
|
## Known Issues
|
|
|
|
### iOS/iPadOS app `1.260618.0` — hard-crash on opening a Remote Control session
|
|
|
|
**Status:** Open upstream bug, fix pending in a future app build. _(First hit 2026-06-23.)_
|
|
|
|
The Claude **mobile app build `1.260618.0`** hard-crashes the instant you tap into a Remote Control (Code-tab) session. Observed at MajorsHouse on **iPad Pro** and **iPhone 16 Pro** simultaneously.
|
|
|
|
Distinguishing characteristics — this is an **app-side bug, not a host/session problem**:
|
|
|
|
- Crashes on a **brand-new session**, so it is *not* transcript or tool-output size related.
|
|
- The **same session opens and works fine in a mobile browser** (Safari/Chrome) — the host bridge is healthy.
|
|
- **Clean reinstall + re-login does not help.** Don't waste time on it.
|
|
- Root cause (per upstream reports) is a main-thread **stack overflow in Swift KeyPath / SwiftUI metadata** inside the app — nothing fixable on the host.
|
|
|
|
**Workaround:** use a **mobile browser** (`claude.ai/code`) instead of the app until a newer build ships.
|
|
|
|
**Upstream tracking** (`anthropics/claude-code`):
|
|
- [#70144](https://github.com/anthropics/claude-code/issues/70144) — iPad, `v1.260618.0`, any Code-tab session crashes (highest-traction canonical issue)
|
|
- [#70165](https://github.com/anthropics/claude-code/issues/70165) — iPhone 16 Pro Max, `1.260618.0`, Remote Control hard-crash
|
|
- Related: [#70262](https://github.com/anthropics/claude-code/issues/70262), [#70288](https://github.com/anthropics/claude-code/issues/70288), [#65926](https://github.com/anthropics/claude-code/issues/65926)
|
|
|
|
To file/confirm a report, export the crash log on each device: **Settings → Privacy & Security → Analytics & Improvements → Analytics Data → `Claude-<date>-*.ips`**, then attach it to the relevant issue above.
|
|
|
|
## See Also
|
|
|
|
- [Tailscale for Homelab Remote Access](../dns-networking/tailscale-homelab-remote-access.md)
|
|
- Anthropic docs: `https://code.claude.com/docs/en/remote-control`
|