New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@posteverywhere/cli

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@posteverywhere/cli

Post and schedule to Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Telegram & Discord from your terminal. Log in once, connect accounts, publish. Also works as a tool for Claude, Cursor and other AI agents (--json output)

latest
Source
npmnpm
Version
0.5.0
Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

PostEverywhere — Official CLI & Agent Skill

npm version npm downloads License: MIT GitHub stars

Post and schedule to Instagram, TikTok, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Telegram, Discord and WordPress from your terminal — or hand the whole thing to an AI agent.

This repo is two things at once: a CLI you can drive by hand, and an Agent Skill that teaches Claude Code, Cursor, Codex and other agents how to use it. Every command emits JSON, so an agent can read the result of what it just did.

Install as an agent skill

npx skills add posteverywhere/cli

That's it. Your agent now knows the whole command surface — connecting accounts, checking per-platform limits, scheduling, and reading back per-destination results. Then just ask:

"schedule a post to all my accounts for tomorrow at 9am"

Claude Code users can alternatively add it as a plugin, which brings auto-updates:

claude plugin marketplace add posteverywhere/cli

Install as a CLI

npm install -g @posteverywhere/cli
# …or run without installing:
npx @posteverywhere/cli <command>

90-second setup

posteverywhere login                 # opens your browser, saves a key to ~/.posteverywhere
posteverywhere connect instagram     # OAuth flow; auto-detects the connected account
posteverywhere accounts              # list connected accounts (+ ids & health)
posteverywhere post -c "Hello 🚀" -a 123,456

For CI or a headless agent, skip login and set a key from Settings → Developers:

export POSTEVERYWHERE_API_KEY=pe_live_...

Commands

CommandWhat it does
login / logoutDevice-flow login (browser approval); remove saved credentials
whoamiThe authed account, plan and remaining quota
accountsConnected social accounts, with ids and health
platform-rules [platform]Character limits, media constraints and supported features
connect <platform>Connect a new account
reconnect <accountId>Re-authorize an account whose token expired
account:health <id>Why one account can't post
post -c <text> -a <ids> [-s <iso>] [-m <mediaIds>]Publish now, or schedule with -s
post -a <ids> --title <t> --body-file <md> [--wp-status draft] [--tags a,b] [--categories c]WordPress blog post (first image = featured image)
postsList posts, filterable by status and platform
results <postId>Per-platform success/failure for one post
retry <postId>Retry the failed destinations
upload <url>Import an image or MP4 video by URL → media_id (videos import async — poll until ready)
caption -t <topic>AI captions, tuned per platform
analytics [--period]Performance summary
campaignsList campaigns

Add --json for machine-readable output. It turns on automatically when piped, so agents get JSON without asking.

Check the limits before you compose

platform-rules returns what each platform will actually accept, straight from the server:

$ posteverywhere platform-rules bluesky --json
{ "platform": "bluesky", "characterLimit": 300,
  "features": ["threads", "quotes", "link_cards"], ... }

The limits differ by two orders of magnitude — Bluesky caps at 300 characters, Facebook at 63,206 — and TikTok rejects images outside its pixel ceiling server-side. Checking costs one call; guessing costs a failed publish. Because the values are server-authoritative, a newly supported platform shows up here with no update on your side.

ResourceURL
🌐 Homepageposteverywhere.ai
🛠️ Developers landing pageposteverywhere.ai/developers
📖 API Documentationposteverywhere.ai/docs
📦 This CLI on npmnpmjs.com/package/@posteverywhere/cli
🤖 MCP server (npm)npmjs.com/package/@posteverywhere/mcp
🤖 MCP server (GitHub)github.com/posteverywhere/mcp
📚 Node.js SDKgithub.com/posteverywhere/sdk
🔌 Connect Claudeposteverywhere.ai/integrations/claude

CLI, MCP or SDK?

You wantUse
An agent that can run shell commands (Claude Code, Codex, Cursor)This CLI + npx skills add posteverywhere/cli
An agent that speaks MCP (Claude Desktop, ChatGPT, hosted agents)@posteverywhere/mcp
To write your own application code@posteverywhere/sdk

All three hit the same v1 API, so an account connected once works everywhere.

Design notes

Zero runtime dependencies. Pure Node (≥18), one source file. npx is instant and there's no supply-chain surface to audit.

Credentials stay local. login writes a scoped key to ~/.posteverywhere/config.json at mode 600. POSTEVERYWHERE_API_KEY takes precedence when set, so CI never touches the file.

Errors are readable by machines. On failure the CLI prints {"error": "..."} to stderr and exits non-zero, so an agent can tell "account needs reconnect" from "out of quota" and act on it.

License

MIT — see LICENSE.

Keywords

social media

FAQs

Package last updated on 26 Sep 2026

Related posts