The protocol

Experimental and Claude Code's. Here is what that means in practice.

How it works

hotline is a stdio MCP server (official github.com/modelcontextprotocol/go-sdk) that additionally declares Claude Code's experimental claude/channel capability and, with a token configured, claude/channel/permission.

The flag

Claude Code registers channels named on the command line. The safe form is --channels, but it only accepts plugins on Claude Code's approved channels allowlist, and hotline isn't on it yet. Until it is, the dev-channel flag loads it:

claude --dangerously-load-development-channels plugin:hotline@hotline   # plugin path
claude --dangerously-load-development-channels server:hotline           # raw .mcp.json server

Read the flag name. It says dangerously and development, and both words are accurate. This is an unshipped surface of Claude Code that you are opting into. hotline start checks the allowlist on every launch and switches to plain --channels plugin:hotline@hotline the moment hotline is approved.

What experimental means here

The protocol is Claude Code's, and Claude Code owes it nothing yet. Any Claude Code release can rename the flag, change the notification shape, or drop the channel surface entirely, and hotline will be broken until it catches up. Pin your Claude Code version if that risk bothers you, and expect to update hotline alongside Claude Code.

It also makes hotline Claude Code specific today: no other harness speaks claude/channel. If other harnesses adopt the channel protocol, or hotline grows adapters for theirs, that changes.

What stays ordinary

Everything except the channel capability is plain MCP. The four tools (reply, react, edit_message, download_attachment) are ordinary MCP tools over stdio, and the providers behind them don't care what harness is driving. The experimental surface is deliberately thin: how inbound messages wake the session, and how permission prompts leave it.

Roadmap

Discord shipped as the second provider, Signal as the third. Matrix is under consideration. No dates.

back to the quickstart →