Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Signal Channel for Claude Code

Note: This has only been tested on Windows. If you're on macOS or Linux, testing and PRs with fixes are very welcome.

Talk to Claude Code from your phone via Signal. Send a Note to Self message, and it arrives in your Claude Code session. Claude can reply back.

How it works

signal-cli links as a secondary device on your Signal number. When you send a Note to Self, the message syncs to signal-cli, which forwards it to Claude Code as a channel event. Claude's replies come back through Signal.

Prerequisites

  • Java 25+Adoptium / brew install openjdk / apt install openjdk-25-jre-headless
  • Node.js 21+
  • Signal on your phone

Setup

git clone <repo-url>
cd signal-channel
npm install
npm run setup

The setup script will:

  1. Check for Java 25+
  2. Download and install signal-cli (if not already installed)
  3. Open a QR code in your browser — scan it with Signal to link your device
  4. Add the MCP server config to ~/.claude.json
  5. Install slash commands globally

Then start Claude Code with the channel:

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

Send a Note to Self on Signal. Claude sees it and replies.

Slash commands

After setup, these are available in any Claude Code session:

Command Description
/signal:send <message> Send a message to your phone via Signal
/signal:access View and manage the sender allowlist
/signal:access pair <code> Approve a sender's pairing code
/signal:access policy allowlist Lock down to approved senders only
/signal:uninstall Remove everything cleanly

Configuration

Environment variables (set in the env block of your MCP config in ~/.claude.json):

Variable Description Default
SIGNAL_ACCOUNT Your phone number (required)
SIGNAL_CLI_PATH Path to signal-cli binary signal-cli (on PATH)
SIGNAL_DAEMON_PORT TCP port for signal-cli daemon 7583
SIGNAL_PREFIX Only forward messages starting with this prefix — (all messages)

Prefix filtering

If you use Note to Self for other things, set SIGNAL_PREFIX so only tagged messages reach Claude:

"env": {
  "SIGNAL_ACCOUNT": "+1234567890",
  "SIGNAL_PREFIX": "cc"
}

Then "cc what's the weather" is forwarded (as "what's the weather"), but "buy milk" is ignored. Case-insensitive.

Using a dedicated number

Instead of Note to Self, you can register signal-cli with a separate phone number as a primary device. This gives Claude its own number that you (and others) can DM directly.

  1. Get a number that can receive one SMS (prepaid SIM or eSIM)
  2. signal-cli -a +1NEWNUMBER register
  3. signal-cli -a +1NEWNUMBER verify <CODE> (from the SMS)
  4. Set SIGNAL_ACCOUNT=+1NEWNUMBER in your MCP config

Uninstall

cd signal-channel
npm run uninstall

Stops the daemon, unregisters the linked device, removes signal-cli, channel state, slash commands, and MCP config. Use --keep-signal-cli to keep signal-cli installed.

About

Signal channel for Claude Code — talk to Claude from your phone via Note to Self

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages