# anthropic released three ways to communicate with claude or claude code from your phone this week...
## Retrieval Notes
- Session id: `019d0c79-562c-7343-a28e-0fd939911957`
- Source: `Agent Client fallback`
- Last activity: `2026-03-20T18:38:07.760Z`
## My Notes
<!-- Add your notes here. This section is preserved across syncs. -->
## Conversation
### User
anthropic released three ways to communicate with claude or claude code from your phone this week. what would be the best way to work it into my set up?
Dispatch: phone -> Cowork on your desktop
Remote Control: browser/phone -> existing Claude Code session
Channels: Telegram/Discord-style messaging -> Claude Code session
### Assistant
You’re asking which of Anthropic’s new phone-to-Claude/Claude Code workflows fits your existing setup best. I’m checking the release details first so the recommendation is based on the actual features that shipped this week, not memory.
### Assistant
Best fit for your setup: make **Remote Control** the default, keep **Channels** as an optional second layer, and mostly ignore **Dispatch** unless you want to adopt **Cowork** for non-code desktop work.
Why:
- **Remote Control** is the cleanest match for how you already work: local machine, local files, local tools, local MCPs, same Claude Code session, just reachable from phone/browser. Anthropic’s docs explicitly frame it as continuing a local session from phone/web while keeping execution on your machine.
- **Channels** is useful if you want a true “text my coding agent” path from anywhere, especially low-friction Telegram-style check-ins, nudges, or short commands. But it’s still a research preview, requires plugins/Bun, and is better as an async control surface than as your primary interface.
- **Dispatch** looks like the Cowork-side version of the same idea, aimed more at desktop productivity workflows than your terminal-first coding setup. I’m inferring that from March 18, 2026 coverage plus Anthropic’s Cowork positioning, because I couldn’t pull an official Dispatch page directly. and
So I’d structure it like this:
1. **Primary:** `claude --remote-control` for any serious session you may want to pick up from your phone.
2. **Secondary:** add **Telegram Channels** only if you want quick async messages like “check status,” “continue,” “summarize what changed,” or “run the next step.”
3. **Optional:** try **Dispatch** only if you want Claude handling broader desktop/admin workflows in Cowork, separate from coding.
In your case, the practical division is:
- **Remote Control** = “I want my actual desktop Claude Code session on my phone.”
- **Channels** = “I want to message that session like an operator.”
- **Dispatch** = “I want phone -> Cowork desktop agent for non-code tasks.”
If you want, I can turn this into a concrete setup recommendation for your exact stack, e.g. “Obsidian + Codex + Claude Code + phone” with a default workflow and when to use each surface.
### User
will your suggestion work within client agent plugin in obsidian.
### Assistant
I’m checking what the Obsidian Client Agent plugin in your vault actually supports, because the answer depends on whether it can host or proxy a live Claude Code session versus just act as an MCP/client surface.
### Assistant
I found local references and I’m reading the Obsidian CLI skill now so I can stay inside your vault conventions while checking how Client Agent is wired.I have enough context on the vault tooling. Now I’m checking whether Client Agent is just an Obsidian-side client/MCP surface or whether it can actually host Anthropic’s remote-control/channels model end to end.
### Assistant
I found the decisive bit in your setup: Agent Client is configured as a desktop-only ACP client that launches `claude-agent-acp`, not plain `claude`. I’m checking that wrapper’s flags now, because that determines whether Anthropic’s phone features can be threaded through it.
### Assistant
Not cleanly, no.
Your current Obsidian Client Agent setup is a **desktop-only ACP client** that launches a local wrapper binary, not a normal phone-addressable Claude Code session. You can see that in [manifest.json](/Users/nickyoung/My%20Obsidian%20Vault/.obsidian/plugins/agent-client/manifest.json#L1) and [data.json](/Users/nickyoung/My%20Obsidian%20Vault/.obsidian/plugins/agent-client/data.json#L2): the Claude entry runs `/opt/homebrew/bin/claude-agent-acp`, and the plugin itself is marked `isDesktopOnly: true`.
So the practical answer is:
- **Remote Control:** not really “inside” Agent Client. It works on an existing Claude Code session, but Agent Client is its own Obsidian-hosted client layer, not that session exposed to phone.
- **Channels:** also not a clean fit inside Agent Client as configured. In principle the wrapper might pass extra args through, but there’s nothing in your current setup showing first-class support for Anthropic channels.
- **Dispatch/Cowork:** separate product path, not an Obsidian Agent Client integration.
Best pattern for you would be:
- keep **Agent Client** for in-Obsidian chatting
- run a **separate plain Claude Code terminal session** when you want phone access
- use **Remote Control** or **Channels** against that terminal session, not against the Obsidian plugin
If you want, I can map out the least-friction dual setup: “Agent Client for vault work at desk, Remote Control for phone continuity when away.”
### User
"run a separate plain Claude Code terminal session when you want phone access" could I run that and still have be able to function just how it does within in the plugin, same access capactiieds etc.
### Assistant
I’m checking the Remote Control docs directly so I can answer this in terms of actual session behavior: same tools, same permissions model, and what changes when the session is driven from phone.
### Assistant
Yes, mostly, if you run **plain Claude Code** in the same project directory and with the same Claude account/config.
Anthropic’s Remote Control docs are explicit that the remote session keeps your **full local environment**: filesystem, MCP servers, tools, and project config all stay available because the session still runs on your machine.
What that means in your case:
- If you start `claude --remote-control` from `/Users/nickyoung/My Obsidian Vault`, it will see the same vault files, local commands, and project instructions that a normal terminal Claude Code session would.
- If your MCP/tooling is configured for Claude Code generally, those capabilities carry over to phone, because the phone is just a window into that local process.
What will **not** be identical to Agent Client:
- Agent Client is its own Obsidian UI/client layer, and in your setup it launches `claude-agent-acp`, not plain `claude`, per [data.json](/Users/nickyoung/My%20Obsidian%20Vault/.obsidian/plugins/agent-client/data.json#L2).
- So you would lose the **plugin-specific affordances**: Obsidian chat pane, note-insertion conveniences, session export behavior, and anything the ACP wrapper/plugin adds on top.
- You would also be in a **separate session**, not the same live chat thread that exists inside Agent Client.
So the right distinction is:
- **Same underlying access/capacity:** mostly yes.
- **Same exact Obsidian-integrated experience:** no.
If you want the closest equivalent, the setup would be:
- keep Agent Client for desk use inside Obsidian
- run a second plain `claude --remote-control` session in the vault root for phone continuity
- make sure that plain Claude Code has the same MCP/config/permissions you rely on in the plugin
If you want, I can help you check whether your current Agent Client capabilities come from:
1. plain Claude Code config you already have, or
2. extras provided only by `claude-agent-acp`
That’s the real question that decides how close the match will be.
### User
I'd like you to help me set up a trial run of the claude code + remote control stuff
### Assistant
I’m going to verify your Claude Code install and the exact Remote Control prerequisites on this machine, then I’ll propose the smallest safe trial run rather than changing your setup blindly.
### Assistant
I’m checking the local Claude install and your existing Claude config now. If Remote Control is already available, the trial can be very short.This machine has Claude Code `2.1.44`, but Remote Control requires `2.1.51` or later. I’m checking your auth/config next; if that looks compatible, the only real setup step is upgrading Claude Code.
### Assistant
The blockers are concrete now: Claude Code is too old, and this install is not logged into a `claude.ai` account yet. I’m requesting permission to upgrade Claude Code first; after that, the remaining step will be you completing the interactive `/login` once.
### Assistant
I’m upgrading Claude Code now. If that succeeds, I’ll verify the new version and then we can do the shortest possible login + phone test.
### Assistant
The upgrade is done. The remaining setup is exactly what Anthropic requires for Remote Control: a `claude.ai` login on this machine, then a live `--remote-control` session from your vault.
### Assistant
The login flow is open now. I’m waiting for Claude Code to present the next step or browser code.Login completed successfully. I’m verifying auth one last time, then I’ll start a named Remote Control session in your vault so you can connect from your phone and test it.
### Assistant
The login command reported success, but the non-escalated status check still shows no login. I’m checking auth status in the same elevated context the login used before we try Remote Control.
### User
i pressed yes on the screen but it crashed to this.
### Assistant
That callback page is consistent with the local login listener disappearing before the browser could finish the handoff. The page itself isn’t the main issue; I need to verify whether the token was actually saved, then either continue or redo the login cleanly.
### Assistant
The login did stick, so we’re clear to run the trial. I’m starting a named Remote Control session from your vault now; if workspace trust is already accepted, it should give us a session URL/QR and stay alive for phone testing.
### Assistant
The Remote Control process is starting now. I’m waiting for either the connect URL or a trust/policy error so we can handle the next step directly.Claude is asking for final confirmation to expose this specific session remotely. I’m enabling it now.The trial session is live.
Open this on your phone or another browser while the process stays running:
`https://claude.ai/code?bridge=env_01WzLprj5mUp87GTSdzNfvLL`
This session is running from `/Users/nickyoung/My Obsidian Vault`, so the remote view should have the same local vault access and tooling as plain Claude Code on this machine. If you connect and send a message, I can watch the session here and confirm it’s behaving correctly.The trial run is set up and live. I upgraded Claude Code to `2.1.80`, completed `claude.ai` login for `
[email protected]`, and started a Remote Control session rooted in your vault.
Use this link from your phone or another browser while the session stays open:
`https://claude.ai/code?bridge=env_01WzLprj5mUp87GTSdzNfvLL`
This is running from `/Users/nickyoung/My Obsidian Vault`, so it should have the same local filesystem, project config, and Claude Code tooling that a normal terminal Claude session there would have. It is not the Obsidian Agent Client UI, but it is the same underlying local-machine model of access.
One limitation to keep in mind: this session stays alive only while that `claude remote-control` process remains running. If you want, the next step can be a short capability check from your phone, for example: “what files are in the vault root?” or “read today’s daily note,” just to confirm the remote surface is seeing the environment you expect.
### User
any chance you could turn that into a barcode
### Assistant
I can do that. The live Remote Control process can render its own QR code, so I’m asking it to show the code now rather than generating a separate one by hand.Yes. Here’s the QR code for the live Remote Control session:
```text
█▀▀▀▀▀█ ▄█ ▄▄ ▀▀▀▀▀█▀▄▀▄ █▀▀▀▀▀█
█ ███ █ ▄█▀█ ▀ ▀ █▀█ ▄ █ ███ █
█ ▀▀▀ █ ▄ █ ▀███ ▀ █▄▀ █ ▀▀▀ █
▀▀▀▀▀▀▀ ▀ ▀ █▄▀▄█ ▀▄▀▄█ █ ▀▀▀▀▀▀▀
▀▀█▀▀ ▀███▀ ▀ ▀▄▄▀ █▄ ▄█▀▀▄▀ ▀▄█▄
▄ █ ▀▀▄█▄█▀ ▄█▄ █▄ ██▄█▄ ▀█▀▄▀
█▄█▄█ ▀▀▀█▄▀▄▄▄▄▄█▀▄█▄▀▄ ▀▄█▀▀ ▄▄
▀█▄██▀ ▀█▄ ▄█▀▀▄ █ ██▄█▄▀ ▄▀
▀ █▄ ▀▀█▄▀▀ ▀ ▀▀█▀▀▄█ ▀▄▀ ▄▀▀▄ █▄
▀▀▄▀█ ▀ █▀▄█▀ ▄▀▄▀ ▄▄▀▄ ██▀ ▀▄▀
██ ▄▀▀█ ▀ ▀▄▄▄▀▄ ▄▀▄▄██▄▀▄▀▀▄ █▄
█ ▄▀▀▄▀▄▀▀ ▄█▀▀▄▀ ▄ ▄▀ ▄▄ █▄▀
▀ ▀ ▀ ▀ ▄█▀ ▀ ▀▄▄ ██▀█ █▀▀▀█ ▄ █
█▀▀▀▀▀█ ▀ █▀ ▄▀ ▄▄█▄███ ▀ ██▄▀▄
█ ███ █ ██▀▀▄▄▄ █ █▄▄ ██▀▀█▄ ▄█
█ ▀▀▀ █ █▀ ▄█▀█▄▀▀ ▀█ ▀▀▄█ ▄█
▀▀▀▀▀▀▀ ▀ ▀ ▀▀ ▀ ▀ ▀▀▀▀▀ ▀
```
If scanning that from the chat is awkward, the raw link is still:
`https://claude.ai/code?bridge=env_01WzLprj5mUp87GTSdzNfvLL`
The session is currently attached, so your phone connection appears to be working.
### User
when i click on the weblink it justgoes to the claude list of chats. it doesn't nake a new one
### Assistant
That’s probably expected behavior here.
The `bridge=...` link often just opens `claude.ai/code` and registers the environment, then you select the live session from the list. Anthropic’s docs say Remote Control sessions should appear in the session list by name with a computer icon/green dot.
Use this instead:
- In `claude.ai/code`, look for **`Obsidian Vault Trial`**
- Or open the direct session URL I can see from the terminal:
`https://claude.ai/code/session_01Ef1fLnU7GDgPTjy9pggcvZ`
If you already had Claude open on your phone/browser, refresh the code page once and then check the list for that exact session title.
If you want, I can keep watching the terminal and tell you whether the remote session attaches after you try the direct `session_...` link.
### User
it opened and i have sent a message. no response tjough
### Assistant
I’m checking the live terminal session now to see whether your phone message arrived and whether Claude is blocked on a prompt or permission gate.The session is alive, but the QR overlay is obscuring the useful output. I’m hiding it so I can see whether your message is sitting at a prompt or permission check.The current setup is in **server mode** (`claude remote-control`), which is good for spawning remote sessions but not the clearest way to debug a first trial. I’m not seeing a local permission prompt or crash on the terminal side, so the easiest next move is to switch to an **interactive remote-control session** instead.
That means:
- same vault access
- same phone/web access
- one shared live conversation between terminal and phone
- much easier to see whether Claude is actually receiving and answering messages
If you want, I’ll replace the current session with:
```bash
claude --remote-control "Obsidian Vault Trial"
```
That should behave much more like “normal Claude Code, but also reachable from phone.”
### User
" I’m not seeing a local permission prompt or crash on the terminal side, so the easiest next move is to switch to an interactive remote-control session instead."???? what? we aren't doing what i asked, but something you want?
### Assistant
You’re right. That was the wrong move.
You asked for a trial of **Claude Code + Remote Control**, not for me to silently change the mode because it seemed easier to debug. I should have said more plainly what we had actually started and why the behavior was odd.
What happened:
- I started `claude remote-control`, which is **server mode**.
- That mode is valid, but it’s oriented around remote session spawning/attachment rather than the simplest “one terminal chat mirrored to phone” trial.
- You then connected from phone and sent a message, but I couldn’t confirm from the terminal whether the message was being processed, because server mode’s output is less transparent for this kind of debugging.
So the issue is not “I want something else.” The issue is: **the exact mode we launched is not the cleanest version of the thing you asked to test**.
You have two options:
1. Keep the current server-mode session and keep debugging why the phone message didn’t answer.
2. Stop this session and start the more direct version of the same feature:
`claude --remote-control "Obsidian Vault Trial"`
That gives one normal Claude Code session in the terminal, mirrored to phone/web.
If your goal is “test what it feels like to continue a normal Claude Code session from my phone,” option 2 is the correct one. If your goal is “understand Anthropic’s remote-control server mode specifically,” we should stay with option 1.
If you want, I’ll do only what you choose next.
### User
0k; potion 2
### Assistant
I’m switching from the current server-mode session to the direct interactive Remote Control session you actually want to trial. First I’ll stop the existing process, then start `claude --remote-control` in the vault so the terminal and phone share one live chat.
### Assistant
The old server-mode session is shutting down now. Once auth comes back clean, I’ll start the interactive mirrored session in the vault.Auth is fine and the old session is down. I’m starting the interactive Remote Control session now so the terminal and your phone are attached to the same live Claude chat.
### Assistant
The interactive session is starting. I’m waiting for its confirmation prompt or direct connect link.Claude is waiting on its startup effort selection, which is why it’s not yet usable from phone. I’m choosing the recommended medium setting so the session can fully start and expose the mirrored chat.The session is advancing past setup now. I’m waiting for the normal prompt and final Remote Control status, then I’ll give you the new direct link.The terminal UI doesn’t emit clean text once it’s fully interactive, but the session link is already visible and Remote Control is active. Use this new direct session URL:
`https://claude.ai/code/session_01VCKHQpUhxczdHcLQxxBqCh`
This is the correct interactive mirrored session. Your phone/browser and the local terminal are now attached to the same Claude Code chat in `/Users/nickyoung/My Obsidian Vault`. Send a simple test message there now, and I’ll watch for whether it lands cleanly.The interactive mirrored session is now the active one.
Open this direct session URL:
`https://claude.ai/code/session_01VCKHQpUhxczdHcLQxxBqCh`
That session is running in `/Users/nickyoung/My Obsidian Vault`, and unlike the earlier server-mode setup, this one is the straightforward “normal Claude Code session, also controllable from phone/web” version.
Send a short test message there now, ideally something simple like `what directory are you in?`, and I’ll confirm whether it’s behaving properly.
### User
i sent a messag ebut no response yet
### Assistant
I’m checking the live interactive session for a permission prompt, workspace trust prompt, or stalled model call.The phone message did land. The session shows your exact message, `hello`, and Claude is actively processing it. It’s not stuck on a permission prompt.Your message definitely arrived. I can see `hello` in the live session, and Claude is still thinking on it. There is no permission prompt blocking it.
So the current issue is not “phone message didn’t get through.” It did. The issue is just that this session is responding unusually slowly.
At this point:
- the interactive remote-control session is live
- Remote Control is active
- your message is in the queue and being processed
- no local approval is required
If the phone UI still hasn’t updated after another 20-30 seconds, the cleanest next step is to cancel this run and start one more fresh session with a simpler model/effort setting for the trial. That would be a debugging choice, not a different workflow.
If you want, I can wait another half minute and check once more before we restart.