Scheduling posts

Schedule posts to Bluesky, X, Mastodon and LinkedIn with plain words like "tomorrow 9am". Threads, drafts, time zones and missed posts.

--at sets when a post goes out. Without it, it publishes now.

Times

--atMeans
2026-10-05T09:00:00ZThat moment
"tomorrow 9am"9:00 tomorrow
"in 2 hours"Two hours from now
"fri 17:30"Coming Friday, 17:30
"next monday 8:00"Monday next week, 8:00
statuz posts create --text "Office hours in 10 minutes" --to mastodon --at "fri 14:50"

Time zones

Words use your computer's zone. Override per post or for all:

Terminal
statuz posts create --text "Good morning, Lisbon" --to x --at "tomorrow 8am" --timezone Europe/Lisbon
statuz config set --key timezone --value America/Sao_Paulo

IANA names only. Posts are stored in UTC, so changing the setting doesn't move scheduled posts.

Threads

One --text per post, up to 25:

Terminal
statuz posts create --to bluesky --at "tomorrow 10am" \
  --text "1/ What we changed in v2" \
  --text "2/ One CLI for every platform" \
  --text "3/ Agents can drive it directly"
  • Each post is checked against every destination's limit before saving. On Cloud, a photo over a size limit is shrunk for that platform instead.
  • --media attaches to the first post. For media on later posts, pass the thread as JSON with --input (CLI reference).
  • A post without media that has a link gets a link card (title, description, image) on Bluesky and LinkedIn. When the link ends the post, they get the card without the URL in the text, as their own composers do. X and Mastodon make their own cards.

Drafts

Terminal
statuz posts create --text "Idea for later" --draft
statuz posts edit --id <id> --no-draft --at "mon 9am"
statuz posts publish --id <id>

Drafts never publish on their own.

Queue

Terminal
statuz posts list --status scheduled
statuz posts list --from today --until "next monday"

Edit, move, delete

Terminal
statuz posts edit --id p_k3m9x2abqe --at "fri 10:00"
statuz posts edit --id p_k3m9x2abqe --text "Fixed typo"
statuz posts delete --id p_k3m9x2abqe
statuz posts delete --id p_k3m9x2abqe --keep-on-platforms
  • Passed fields replace the old ones. Published posts can't be edited.
  • --at in the past publishes on the next check.
  • Delete takes a published post down from every platform it went out to, the whole thread, then removes it from Statuz.
  • If a platform refuses, the post stays in Statuz with only that copy. Delete again to retry.
  • --keep-on-platforms only removes it from Statuz.

Missed posts

Locally, the daemon (statuz start) publishes. If your computer is off or asleep at post time:

  • Back within 60 minutes: it goes out late.
  • Later: marked missed. It waits for you.
Terminal
statuz posts publish --id p_k3m9x2abqe
statuz posts edit --id p_k3m9x2abqe --at "tomorrow 9am"

Statuz Cloud publishes on time either way.

Failed posts

  • One failing destination doesn't stop the others.
  • Network errors and rate limits retry with backoff.
  • statuz posts get --id <id> shows each destination's result.
  • statuz posts publish --id <id> retries only what failed. Nothing posts twice.