Add Signal Channel (NanoClaw)
A step-by-step skill that wires a Signal messaging channel into a NanoClaw assistant using a signal-cli device link.
What it does
Walks Claude through adding a Signal channel to a NanoClaw project end to end:
- Detects/installs
signal-cli(Homebrew on macOS, native binary on Linux — no Java) - Copies the Signal adapter (
src/channels/signal.ts) and its registration test from thechannelsbranch - Appends the single self-registration import to
src/channels/index.ts - Installs the pinned
qrcodedependency, builds, and runs the registration test - Runs the device-link handshake: scan a terminal QR from the phone that already runs Signal — no new number, no bot API
- Persists the linked number as
SIGNAL_ACCOUNTand restarts the service - Wires DMs/groups to agent groups with
ncl wirings createand grants user access
It also documents an alternative path (registering a dedicated number via captcha + SMS/voice verification), optional .env tuning, and a deep troubleshooting section (daemon unreachable, not_member drops, GroupV2 routing bugs, expired QR).
Who it's for
- NanoClaw operators who want to talk to their assistant over Signal
- People who prefer a privacy-focused messenger over Telegram/Slack channels
- Intermediate-to-advanced users comfortable with pnpm, launchd/systemd, and SQLite queries
Examples
- "Add the Signal channel" → installs signal-cli, copies the adapter, prints a QR to scan, then builds and tests
- Add the bot number to a Signal group, query
messaging_groups, and wire that group to a specific agent group - Bot silent? Grep the logs, check for duplicate service instances, and grant the blocked
not_memberuser access
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/nanocoai/nanoclaw/HEAD/.claude/skills/add-signal/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the .claude/skills/add-signal folder from the GitHub repo nanocoai/nanoclaw into my ~/.claude/skills/add-signal/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/nanocoai/nanoclaw.git && mkdir -p ~/.claude/skills && cp -r nanoclaw/.claude/skills/add-signal ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repo:
git clone https://github.com/nanocoai/nanoclaw.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the skill in:
cp -r nanoclaw/.claude/skills/add-signal ~/.claude/skills/ - This skill only works inside a NanoClaw checkout, so change into the project root:
cd nanoclaw - Prerequisites: Node.js,
pnpm, and a phone that already has Signal installed. - Start Claude Code and ask it to "add the Signal channel" to trigger the skill.
- When the QR appears, on your phone go to Signal → Settings → Linked Devices → Link New Device and scan it (the link expires in ~3 minutes; re-run that step for a fresh one).
- Finish by wiring the channel with
/init-first-agentor/manage-channels.