Blog/Guides

How to schedule Bluesky posts in 2026

Bluesky still has no scheduler of its own. Here is how to get posts going out on a schedule, including the app password step that stops most people.

PD
PostDaily
· 8 min read
Blue post cards flowing from an abstract feather into a calendar and clock

Bluesky has no built-in scheduling. Not on the website, not in the mobile app. There is an open feature request and no committed timeline, so if you want a post to go out at 8am on Thursday without being awake for it, you need something outside Bluesky.

That part is simple. The part that stops people is the next screen, where a tool asks for an app password and it is not obvious whether that is a normal thing to hand over. So this guide covers the whole path, including that.

What you need

Two things: a tool that supports Bluesky, and an app password from your Bluesky account. No developer account, no API key, no waiting for approval.

Unlike most networks, Bluesky does not use a redirect-and-approve flow today. Instead of bouncing you to Bluesky to click Allow, the tool asks for your handle and an app password you generate yourself. It feels less familiar than an OAuth screen, and it is genuinely different, so it is worth understanding rather than clicking through.

Creating an app password

In the Bluesky app or website, open Settings → Privacy and Security → App Passwords and add one. Bluesky moves its settings around occasionally; if it is not there, search the settings for app password.

  • Name it after the tool. You will end up with several. A list of unnamed passwords is a list you cannot safely prune later.
  • Leave the direct messages checkbox off unless the tool genuinely needs to read your DMs. A scheduler does not.
  • Copy it immediately. It is shown once, as four groups of four characters. Paste it exactly as given, hyphens included.

The short version of why this is safe: an app password cannot delete your account, cannot migrate it to another server, and cannot create more app passwords. You can revoke any one of them at any time without touching your real password. If you want the longer version — including how to judge whether a tool deserves one — I wrote a separate piece on exactly that.

Writing a post Bluesky will accept

Bluesky allows 300 characters and up to four images. The 300 is where it gets interesting, because Bluesky does not count the way a naive text box counts.

It counts grapheme clusters — what a human sees as one character. A family emoji is one character to Bluesky even though it is assembled from several code points joined together. An editor that counts the underlying units will tell you a post is far longer than it is, and reject something Bluesky would have accepted.

There is also a separate byte ceiling underneath the 300. For a long post carrying a lot of emoji or non-Latin script, that byte limit is usually what you hit first, which is why a post can be under 300 characters and still be refused.

Practical version: if a tool tells you a post fits and Bluesky then rejects it, the tool is counting wrong (there is a breakdown of how each network counts if you want the detail). That is a real difference between schedulers and worth testing with one emoji-heavy post before you trust one with a month of content.

Threads

A Bluesky thread is a chain of posts, each a reply to the one before. Scheduling one means the whole chain has to publish in order, with each segment's images attached to the right post.

Two approaches exist and they are not equivalent. Some tools take one long block of text and split it automatically at 300 characters, which breaks sentences in unfortunate places and gives you no way to attach an image to segment three. Others let you write each segment yourself. If threads matter to you, check which one you are getting before committing — and there is more on writing them well.

Why timing matters more on Bluesky

This is the part most scheduling advice gets wrong by copying itself across networks. Bluesky's default Following feed is chronological. There is no ranking model deciding to resurface a good post six hours later because it is performing well.

"On an algorithmic network a badly timed post can still be rescued. On a chronological one, if your followers were not looking, the post effectively did not happen."

That makes scheduling a different job here — and it is why the Bluesky scheduling page leans on per-channel time grids. It is not about squeezing more posts out — it is about landing them in the windows your followers are actually reading. Which also means generic best-time advice is close to useless: what matters is when your followers are awake, and that is worth watching for a couple of weeks before settling into a pattern.

A sensible first week

  • Schedule one post, not thirty. Confirm it actually goes out and looks right.
  • Try one emoji-heavy post to see whether the character counter and Bluesky agree.
  • Vary the times deliberately for a week or two rather than picking a slot on day one.
  • Check what happens when something fails. A connection expires eventually. Find out now whether your tool tells you, or whether posts just quietly stop.

That last one sounds pessimistic and is the most useful test on the list. Every scheduler works when nothing goes wrong.

PD
PostDaily
Written by the people who build PostDaily's publishing engine. About PostDaily