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.
Where your messages goFrom your phone to the agent on your machine. The table has the detail.
  • Remote Control
    1. Your phone
    2. Your machine
  • Channels
    1. Your phone
    2. Your machine
  • SSH with tmux or mosh
    1. Your phone
    2. Your machine
  • Untether
    1. Your phone
    2. Your machine
Remote Control, Channels, SSH with tmux or mosh, and Untether compared
Remote ControlClaude Code featureChannelsClaude Code feature
SSH with tmux or moshFrom a phone app
UntetherTelegram bridge
AgentsClaude Code onlyClaude Code onlyAnything your machine can run in a terminalClaude Code, Codex CLI, OpenCode and Pi
Cost and sign-inIncluded in Pro, Max, Team and Enterprise plans. API keys aren't supported.1A claude.ai sign-in or a Console API keytmux 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.
ApprovalsPermission prompts and questions wait for your answer, with optional push alertsBash, Write and Edit approvals reach you as Allow and Deny buttons in the Telegram plugin2You answer the agent's own prompts in the terminalClaude 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 questionsPlan mode can be chosen from the app, and questions are forwarded to youNot documented as relayed. In -p mode, plan approval and questions are turned off.In the agent's own terminal interfaceClaude Code: Approve Plan, Deny or Pause & Outline Plan, plus option buttons for questions
VoiceNot documented for Remote Control sessionsVoice notes are passed on as attachments, not transcribed3Not documentedTranscribed by a Whisper-compatible service you choose. Off until you turn it on.
Scheduled runsNot 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 checksNone 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 machineTraffic 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 APIEncrypted SSH or mosh traffic straight to your machine, unless you add a VPN or a synced app vaultChat 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.
SetupSign in to claude.ai, run claude remote-control, then open the session in the Claude appInstall Bun, make a bot with BotFather, install the plugin, restart with --channels and pairAn 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.
StatusOut of research preview since the week of 17 August 2026Research preview. Flags and syntax may change.Mature: tmux 3.8, mosh 1.4.0Beta (0.x releases), MIT licence
  1. 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
  2. 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
  3. 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.

  1. 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 untether
  2. Run the setup wizard

    Start Untether in a terminal. The wizard walks you through creating a Telegram bot with @BotFather and connecting your chat.

    untether
  3. Send 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
Channels
SSH with tmux or mosh
Untether

Little Bear Apps makes Untether, so weigh this page with that in mind. Spotted something out of date? Open an issue on GitHub.