Slack Error: 'too_many_users' — Cause, Fix, and Troubleshooting Guide
Fix the Slack too_many_users error: conversations.open exceeded the multi-person DM participant limit. Cap the group DM or use a channel instead.
- #slack
- #api
- #troubleshooting
- #errors
Stuck on this Slack error? Get the free incident triage checklist
A one-page PDF — the exact steps to isolate, fix, and verify a production error like this one. No spam, unsubscribe anytime.
Overview
too_many_users is returned by conversations.open when you try to open a multi-person DM (MPIM) with more participants than Slack allows. Group DMs are capped; past that ceiling you must use a channel.
{
"ok": false,
"error": "too_many_users"
}
Symptoms
- Small group DMs open fine; a larger participant list fails.
- The failure scales with the number of users you pass.
- Only affects MPIM opens, not channel posts.
Common Root Causes
1. MPIM participant cap exceeded
Group DMs support a limited number of people; adding more than the maximum returns too_many_users.
2. Fanning out an alert to a big user list as a group DM
Trying to DM a large on-call rotation as one MPIM instead of using a channel.
3. Accumulated/duplicated ids inflating the count
A list with duplicates or extra ids pushes the effective count over the limit.
How to diagnose
Count the distinct users you’re sending:
echo "U0USER0001,U0USER0002,...,U0USER0009" | tr ',' '\n' | sort -u | wc -l
9
Then reproduce the open with the oversized list:
curl -s -X POST https://slack.com/api/conversations.open \
-H "Authorization: Bearer $SLACK_BOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"users":"U0USER0001,U0USER0002,U0USER0003,U0USER0004,U0USER0005,U0USER0006,U0USER0007,U0USER0008,U0USER0009"}'
{"ok": false, "error": "too_many_users"}
Fixes
- Use a channel for anything beyond a small group — create/post to a private channel and invite the members instead of a giant MPIM.
- Cap the participant list to the MPIM limit; dedupe ids before counting.
- Split large audiences into multiple smaller DMs only if a channel truly isn’t appropriate.
What to watch out for
too_many_users(over the MPIM cap) is the mirror ofnot_enough_users(below the minimum); both are about the participant count.- Deduplicate ids first — duplicates count toward the limit and cause avoidable failures.
- Group DMs aren’t a scalable broadcast mechanism; for on-call fan-out, a dedicated channel with
@here/user-group mentions scales better.
Related
- Slack Error: ‘user_not_found’
- Slack Error: ‘ratelimited’
- Slack admin conversations API: bulk channel ops
Fixed it? Get 500 Slack & DevOps AI prompts — free
500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.
- 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
- Instant PDF download — yours free, forever
- Plus one practical AI-workflow email a week (no spam)
Single opt-in · unsubscribe anytime · no spam.
Stuck on this? Start guided troubleshooting
Open an interactive diagnostic session with this error already loaded. Work a step-by-step plan, record what each check returns, land on a root cause, and export a clean incident summary — no account needed to start.
Did this fix your issue?
Solved it a different way?
Share the fix that worked for you — reviewed, then published to help the next engineer.
That looks like it may contain a secret (key, token, password, or connection string). Please remove it — a note with a detected secret can’t be published.
Thanks — that helps. Published notes appear after a quick review.
Trending errors this week
The error guides other engineers are actually reading right now.
- 1mount: wrong fs type, bad option, bad superblock
- 2mount: wrong fs type, bad option, bad superblock
- 3Docker 'failed to set up container networking': Fix the Bridge and IP Pool
- 4Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block
- 5Docker 'failed to create shim task': How to Fix the containerd Runtime Error
- 6Too many levels of symbolic links
Get 500 Battle-Tested DevOps AI Prompts — Free
500 battle-tested, copy-paste AI prompts engineered by a senior systems engineer — every one with fill-in placeholders and safety/back-out notes. Drop your email and it's yours.
- 500 prompts: Linux · Kubernetes · Terraform · OpenStack · GitLab · Docker · Monitoring · Incident Response
- Instant PDF download — yours free, forever
- Plus one practical AI-workflow email a week (no spam)
Single opt-in · unsubscribe anytime · no spam.