Post to Bluesky from Claude Code

Attach PostWharf to Claude Code once, then publish or schedule Bluesky posts, threads and images by asking for them — and get a receipt saying what actually landed.

Connect it

The same MCP server, added from the terminal and available to every session in that project. One workspace key scopes every call to a single brand, so Claude Code can only ever reach the accounts in that workspace — not every account you run.

claude mcp add --transport http \
  wharf https://mcp.postwharf.com/mcp \
  --header "Authorization: Bearer $POSTWHARF_KEY"

Ask for a Bluesky post

Once the server is attached the ask is a prompt, or a line in a release script, not a form — from the terminal, in the repository the release is being cut from:

"Post this announcement to Bluesky now and tell me the URL."

Claude Code finds your connected Bluesky channel, checks the text against the 300-character ceiling before anything is queued, and hands back the queued time. Nothing publishes because a model decided it should.

This is the one client where the post can be a step in something else — cut the release, then announce it, without leaving the shell. Keep the workspace key in your environment rather than in a file the repository tracks.

What Bluesky accepts

Character limit300
Counted onone post
Formatsposts, threads and images

Connects in about a minute with an app password you create yourself — no review or audit to wait out.

What comes back

Every post carries a delivery receipt per channel: the state, the live URL once it is out, and the platform's own reason if it failed. Deliveries are re-checked after publishing, so a Bluesky post removed later stops reporting as live instead of sitting in your history as a success. Ask Claude Code for the status and it reads that receipt back rather than guessing.

Questions

Can Claude Code post to Bluesky automatically?

Yes. Connect the PostWharf MCP server to Claude Code and it can publish or schedule to a connected Bluesky channel, then read the delivery receipt back. The workspace key limits it to the accounts in one workspace, and you keep the approval step.

What do I need before Bluesky will work?

Connects in about a minute with an app password you create yourself — no review or audit to wait out. Once the channel is connected in PostWharf, Claude Code reaches it the same way it reaches every other network.

How long can a Bluesky post be?

300 characters, counted on one post. PostWharf checks that before the post is queued, so an over-length post is refused immediately rather than failing at Bluesky after everything else in the same batch has already published.