Four ways to use Claude Code from your phone
All four keep the agent on your own machine. They differ in what you can do from the phone, which agents they work with and what passes through someone else's servers.
- Remote Control is Anthropic's own way to carry on a Claude Code session in the Claude app or a browser, on Pro, Max, Team and Enterprise plans, and is out of research preview.
- Channels, a research preview, lets messages from Telegram, Discord or iMessage and webhooks from tools like CI reach a Claude Code session you keep open.
- SSH with tmux or mosh gives you the whole terminal, for any tool, with no third party between your phone and your machine unless you add one.
- Untether runs Claude Code, Codex CLI, OpenCode and Pi from one Telegram chat, with buttons for Claude Code's plans and approvals, transcribed voice notes and scheduled runs.
Remote Control
- Your phone
- through Anthropic
- Your machine
Channels
- Your phone
- through Chat platform
- Your machine
- SSH with tmux or mosh
- Your phone
- Direct, encrypted
- Your machine
Untether
- Your phone
- through Telegram
- Your machine
| SSH with tmux or moshFrom a phone app | ||||
|---|---|---|---|---|
| Agents | Claude Code only | Claude Code only | Anything your machine can run in a terminal | Claude Code, Codex CLI, OpenCode and Pi |
| Cost and sign-in | Included in Pro, Max, Team and Enterprise plans. API keys aren't supported.1 | A claude.ai sign-in or a Console API key | tmux and mosh are free. Phone apps come free or paid. | Free and open source. Each agent uses its own sign-in, a subscription or an API key. |
| Approvals | Permission prompts and questions wait for your answer, with optional push alerts | Bash, Write and Edit approvals reach you as Allow and Deny buttons in the Telegram plugin2 | You answer the agent's own prompts in the terminal | Claude Code: Approve and Deny buttons, with a diff preview for edits. Codex: a policy you set before the run. OpenCode and Pi: none mid-run. |
| Plans and questions | Plan mode can be chosen from the app, and questions are forwarded to you | Not documented as relayed. In -p mode, plan approval and questions are turned off. | In the agent's own terminal interface | Claude Code: Approve Plan, Deny or Pause & Outline Plan, plus option buttons for questions |
| Voice | Not documented for Remote Control sessions | Voice notes are passed on as attachments, not transcribed3 | Not documented | Transcribed by a Whisper-compatible service you choose. Off until you turn it on. |
| Scheduled runs | Not part of Remote Control. Claude Code has /loop, Desktop scheduled tasks and routines. | Webhooks from CI or monitoring can reach the open session, and /loop covers timed checks | None built in. Use your machine's own scheduler. | Cron and webhook triggers and one-off /at runs, for any engine. Unattended runs deny approvals. |
| What leaves your machine | Traffic goes through Anthropic, and the session transcript is stored on its servers while connected. No inbound ports. | Messages pass through the chat platform, such as Telegram's Bot API | Encrypted SSH or mosh traffic straight to your machine, unless you add a VPN or a synced app vault | Chat passes through Telegram, which can read it (not end-to-end encrypted). Your agents call their own APIs as usual. Only if you use them: your transcription service, Anthropic's usage endpoint and your trigger URLs. No Little Bear Apps servers, no telemetry. |
| Setup | Sign in to claude.ai, run claude remote-control, then open the session in the Claude app | Install Bun, make a bot with BotFather, install the plugin, restart with --channels and pair | An SSH server, a way in (port forward or VPN), a phone app and tmux. mosh also needs UDP ports open. | Python 3.12 or later (uv fetches it), uv tool install -U untether, then the untether wizard, which creates your bot with BotFather. At least one agent CLI installed and signed in. Optional systemd or launchd service. |
| Status | Out of research preview since the week of 17 August 2026 | Research preview. Flags and syntax may change. | Mature: tmux 3.8, mosh 1.4.0 | Beta (0.x releases), MIT licence |
- On Team and Enterprise plans an Owner has to turn it on first. It isn't available through Amazon Bedrock, Google Cloud or Microsoft Foundry, or to organisations with Zero Data Retention or the HIPAA configuration. Back to table
- Relay is something each channel opts into, and project trust and MCP server consent dialogs don't relay. The buttons come from the official Telegram plugin's source code (v0.0.7, 13 August 2026). Back to table
- From the official Telegram plugin's source code (v0.0.7, 13 August 2026), which has no transcription step. Back to table
When to choose each one
Each option suits a different way of working. Here's where each one fits and where it doesn't, Untether included.
Remote ControlClaude Code feature
- Choose it if
- Claude Code is your only agent and you already have Pro or Max. It's first-party and included, the Claude app shows the full session, and you can carry on the exact session open in your terminal or IDE, with photo and file attachments and push alerts. See Claude's plans.
- Look elsewhere if
- You pay by API key, reach Claude through Amazon Bedrock, Google Cloud, Microsoft Foundry or a gateway, use other agents, or can't have transcripts stored on Anthropic's servers.
ChannelsClaude Code feature
- Choose it if
- You want Claude Code to react to CI failures, monitoring alerts or webhooks in a session that already has your context, or you use a Console API key and want a chat on your phone. Tool approvals are relayed.
- Look elsewhere if
- You need it to work without a session left open, want plan review or questions on the phone, or need a feature that's out of preview.
SSH with tmux or moshFrom a phone app
- Choose it if
- You want the whole machine, not just one agent, with any tool, editor or log. The connection runs from your phone to your machine, the tools are free and mature, and tmux keeps sessions alive through drops. Phone apps include Termius and Blink Shell.
- Look elsewhere if
- A terminal on a phone screen is hard work for you, you want to hear when the agent needs you (it isn't built in), or you'd rather not manage ports, keys and reattaching.
UntetherTelegram bridge
- Choose it if
- You use more than one agent and want one Telegram chat for them, or you want Claude Code plan review, approvals with diff previews, voice notes, cost budgets and cron or webhook triggers from your phone, on your own bot. One service covers your registered projects and branches. Start with the install guide.
- Look elsewhere if
- Your agent's machine runs Windows (Untether supports macOS and Linux), you need Codex CLI, OpenCode or Pi to stop for approval mid-run (they can't), you don't want chat content on Telegram's servers, or you'd rather have a first-party product than an open-source beta. If you only use Claude Code and Remote Control does what you need, stay with it.
Try Untether
You need macOS or Linux, a Telegram account and at least one supported agent installed and signed in. Untether is free and open source under the MIT licence.
Install the package
Untether installs as a command-line tool with uv, which also fetches a suitable Python if you don't have one.
uv tool install -U untetherRun the setup wizard
Start Untether in a terminal. The wizard walks you through creating a Telegram bot with @BotFather and connecting your chat.
untetherSend your first task
Message your bot by text or voice. Your agent runs on your machine and replies in the chat.
More detail, including pipx and the requirements, is in the install section on the home page.
Sources
Every row in the table comes from these pages, checked on 17 October 2026.
- Remote Control
- SSH with tmux or mosh
Little Bear Apps makes Untether, so weigh this page with that in mind. Spotted something out of date? Open an issue on GitHub.