Skip to main content

What it checks

text.trim().length > 0. Bluesky requires a non-empty post body — there’s no “image-only with no caption” surface like there is on Instagram.

Why

Bluesky’s app.bsky.feed.post record requires a text field. Sending an empty string or whitespace produces a record that’s syntactically valid but semantically broken; Bluesky’s appview hides empty posts from feeds.

Failure response

Remediation

Send any non-whitespace text. If you want a media-only experience, attach the image and use a brief caption like the file name.