Linkdocs
Agents

Claude in a terminal

Send messages into a Claude Code session you started at your desk, and answer its prompts from the phone.

You start Claude Code in a terminal, then leave. Link shows that session live, but Claude Code has no public way for a second client to join it. Link's channel fills that gap: start the session with it, and messages from the phone go straight into the terminal session, and its permission prompts come to your phone.

It uses Claude Code channels, a research preview, through an MCP server built into Link Host.

Set it up once

link-host channel setup

This registers link-host channel with Claude Code as the user-scope MCP server link (it runs claude mcp add for you).

Start sessions with it

claude --dangerously-load-development-channels server:link

Claude Code asks you to confirm the flag each time it starts, because Link's channel isn't on Anthropic's channel allowlist. To use it every time, make it an alias:

alias claude='claude --dangerously-load-development-channels server:link'

Add the line to ~/.bashrc or ~/.zshrc.

alias --save claude 'command claude --dangerously-load-development-channels server:link'

Channels need a claude.ai or Console login; Team and Enterprise organisations must allow them.

From the phone

Open the session in the Agents tab; the composer says your messages go into the terminal session.

  • Messages you send appear in the terminal as coming from Link, and Claude answers in the same conversation. Images still go the old way (below).
  • Permission prompts in the terminal show on the phone as cards with Allow and Deny. Your answer closes the dialog in the terminal. A prompt you answer at the desk isn't reported back, so the phone drops prompts older than 30 seconds once the session stops waiting.
  • The mode chip is hidden: the session keeps the mode it has in the terminal.

How it connects

The channel server runs inside each Claude Code session. Only a session started with server:link opens a socket, readable by your account only, at $XDG_RUNTIME_DIR/link/channels/<pid>.sock. The phone reaches it through link-host channel send, pending and answer over the SSH connection. Nothing listens on the network.

Without the channel

Sessions started without the flag still work from the phone: sending continues the conversation in Link's own Claude process, which the terminal doesn't see. Close it in the terminal first, or pick up the conversation there later with claude --resume.

On this page