Why are my Mastodon posts not publishing?

Mastodon posts usually fail for one of seven reasons: a revoked access token, your instance being down or migrated, a character limit your instance sets, media outside its limits, a rate limit, an account move that broke the connection, or a scheduler queue that never fired. Reconnect the account, check your instance, then re-post.

Mastodon adds a twist the other networks do not have: it is federated. Your account lives on one specific server, and that server decides the rules. This guide walks through every real cause, how to spot it in minutes, and how a confirmed-publish receipt turns a silent failure into a clear alert.

Likely causeHow to tellFix
Revoked or dead tokenPosts that worked for weeks all stop at once; the account shows “reconnect”.Reconnect the account to get a fresh token, then test one post.
Instance down or migratedYour instance’s own website is slow, erroring, or gone; every app fails, not just the scheduler.Wait out downtime, or reconnect if the instance changed domains. If it shut down, migrate.
Over the character limitLong posts fail while short ones publish. Default is 500, but your instance sets its own.Trim below your instance’s limit or split it into a thread.
Media breaks instance limitsA specific image or video fails while text posts go through.Use common formats, compress the file, and check your instance’s limits.
Instance rate limitBursts of posts fail with temporary errors; single posts work fine.Space posts out and retry after the window clears.
Account moved to another instanceFailures started right after you migrated your account.Reconnect the new account on the new instance. Tokens do not move with you.
Scheduler queue not firingThe post sits “scheduled” past its time with no error, or shows sent with no live link.Use a scheduler that confirms each post with a live link and retries failures.

Mastodon instances set their own limits and run different versions. Confirm your instance’s numbers on its about page or in its API before relying on them.

Why do Mastodon posts fail silently?

A scheduler cannot push a post onto Mastodon directly. It sends a request to your instance’s API, and the instance decides whether to accept it. Many tools fire that request and assume success. If the instance rejects it, the post never appears, but your dashboard still shows a green check. Mastodon makes this worse because there is no single “Mastodon server”: thousands of independent instances run different versions, different limits, and different uptime. A tool that treats them all as one uniform platform will misfire. Close the gap between “we sent it” and “the instance confirmed it” and the causes below become easy to catch.

Is your access token revoked or dead?

When you connect a Mastodon account, your instance issues an access token that lets the tool post for you. That token stops working if you remove the app in your instance’s settings, run a security reset, or the instance invalidates its sessions.

Is your instance down, overloaded, or migrated?

This is the Mastodon-specific cause most guides skip. Your account lives on one server, run by one admin or team. If that server is in maintenance, overloaded, moving to a new domain, or shut down for good, no scheduler on earth can post to it. Smaller instances go through this more often than the big ones.

Is your post over the instance’s character limit?

Mastodon’s default limit is 500 characters per post, but it is a server setting, not a platform rule. Some instances keep 500, others run far higher. A post over your instance’s limit gets rejected by the API, and a tool that assumes every instance is identical gets this wrong in both directions.

Does your media break the instance’s limits?

Media limits also vary by instance and by the Mastodon version it runs. An oversized video or an unusual format can be rejected while your text posts sail through, and the error is not always clear.

The fix is to keep media boring: common formats like JPEG or PNG for images and MP4 for video, compressed to a sensible size. A good scheduler validates the file against your instance before it queues, not at publish time when it is too late.

Did you hit a rate limit?

Every instance rate limits its API. Fire too many requests in a short burst, say a bulk queue or a cross-posting spike, and the instance returns temporary errors until the window clears. The posts are fine; the timing is not.

Did you move your account to another instance?

Mastodon lets you migrate an account and take your followers with you. What does not move: your API connections. The token your scheduler holds belongs to the old account on the old instance, so posts either fail outright or land on an account your followers no longer watch.

Is the scheduler queue itself not firing?

Sometimes the instance never got asked. The tool’s own queue stalls, the job silently errors, or the post is marked sent without anyone checking the instance accepted it. You see “scheduled” long past the publish time, or a green check with nothing live on your profile. That is a tool problem, and the fix is a tool that treats a post as unpublished until proven live.

How do you diagnose a failed Mastodon post in 60 seconds?

Run these in order and you will usually find the cause fast:

How do you confirm a Mastodon post actually published?

Every cause above is survivable. What turns it into lost reach is not knowing it happened. That is the problem PostDodo is built around. It connects to Mastodon directly, on any instance you name, and a post is not counted as published until the instance confirms it and hands back a live link you can click.

The same confirmed-publish receipt covers all 10 platforms PostDodo supports: Bluesky, Mastodon, Facebook, Instagram, Threads, X, LinkedIn, TikTok, YouTube, and Pinterest.

Where we are honest about fit: PostDodo cannot bring a downed instance back, raise its limits, or post from an account that has moved. No tool can. What it does is surface the real reason the moment it happens, retry what is safe to retry, and prove what actually went live.

Frequently asked questions

Why did my Mastodon scheduled post fail to publish?

Usually one of seven things: a revoked access token, your instance being down or migrated, a post over the instance’s character limit, media outside its limits, a rate limit, an account move that broke the connection, or a scheduler queue that never fired. Check the connection first, then the instance itself.

Does Mastodon have a built-in post scheduler?

Mastodon’s API supports scheduled posts, but the standard web interface does not give you a scheduling queue. Most people schedule through a third-party tool or a client app. Whichever you use, make sure it confirms the post actually went live on your instance.

What is Mastodon’s character limit?

The default is 500 characters per post, but every instance can set its own limit, and many run higher. Your instance’s about page or API lists the real number. A scheduler should check your instance’s limit before queueing, not assume 500.

Do Mastodon access tokens expire?

They generally last until something revokes them: you removing the app in your instance settings, a security reset, or the instance itself invalidating sessions. When posts that worked for weeks all stop at once, treat it as a dead token and reconnect the account first.

I moved my account to a new instance. Why did my scheduled posts stop?

Migration moves your followers, not your API connections. The access token your scheduler holds belongs to the old account on the old instance. Reconnect your new account on the new instance and rebuild the queue there.

Can a scheduler post to any Mastodon instance?

Yes, if it lets you enter your instance domain when connecting. Mastodon is federated, so a tool that only supports one big instance covers a fraction of accounts. PostDodo connects to any instance directly and confirms each post with its live link.

Tired of guessing whether a post really went out? Start a free 7-day trial, connect your Mastodon instance, and watch a post publish with a live-link receipt. Card required, no charge until day 8. See what the Mastodon scheduler does and check pricing: flat, with no per-seat or per-channel fees.