
Post, schedule, and manage every account from your terminal. Install it, log in with one workspace API key, and publish to every connected account from the terminal you already work in.
$ npm install -g socialclaw
$ socialclaw login --api-key sc_live_your_key
Connected to SocialClaw at https://getsocialclaw.com
Workspace: North Loop Cafe
$ socialclaw apply -f launch.yaml --json
Run run_7k2md9pz created (2 post(s), model=posts_v1)
timezone: America/New_York
posts:
- account: meta:instagram:17841400000000000
name: Launch reel
description: We just shipped v2.
publish_at: 2026-07-21T09:00:00-04:00
media_link: https://getsocialclaw.com/media/asset_example/dlv_example/launch.mp4
- account: linkedin:person:123
name: Launch post
description: Here is what changed and why.
publish_at: 2026-07-21T09:05:00-04:00
The CLI is built for pipes, scripts, CI pipelines, and AI agents, not just humans typing commands.
Every command takes a json flag for output a script can read easily. Pipe it, or hand it straight to an agent.
Campaigns are plain YAML or JSON files. Keep a week of content in git with a review diff, not twenty browser sessions.
Validate runs the whole campaign through the same checks publishing uses. A forty post schedule passes as a batch or fails loudly before anything goes live.
Applying with an idempotency key means running the same script again cannot publish the same post twice. Cron jobs and retry loops stay safe.
Upload once, get a hosted link back, and reuse it across as many posts and platforms as you like.
Status, attempts, and analytics tell you what actually published, what failed, and how it performed.
Because it is just a command, posting fits anywhere a command runs, your shell, cron, or a release pipeline.
One schedule file targets every connected account. Validate the batch, then apply, and every platform goes out together.
$ socialclaw validate -f week.yaml --json
Schedule valid: 12 post(s) | mode=scheduled | model=posts_v1
$ socialclaw apply -f week.yaml --json
Run run_4d81mzqv created (12 post(s), model=posts_v1)
Drop apply into a crontab with an idempotency key and a weekly post publishes itself. A rerun never posts it twice.
# every Friday 9am, weekly digest
0 9 * * 5 socialclaw apply \
-f ~/social/friday.yaml \
--idempotency-key wk-$(date +%V) --json
Post from GitHub Actions the moment you cut a release, so the announcement goes out in the same workflow as the code.
- name: Post release
run: |
npm i -g socialclaw
socialclaw apply -f .social/release.yaml
env:
SOCIALCLAW_API_KEY: ${{ secrets.SC_KEY }}
Connect accounts, upload media, schedule campaigns, and read the results. Every step has a command, and every command takes a json flag.
# AUTH
socialclaw login --api-key <key>
# SCHEDULES AND CAMPAIGNS
socialclaw validate -f <schedule.yaml|json> dry run before publish
socialclaw apply -f <schedule.yaml|json> schedule or publish, --idempotency-key
socialclaw campaigns preview -f <schedule> see exactly what goes out
socialclaw publish-draft --run-id <id> release a held draft
# POSTS AND RUNS
socialclaw posts list filter by run, status, account
socialclaw posts attempts --post-id <id> every attempt, error, and retry
socialclaw status --run-id <id> delivery state of a run
socialclaw retry / cancel --post-id <id>
# ACCOUNTS
socialclaw accounts list
socialclaw accounts capabilities media shapes and text limits
socialclaw accounts connect --provider <p>
# MEDIA, ANALYTICS, AND WORKSPACE
socialclaw assets upload --file <path> hosted url for any post
socialclaw analytics post|account|run
socialclaw analytics refresh --post-id <id> pull fresh provider stats
socialclaw usage / workspace health
# AGENT INTEGRATIONS
socialclaw install --claude wire into Claude Code
socialclaw mcp stdio MCP server
Simply install the skill with this command




JSON output and validate before publish make the CLI an easy thing to hand to Claude, Codex, or OpenClaw.
Wires the CLI into Claude Code, so you can just ask it to post the release notes to every platform.
$ socialclaw install --claude
Runs a stdio MCP server for Claude, Cursor, and other MCP clients, using the same workspace and the same connected accounts.
$ socialclaw mcp
Same workspace, same connected accounts, on whichever surface fits what you are building.
Real quotes from Reddit, G2, Trustpilot, and Instagram.
“I can prepare the content once and let SocialClaw handle the distribution.”
“If SocialClaw sees this just know you changed my entire workflow girl.”
“Since I try market my iOS apps, definitely SocialClaw… because then Claude can post to social media for me.”
“Most schedulers still feel like old calendar tools with an AI caption button added on top. SocialClaw feels more built around the newer AI era.”
“SocialClaw if you want to schedule posts to social media.”
“SocialClaw handles the repetitive publishing work: uploading media, managing connected accounts, scheduling posts, publishing them, and retrying when something fails.”
“I used to use stuff like Buffer etc, but I use SocialClaw with my AI agent. I just tell it to schedule like 100 videos for the next month.”
“It has an OpenClaw skill, or use it via API, CLI, or even the web dashboard.”
“I have it install the SocialClaw skill, linked my social media accounts, and it actually has approval to post on my socials for me.”
Connect once, then schedule and publish everywhere from the same workspace.
Run socialclaw login with your workspace API key. It is saved locally and reused by every command after that, so you only enter it once per machine.
Yes. Run socialclaw validate on your schedule file first. It checks the whole campaign against provider rules and reports back without publishing anything. Run socialclaw apply on the same file once you are happy with it.
Yes. Every command accepts a saved API key and a flag for output a script can parse, so socialclaw apply fits cleanly into a cron job, a GitHub Action, or any other unattended pipeline.
Pass an idempotency key with socialclaw apply. Running the same script again with the same key returns the original run instead of creating a second one, so retries and rerun cron jobs stay safe.
Yes. socialclaw assets upload takes a local file and returns a link you can reuse as the media for as many scheduled posts as you like, on any platform.
Yes. socialclaw install with the claude flag wires the CLI straight into Claude Code, and socialclaw mcp starts a stdio MCP server for Claude, Cursor, and other MCP clients, so an agent can drive it without you typing the commands yourself.