Error reference

Bluesky API errors and troubleshooting

Review Bluesky and AT Protocol errors for session tokens, PDS host mismatch, record validation, blob uploads, text length, moderation, rate limits, and delayed propagation. Use this page to decide whether to reconnect, write through the correct PDS, compress media, or retry later.

Last updated: May 2026

10 documented error patterns across 5 categories

Clear guidance on reconnecting, retrying, replacing media, or changing content

Official platform references plus bundle.social production troubleshooting notes

Error categories

Find the failure type first

10 documented errors

All error codes

Codes, causes, and fixes

Authentication

3 mapped cases

Authentication
invalid tokenReconnect

Bluesky rejected the session token.

Reconnect the account and create a fresh session with the user's PDS.

refresh-token
expiredReconnect

The Bluesky session expired.

Reconnect or refresh the session before writing records.

refresh-token
unauthorizedReconnect

Bluesky authentication failed.

Verify the handle, app password, and authenticated PDS host.

refresh-token

Rate Limiting

2 mapped cases

Rate Limiting
rate limitRetry later

Bluesky rate limited the request.

Retry after a delay and reduce rapid record writes.

retry
too many requestsRetry later

Bluesky received too many requests.

Queue writes and use exponential backoff.

retry

Moderation

2 mapped cases

Moderation
blockedFix input

Bluesky moderation blocked the content.

Change the content to comply with Bluesky community rules.

user-error
moderationFix input

Moderation filters flagged the post.

Remove spam, harassment, or policy-sensitive content before retrying.

user-error

Media

2 mapped cases

Media
blob too largeFix input

The uploaded blob exceeds Bluesky media limits.

Compress the image and retry with a smaller file.

user-error
blob invalidFix input

The uploaded blob is invalid or corrupted.

Re-export the media as a supported image file.

user-error

Content

1 mapped case

Content
text too longFix input

The Bluesky post text exceeds character limits.

Shorten the post or split it into a thread.

user-error

Invalid record or upload

The PDS validates record schemas and media limits. Oversized images or invalid post records fail before they reach the app view.

Service outage or delayed propagation

Bluesky has multiple services. A write can succeed while an app-view or feed service is temporarily delayed.

Bluesky failures can come from the user's PDS

Bluesky uses AT Protocol, so publishing depends on the user's personal data server, session state, record validation, blob upload limits, moderation checks, and app-view propagation. A post can be written successfully but appear delayed in the app view.

Check record writes before assuming the post failed

For transient Bluesky errors, confirm whether the record exists in the user's repository before creating a duplicate post. Some failures are visibility or propagation delays rather than failed writes.

How bundle.social helps

bundle.social groups Bluesky failures by session auth, PDS host, record validation, blob media, moderation, rate limits, and app-view propagation so failed posts are easier to reason about.

Retry safety

Retry only temporary platform failures, processing delays, timeouts, 5xx responses, and rate-limit errors after the platform allows it. Do not retry the same request when the failure is caused by expired tokens, missing permissions, unsupported media, invalid captions, duplicate content, account restrictions, or policy blocks. The same payload will usually fail again until the account, media, content, or platform-specific setting is fixed.

Official references

Platform APIs change. Use these links to confirm current error behavior and field support.

FAQ

Can Bluesky API error messages change over time?

Bluesky errors depend on the user's PDS, AT Protocol record schema, blob limits, moderation systems, and app-view propagation. Confirm the service host and record write stage before assuming a post failed.

Should users reconnect the account for every failed post?

No. Reconnect Bluesky for invalid sessions or authentication failures. For record schema, blob size, text length, moderation, rate limit, or propagation issues, fix the payload or wait before writing again.

Does bundle.social hide the native platform error?

bundle.social keeps the AT Protocol response available and clarifies whether the problem is auth, PDS routing, record shape, blob upload, moderation, or delayed visibility.

Build with less platform drag

Use one API for social publishing workflows

Create account