CapraBrand · guide
How to schedule Bluesky posts
Bluesky still has no built-in scheduler — the feature request has been open on their GitHub since July 2024 with no timeline (as of September 2026). Until it ships, scheduling means a third-party tool holding your post and publishing it for you. Ours does that on the free plan; here is how, and — since you are trusting a tool to speak as you — exactly what it does and does not do.
The steps
- Create an app password on Bluesky — bsky.app → Settings → App Passwords. This is Bluesky's own mechanism for third-party tools: it is not your main password, and you can revoke it any time without touching your account.
- Connect it — in CapraBrand's settings, add your handle (you.bsky.social) and that app password. Free plan connects two networks.
- Write and schedule — compose up to 300 characters, pick a time, done. A queue worker checks every minute, so your post normally goes out within a minute or two of the time you chose.
- Check the result — the schedule page shows each post's outcome per network, with a link to the live post when it succeeds and the actual error when it does not.
One detail most tools get wrong
Links in Bluesky posts are not automatically clickable — Bluesky's format requires the posting tool to mark each link's exact position in the text (byte-precise, in UTF-8, which is where lazy implementations break on accents and emoji). We compute those markers properly, so URLs in your scheduled posts are real links. If you have ever seen a scheduled Bluesky post with a dead, unclickable URL in it, that is a tool that skipped this step.
What ours doesn't do yet — read before relying on it
Scheduled Bluesky posts are text only today: no image attachments, no alt text, no multi-post threads. If your Bluesky presence is image-led — most artists' is — a text-only queue may not be enough for you yet, and tools like Buffer do schedule images to Bluesky. We would rather you know that now than find out after connecting. What you get in exchange is a scheduler inside a brand kit, a genuinely free tier (5 posts a month, 2 networks, no card), and flat pricing that never meters your seats.
When it fails, it says so
A scheduled post that fails shows you which network failed and the real reason — a bad app password reads “Bluesky auth failed — check identifier and app password”, not a spinner. Full failures retry automatically with backoff; a post that partially succeeded is never auto-retried, because re-sending the network that already posted would duplicate you. Boring honesty, but it is the difference between trusting a queue and babysitting one.
Queue your first post
Free plan: 1 brand, 2 networks, 5 posts a month. No card, and the price of the paid plans is locked for life for the first 100 founding subscribers.
Start freeClaims about Bluesky's missing native scheduler verified September 2026 against their public issue tracker and current third-party guides; if you are reading this later, check whether that has changed. Claims about CapraBrand are read from our own code — including the text-only limitation above.