Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By njerschow
Send and receive iMessages from Claude Code, enabling text-based notifications and input during long-running tasks or when away from the terminal.
npx claudepluginhub njerschow/textme --plugin imessageYour personal Claude AI, accessible via iMessage.
Text Claude from anywhere. Send messages, voice notes, or images — get intelligent responses back to your phone. Built on Sendblue + Claude Code.
brew install node # Node.js 18+
npm install -g @sendblue/cli # Sendblue CLI
npm install -g @anthropic-ai/claude-code # Claude Code
Run the Sendblue setup wizard:
sendblue setup
This creates your account, assigns a phone number, and guides you through verifying your first contact. When done, print your credentials:
sendblue show-keys
Copy the API Key, API Secret, and phone number — you'll need them in the next step.
git clone https://github.com/njerschow/textme.git
cd textme/daemon && npm install && npm run build
mkdir -p ~/.config/claude-imessage
nano ~/.config/claude-imessage/config.json
{
"sendblue": {
"apiKey": "YOUR_API_KEY",
"apiSecret": "YOUR_API_SECRET",
"phoneNumber": "+1SENDBLUE_NUMBER"
},
"whitelist": ["+1YOUR_PHONE"],
"pollIntervalMs": 5000,
"conversationWindowSize": 20
}
| Field | What to put |
|---|---|
sendblue.apiKey | Your Sendblue API key (from sendblue show-keys) |
sendblue.apiSecret | Your Sendblue API secret (from sendblue show-keys) |
sendblue.phoneNumber | The Sendblue number assigned to you (from sendblue show-keys) |
whitelist | Array of your personal phone numbers that can text the bot |
To enable voice memo transcription, add your OpenAI API key (run from inside textme/daemon/):
echo "OPENAI_API_KEY=sk-your-key-here" > .env
From inside textme/daemon/:
npm start
Text your Sendblue number from your phone: hello
If you want Claude Code to send/receive iMessages directly from your terminal (without running a persistent daemon), add the Sendblue MCP server:
claude mcp add sendblue_api \
--env SENDBLUE_API_API_KEY=your-api-key \
--env SENDBLUE_API_API_SECRET=your-api-secret \
-- npx -y sendblue-api-mcp --client=claude-code --tools=all
This gives Claude Code tools to send iMessages, check number types, manage group chats, and more — all from within your coding session. See Sendblue MCP docs for details.
| Command | Action |
|---|---|
? | Show commands |
status | Current status & directory |
queue | View queued messages |
history | Recent messages |
home | Go to home directory |
reset | Home + clear history |
cd /path | Change directory |
stop | Cancel current task |
yes / no | Approve/reject actions |
pm2 start dist/index.js --name textme
pm2 save
pm2 startup
daemon/
├── src/
│ ├── index.ts # Main loop, message processing, media handling
│ ├── sendblue.ts # Sendblue API (send, receive, upload files)
│ └── ...
├── dist/ # Compiled output
└── package.json
# PM2
pm2 logs textme
# Standalone
tail -f ~/.local/log/claude-imessage.log
./scripts/install-launchd.sh # Enable
./scripts/uninstall-launchd.sh # Disable
pm2 delete textme # or: pkill -f "node.*daemon/dist"
rm -rf ~/.config/claude-imessage ~/.local/log/claude-imessage.log
Built with Sendblue + Claude Code
MIT License
Admin access level
Server config contains admin-level keywords
Requires secrets
Needs API keys or credentials to function
Share bugs, ideas, or general feedback.
Based on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
iMessage integration for Claude Code - read messages, send replies, and run autonomous agents via iMessage
WhatsApp channel for Claude Code — linked-device messaging bridge with built-in access control. Manage pairing, allowlists, and policy via /whatsapp-claude-channel:access.
WeChat channel for Claude Code via iLink Bot API
Claude calls you on the phone when it needs your input or wants to report progress
Open-source, local-first Claude Code plugin for token reduction, context compression, and cost optimization using hybrid RAG retrieval (BM25 + vector search), reranking, AST-aware chunking, and compact context packets.
MCP server that saves 98% of your context window with session continuity. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and automatic state restore across compactions.
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claim