The three options at a glance
"Mac awake" applies to all of them — the catch they share is covered at the bottom, and in full in the always-on brief.
| Option | Setup | What you get | Mac awake? |
|---|---|---|---|
| 1. Remote Control (native) | ~2 min | Full Claude Code UI in the Claude app — approve tools, see diffs, steer | Yes |
| 2. Telegram bot (you have this) | done | Text Claude, get replies. No diff view. | Yes |
| 3. Tailscale + SSH + tmux | ~20 min | A real terminal on the Mac from your phone. Total control. | Yes |
Option 1 — Remote Control (recommended)
Anthropic shipped this in February 2026. It connects the Claude mobile app to a Claude Code session running on the Mac. This box is on v2.1.159, so it's already available — the one piece not yet set up. It's the full experience (file tree, tool approvals, push notifications) with zero networking setup, and it's the one to use day-to-day.
/login once if you aren't already signed in via claude.ai — Remote Control needs claude.ai OAuth, not an API key.claude remote-control. Press spacebar to show a QR code, scan it with your phone, and you're in. Or open the Code tab in the Claude app and pick the session by name./config in Claude Code and set Enable Remote Control for all sessions to true. Then any claude you start is reachable from your phone with no extra command./config → Push when Claude decides, or say "notify me when done" in a prompt. Limitation: if the claude process actually exits (terminal closed), the session dies — run it inside tmux (Option 3) so it survives. Interactive pickers like /mcp and /resume are local-only; text commands work from the phone.
Option 2 — Telegram bot (already running)
The tools/telegram-claude-bot (bot "Sol", @Superglasspadbot), managed by launchd. Text it, it runs Claude on the Mac and texts back. Good for fire-and-forget asks — "pause the worst Google campaign", "what did the WSB tracker find today".
/clear resets it. Locked to a single Telegram user ID.--dangerously-skip-permissions — full unconfirmed access, guarded only by the single-user lock. Keep Telegram 2-step + phone lock on. Kill switch: launchctl unload ~/Library/LaunchAgents/com.johnlabs.telegram-claude-bot.plist.Option 3 — Tailscale + SSH + tmux (the power path)
This gives you a real terminal on the Mac from your phone — not just Claude, any command. Tailscale is a zero-config VPN: phone and Mac join a private network ("tailnet") and reach each other from anywhere, with nothing exposed to the public internet. The CLI shim exists at /usr/local/bin/tailscale, but the app was uninstalled — so this needs a reinstall.
brew install --cask tailscale. Launch it, log in via the menu-bar icon, allow the VPN profile. Then enable SSH — either System Settings → General → Sharing → Remote Login, or better, let the tailnet handle auth with tailscale up --ssh (no password or Remote Login needed).ssh john@mac-studio instead of the IP.tmux is the key — it keeps the session alive even when your phone disconnects or locks. SSH in, start a named session, run Claude inside it; reconnect later and pick up exactly where you left off. Pairs perfectly with Remote Control: run claude remote-control inside tmux and you get both a terminal and the rich mobile UI, both surviving disconnects.The one catch: the Mac must stay awake
Every option above runs locally, so the Mac has to be awake, online, and logged in. To stop it sleeping right now: caffeinate -d -i & (prevents display and idle sleep until you kill it or reboot).
For a permanent fix that survives reboot, and for the broader question of running data-pulling loops 24/7, see the always-on loops brief.