New

Cross-Post to Bluesky

Connect Bluesky with just your handle and send the same post to both networks from one draft.

  • Connect with your handle and one approval, no API key and no app password
  • One draft goes to X and Bluesky, with the queue, calendar and threads unchanged
  • Turn on auto cross-post once, or pick the networks per post
  • Each network gets a real post of its own, never a link back to your tweet
  • Publishing reports what every network did, so you can retry only what failed

OpenTweet now posts to Bluesky. Go to Cross-posting, type your handle, approve it on Bluesky, and you are connected. There is no developer account to apply for, no API key to paste and no app password to generate, because Bluesky does not issue any. It is free on their side too, so nothing here costs you extra.

Everything you already do keeps working exactly as it did. The same composer, the same queue, the same calendar, the same scheduled times. Threads go out as threads. Your drafts, your evergreen queue and your connectors all publish to both networks without you changing a thing, and the API and MCP server accept a platforms field on a post if you want to choose targets from an agent.

You can flip on auto cross-post so everything you publish lands on both networks by default, or leave it off and pick the targets on each post. X stays the network OpenTweet is built around. Bluesky is a mirror of what you post there, not a second app to run.

The networks disagree on the details, so we handle that for you. X counts 280 characters and weights links and emoji its own way, Bluesky counts 300 graphemes. Images get resized to fit what Bluesky accepts, alt text carries over, and links, mentions and tags come out as real links instead of dead text. If a post genuinely does not fit one network, it is skipped there with a plain reason and still goes out everywhere it does fit.

When you hit publish you now get a per network result instead of a modal that closes and hopes for the best. If X went out and Bluesky did not, you see that, and you can retry just the network that failed without double posting to the one that already took it.

One thing that is not there yet: video does not go to Bluesky, so a post with a video publishes to X only and tells you why. More networks are coming. LinkedIn and Threads are next, and the groundwork that made Bluesky possible means each one is a much smaller job than the first.