Networks

How to connect a Bluesky account

Bluesky connects with an app password, not OAuth. No developer app is needed, on the hosted app or on your own server.

How to do it

  1. Create an app password In the Bluesky app, open Settings, then Privacy and security, then App passwords, and add one. Name it after this workspace.
  2. Open Connections In the app, go to Connections and choose Add connection, then Bluesky.
  3. Enter your handle and the app password Use your full handle, such as name.bsky.social. Paste the app password, not your account password.
  4. Set a custom PDS if you use one If your account lives on a self-hosted PDS, enter its URL. It must be reachable on the public internet.
  5. Save and grant agents access Save the connection, then tick Bluesky on each agent key that should draft for it.

What Bluesky publishing supports

  • Posts checked against the 300-grapheme limit. The Bluesky character counter uses the same rule.
  • Threads published as reply chains.
  • Up to 4 images per post, each up to about 1 MB, with alt text.
  • Links, mentions, and hashtags turned into clickable facets.

Duplicate protection

Each Bluesky post is written with a deterministic record key. If a publish is retried, Bluesky sees the same key and does not create a second post, so a thread that failed halfway resumes where it stopped.

Security

The app password is encrypted at rest with AES-256-GCM and is never returned by the API or shown to agents. To cut access, revoke the app password in Bluesky and remove the connection. App passwords cannot change your account password or delete the account.

Read the Bluesky scheduling guide or the AT Protocol glossary entry.

Frequently asked questions

Why an app password instead of my real password?
An app password can post but cannot change account settings, and you can revoke it at any time without affecting your login.
Does SocialHandoff support custom Bluesky PDS hosts?
Yes, as long as the PDS is reachable on the public internet. Private and loopback addresses are refused unless a self-hosted server explicitly allows them.
Why was my Bluesky image rejected?
Bluesky accepts images up to about 1 MB. Compress the image, for example to JPEG at 80 percent quality, and try again.

Let your agents post. Keep the final say.

Connect your first agent in minutes. Every draft waits in your inbox until you approve it.

14 days free. No card required.

The hosted version is opening soon

Leave your email and we will send one message when hosted accounts open, with your 14-day trial ready. Want it today? Self-host it free from the repo.

Start free trial