OAuth errors and how to fix them
When the desktop app reports an OAuth failure, the error code tells you what's wrong. Here are the ones you'll actually run into.
invalid_grant — refresh token expired or revoked
Most common cause: you (or a teammate) revoked the app's access on the platform's security page.
Fix:
- Open the desktop app's Accounts screen
- Find the affected account — it'll have a red Reconnect badge
- Click Reconnect
- Sign in again on the OAuth popup
Your scheduled posts that referenced this account will pause until reconnect is done.
401 Unauthorized — token expired
Refresh token is fine, but the short-lived access token expired. The app should refresh automatically, but if you see this error in the logs:
- Restart the app
- If it persists, Disconnect + Reconnect the account
403 Forbidden — missing scope or permission
Common when:
- A platform added new permission requirements after you originally connected
- The connected account doesn't have the permissions to post (e.g., personal Instagram instead of Business / Creator)
Fix: Disconnect + Reconnect to grant the new scopes.
429 Too Many Requests — platform rate limit
You hit the platform's API rate limit. Each platform has its own limits:
| Platform | Posts per day | Notes |
|---|---|---|
| YouTube | 10,000 video uploads | But the unit cost is high — about 1,600 uploads/day in practice |
| 200/hour per page | ||
| 25 posts per 24h | Per IG Graph API | |
| X | 300 tweets/3h, 2,400/day | |
| 100 posts/day per user |
The app will automatically retry with exponential backoff. If you keep hitting the limit, spread your publishing across more hours of the day.
Still stuck?
If none of the above fits, Contact Support with:
- The platform name
- The exact error code
- The time it happened (so we can look at logs)