How to schedule Bluesky posts in 2026
Bluesky has no built-in scheduler. The app only lets you post right now. To schedule Bluesky posts, you connect your account to a scheduling tool with a Bluesky app password, a scoped, revocable credential you create in settings and never your main password. The tool then publishes each post on time over the AT Protocol.
Can you schedule Bluesky posts natively in the app?
No. This is the honest starting point most guides skip. Bluesky has no native scheduling in the app or on the website. You write a post and it goes out immediately, or not at all. There is no “schedule for later” button, no draft-and-queue calendar, nothing server-side that holds a post until a set time. If you want a post to go out on Tuesday at 9am while you are asleep, the app cannot do it for you.
That is not a knock on Bluesky. It is a young network built on an open protocol, and scheduling simply is not a first-party feature yet. But it means the only way to schedule Bluesky posts is to connect your account to an outside tool that can publish for you at a chosen time. The good news: Bluesky’s open design makes that connection clean and safe, as long as you use the right credential.
How does a scheduler connect to Bluesky?
A scheduler connects to Bluesky using an app password, not your main password. This is the single most important detail, and it is the one to get right for your account’s safety. An app password is a separate credential Bluesky lets you create for exactly this purpose: it is scoped, it is revocable, and handing it to a tool never exposes your real login. Here is how you set it up:
- Open Bluesky settings. In the Bluesky app or on bsky.app, go to Settings, then App passwords.
- Create a new app password. Give it a name you will recognize later, such as “PostDodo,” and Bluesky generates a one-time credential in the format xxxx-xxxx-xxxx-xxxx.
- Never use your main password. Your main password logs into your whole account. An app password only lets a connected tool post on your behalf, and you can revoke it any time without changing your real login.
- Paste your handle and the app password into the scheduler. Give it your handle (for example name.bsky.social, or your own custom domain) plus the app password. A good tool stores an encrypted session token, not the password itself.
That is the whole connection. Because the app password is scoped and revocable, you stay in control: if you ever want to cut a tool off, you delete that one app password in Bluesky settings and it stops working instantly, with no effect on your account or your other connections.
How do you schedule a Bluesky post step by step?
Once your account is connected with an app password, scheduling a post is quick. The flow is the same in any honest tool. In PostDodo it looks like this:
- Write your post. Compose your text, reply, or thread, and attach up to four images if you want. Keep it within the 300-character limit (more on that below).
- Pick a future time. Choose the date and time you want it to go out, ideally inside a window when your audience is active.
- Queue it. Add it to your schedule alongside anything else you are posting. You can line up a week of Bluesky posts in one sitting.
- Let the tool publish it. At the set time, the scheduler publishes your post directly to Bluesky over the AT Protocol, whether or not your device is on.
- Confirm it went live. This is the step people forget. A confirming tool reads back the post’s own live link on bsky.app as proof it published, instead of just showing you a hopeful checkmark.
If you also post to Threads and Mastodon, scheduling all three together is worth setting up in one pass. Scheduling Bluesky, Threads, and Mastodon together covers that wider workflow; this guide stays focused on Bluesky.
Manual posting vs a Bluesky scheduler
Since there is no native scheduler, the real choice is posting by hand in the moment versus queueing ahead with a tool. Here is the straight comparison.
| What you need | Manual posting in the Bluesky app | A scheduler (PostDodo) |
|---|---|---|
| Schedule ahead of time | No, you can only post right now | Yes, queue any future date and time |
| Cost | Free | Flat from $25/mo, no per-channel or per-seat fee, 7-day free trial |
| Networks covered | Bluesky only | All 10 networks live to connect, one composer |
| 300-character counter | You watch it yourself | Live 300-character counter as you type |
| Proof a post published | You check by hand | Confirmed live-link receipt per post (a bsky.app URL) |
| Auto-retry on failure | No | Yes, with backoff |
| App-password alerts | No | Yes, warns before your connection stops working |
| Best for | One post, right now | Planning ahead, many networks, or needing proof it published |
What is special about scheduling for Bluesky?
Bluesky is not just X with a new coat of paint, and two of its quirks change how you schedule. Get these right and your queued posts land clean:
- The 300-character limit is real, and counted as graphemes. A Bluesky post caps at 300 characters, more headroom than X’s 280. It counts graphemes, not bytes, so an emoji or an accented letter is a single character. Write to 300, not to an old 280 habit, and a live counter keeps you from getting cut off.
- The feed leans chronological. Bluesky’s default timeline is closer to reverse-chronological than a heavy ranking algorithm, so when you post moves the result more than on ranked feeds. A missed or late post does not get resurfaced later; it is simply gone. That makes both timing and confirmation matter more here.
- Link cards and images render natively. Attach a link or up to four images and Bluesky shows them properly, so a scheduled post looks intentional rather than like a dumped URL.
- Custom-domain handles work fine. Whether your handle is on bsky.social or your own domain, scheduling works the same way once the app password is connected.
Because timing carries more weight on a chronological feed, it is worth posting into your audience’s active window rather than whenever you happen to write. The best time to post on Bluesky in 2026 gives you a solid starting hypothesis per day, which you then refine from your own account’s data.
How do you confirm a scheduled Bluesky post went live?
After the scheduled time, the honest move is to check the post is actually there and opens. That matters because a scheduled Bluesky post can fail quietly for ordinary reasons: the app password was revoked or stopped working, the session expired, the media was off-spec, or you hit a rate limit. On a chronological-leaning feed, a post that fails silently is not just late, it never reaches anyone.
The fix is confirmation, and it is the whole idea behind PostDodo. PostDodo publishes straight to Bluesky over the AT Protocol, the open standard Bluesky itself runs on, not through a third-party bridge or relay. The moment a post goes out, it reads back the post’s own live link on bsky.app and saves it as a receipt, so you have proof, not hope. A transient network hiccup auto-retries with backoff instead of dropping the post, and you get warned before your app password stops working and breaks the queue. If a post ever does go missing, why your Bluesky post is not publishing walks through the seven real causes and their fixes.
Should you schedule Bluesky posts manually or with a tool?
- Post manually if: Bluesky is your only network, you post a few times a week in the moment, and you never need to plan ahead or prove a post went out. It is free and it works.
- Use a tool if: you want to queue posts in advance, post to other networks too, or need confirmed publishing with a live-link receipt, auto-retry, and app-password alerts. There is no native scheduler, so a tool is the only way to schedule at all.
- Either way: connect with an app password, never your main password, write to the 300-character limit, aim for your audience’s active window, and check the post actually published.
If Bluesky is one piece of a wider posting habit, the real win is scheduling it in the same place as everything else, and because PostDodo pricing is flat with no per-channel tax, adding Bluesky next to your other networks does not raise your bill. See the flat pricing and the full network list on the Bluesky scheduler page.
Want Bluesky scheduling with proof every post went live, plus your other networks in one flat-priced calendar? Bluesky is live to connect in the PostDodo Bluesky scheduler today, so start a free 7-day trial, connect your handle with an app password, and every post carries a confirmed live-link receipt. Card required, no charge until day 8. Or see the features and the pricing first.
Frequently asked questions
Does Bluesky have a built-in post scheduler?
No. The Bluesky app has no native scheduling. It only lets you post right now. To schedule ahead, you connect Bluesky to a scheduling tool over the AT Protocol using an app password, and the tool publishes the post on your behalf at the time you set.
What is a Bluesky app password and why use one?
An app password is a separate, scoped, revocable credential you create in Bluesky Settings, App passwords. You give it to a scheduler instead of your main password, so the tool can post for you and you can revoke that access any time without ever changing your real login.
How do you schedule a Bluesky post step by step?
Create an app password in Bluesky settings, connect your handle and that app password to a scheduler like PostDodo, write your post within 300 characters, pick a future time, and queue it. PostDodo publishes it over the AT Protocol and saves the live post link back as proof.
What is the Bluesky character limit?
Bluesky caps a post at 300 characters, counted as graphemes, so an emoji or accented letter counts as one. That is more room than X's 280. A good scheduler shows a live 300-character counter as you write, so a post is never cut off or rejected for length.
How do you know a scheduled Bluesky post actually published?
Because the Bluesky feed leans chronological, a missed post is gone for good, so proof matters. A confirming tool reads back the post's own live bsky.app link after publishing, auto-retries a transient failure, and warns you before your app password stops working.
Can you schedule Bluesky posts with PostDodo today?
Yes. Bluesky is live to connect in PostDodo today. Connect your handle with an app password, schedule alongside Mastodon, Facebook, Instagram, Threads, X, LinkedIn, TikTok, YouTube, and Pinterest, and every post gets a confirmed live-link receipt. Pricing is flat from $25 a month on a 7-day free trial.