sendblue-cli
Helps your agent send iMessage and SMS messages directly from the terminal. Allows contact management and account setup without needing a server.
What it does
This program lets you send text messages (SMS and iMessage) directly from your computer, without needing a phone app or complex server setup. It also helps manage your contacts and set up your account.
When to use it
- ✓When you want to send a quick reminder to your phone.
- ✓To notify about the completion of a long task.
- ✓When you need to send bulk messages automatically.
Example of what to ask your AI
“Send a message to +15551234567 saying 'The task is finished!'”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
First, you install the program on your computer. Then, you set up your account using your email and a verification code. Finally, you can use simple commands to send messages or view your history.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill sendblue-cliOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/skills/sendblue/sendblue-cli/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Sendblue CLI
Overview
@sendblue/cli is a Node CLI that creates a Sendblue account, provisions an iMessage-enabled number, and sends messages. It is the fastest way to text from a shell, script, or Claude Code hook — no API client, no webhook server, no credentials in env vars. Credentials live at ~/.sendblue/credentials.json (mode 600) and Node.js 18+ is required.
When to Use This Skill
- Use when the user wants to text a phone number from a script, shell, hook, or agent turn (e.g. "text me when X finishes", "ping my phone", "notify on completion").
- Use when the user mentions
sendblueas a CLI/binary or asks to set up the@sendblue/clipackage. - Prefer this skill over [[sendblue-api]] when the work happens in a shell context, one-shot script, cron job, or agent hook.
- Reach for [[sendblue-api]] instead when writing application code that integrates Sendblue, receiving inbound webhooks, or needing features the CLI does not expose (send styles, reactions, group messages, status callbacks, media uploads).
How It Works
Step 1: Install
npm install -g @sendblue/cli # global, exposes `sendblue`
# or one-shot:
npx @sendblue/cli <command>
Step 2: Set up an account
sendblue setup runs interactively by default. For CI/scripts, run it in two phases — the first call sends an 8-digit verification code by email, the second consumes it.
sendblue setup --email you@example.com # sends code
sendblue setup --email you@example.com --code 12345678 \
--company my-co --contact +15551234567 # completes setup
| Flag | Notes |
|---|---|
--email |
Email address |
--code |
8-digit verification code (from the email) |
--company |
Lowercase, hyphens/underscores, 3–64 chars |
--contact |
First contact, E.164 |
Step 3: Send messages
sendblue send +15551234567 'Hello from Sendblue!'
sendblue messages --inbound --limit 20
Phone numbers must be E.164 (+ + country code + digits, no spaces or dashes).
Step 4: Manage contacts and plan
On the free plan, a contact must text your Sendblue number once before outbound sends to that contact will work. After sendblue setup ... --contact +15551234567, have that contact send any text to the printed Sendblue number, then run sendblue contacts to confirm verification.
Command Reference
| Command | Purpose |
|---|---|
sendblue setup |
Create account, verify email, set company name, add first contact |
sendblue login |
Log in to an existing account |
sendblue send <number> <message> |
Send an iMessage |
sendblue messages [--inbound|--outbound] [-n <number>] [-l <count>] |
List recent messages |
sendblue add-contact <number> |
Register a contact |
sendblue contacts |
List contacts and their verification status |
sendblue status |
Account/plan info |
sendblue whoami |
Show current credentials and verify validity |
Examples
Example 1: Notify when a long task finishes
long_running_thing && sendblue send +15551234567 "✅ done: $(date)"
Example 2: Read recent inbound for a specific contact
sendblue messages -n +15551234567 --inbound --limit 50
Example 3: Verify creds are good before a batch send
sendblue whoami || sendblue login
Example 4: Wire to a Claude Code Stop hook
To text yourself at the end of every agent turn, register a Stop hook in settings.json that shells out to sendblue send. Defer the actual hook wiring to [[update-config]] and the trigger logic to [[sendblue-notify]] — this skill only owns the CLI invocation.
Best Practices
- ✅ Use E.164 numbers everywhere.
+15551234567, never5551234567or(555) 123-4567. - ✅ Run
sendblue whoamibefore unattended batches to fail fast on stale or missing creds. - ✅ Re-run
setupas the same OS user that owns~/.sendblue/credentials.json. - ❌ Don't
sudo— it writes creds to root's home and the next non-sudo run won't see them. - ❌ Don't embed creds in env vars when the CLI already reads them from the per-user credentials file.
Limitations
- Outbound-first: there is no built-in webhook server for inbound. Use [[sendblue-api]] webhooks for full inbound handling.
…
FAQ
Do I need a special phone number?
No, you'll use your regular phone number, but the destination numbers must be in E.164 format (e.g., +15551234567).
Can I send messages to anyone?
On free plans, the person you're sending to needs to have sent a message to your Sendblue number first. After that, you can send to them.
Where are my login details stored?
Your credentials are saved in a secure file on your computer, called `credentials.json`, with restricted permissions so only you can access it.
Details
Original description by the author
Send iMessage and SMS from the shell via the @sendblue/cli npm package — outbound sends, contact management, and account setup with no API client or webhook server required.
Popularity
- GitHub stars
- 48k
- Ranking position
- #4680
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
benchmark
Helps your agent measure code speed and performance. It's useful for ensuring things are fast and finding slowness issues.
affaan-m/ECC
content-hash-cache-pattern
Lets your agent use content hashes to cache file processing results. This avoids repeated processing and auto-invalidates the cache when content changes. Useful for speeding up slow tasks.
affaan-m/ECC
parallel-execution-optimizer
Makes your agent speed up complex tasks by breaking them into smaller parts and running them in parallel. It ensures everything is verified at the end.
affaan-m/ECC