Discord error 20029: Server write rate limit
Last verified against Discord Developer Docs - Opcodes and status codes
The write action you are performing on the server has hit the write rate limitWhat error 20029 means
The same idea as 20028 but scoped to the whole guild. Discord caps the total volume of certain write actions a server can absorb in a window, and once the guild is over that threshold every further write of that kind is rejected regardless of which channel it targets.
This tends to appear during bulk operations: mass role changes, creating many channels or threads at once, a migration that rewrites permission overwrites, or a bot that fans out one message to every channel in a guild. The threshold is undocumented and varies; the only reliable signal is the retry_after value in the response.
Because the scope is the guild, your bot may be rate limited by activity from other bots in the same server. That is rare but worth remembering when the error appears without any change in your own traffic.
What it looks like
{
"message": "The resource is being rate limited.",
"retry_after": 25.0,
"global": false,
"code": 20029
}Why it happens
- Bulk guild operations (creating channels, editing many roles, mass member updates) in a short window
- Posting the same message to every channel in a large guild
- Several bots performing heavy writes in the same server at once
- Onboarding or setup command that creates a full channel structure in one go
How to fix Discord error 20029
- 1Honor retry_after and resume the operation from where it stopped
- 2Throttle bulk guild operations to a slow, steady rate (for example one create/edit per second) instead of firing them concurrently
- 3Use endpoints that batch work where they exist, such as PATCH /guilds/{id}/roles for role positions or PATCH /guilds/{id}/channels for positions
- 4Make long operations resumable so a 429 midway does not require restarting
How to stop it recurring
Treat any "do X to every channel/role/member" feature as a background job with a rate-limited worker, progress tracking and idempotent steps. Never issue guild-wide writes with Promise.all or an unbounded thread pool.
Guild-wide write budgets punish concurrency hardest, so serialize setup and migration jobs. The REST bucket mechanics that sit underneath are in http 429, and chatbot API rate limiting covers making bulk jobs resumable.
Official reference: Discord Developer Docs - Opcodes and status codes. See all Discord error codes or the Discord limits and quotas.
Related codes
- 20028: Channel write rate limitThe write action you are performing on the channel has hit the write rate limit
- 429: HTTP 429 Too Many Requests (rate limited)You are being rate limited.
- 30013: Maximum number of guild channels reached (500)Maximum number of guild channels reached (500)
- 30005: Maximum number of guild roles reached (250)Maximum number of guild roles reached (250)
Error 20029 - quick answers
What does Discord error 20029 mean?
The same idea as 20028 but scoped to the whole guild. Discord caps the total volume of certain write actions a server can absorb in a window, and once the guild is over that threshold every further write of that kind is rejected regardless of which channel it targets.
How do I fix Discord error 20029?
1. Honor retry_after and resume the operation from where it stopped 2. Throttle bulk guild operations to a slow, steady rate (for example one create/edit per second) instead of firing them concurrently 3. Use endpoints that batch work where they exist, such as PATCH /guilds/{id}/roles for role positions or PATCH /guilds/{id}/channels for positions 4. Make long operations resumable so a 429 midway does not require restarting
Can I retry after error 20029?
Yes - this is a retryable condition. Back off (start around one second and double on each attempt, with jitter) and watch for a retry-after hint from the platform before resending.
Stop debugging Discord by hand
Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.