Slack Error: 'too_many_reactions' — Cause, Fix, and Troubleshooting Guide
Fix the Slack too_many_reactions error: a user hit the per-user reaction limit on one message. Have your bot add fewer, more meaningful reactions.
- #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_reactions is returned by reactions.add when the calling user has reached the maximum number of reactions they may add to a single message. Slack caps how many reactions one user can place on one item.
{
"ok": false,
"error": "too_many_reactions"
}
Symptoms
- A bot that adds several status emoji to a message fails after a few.
- Only the last few
reactions.addcalls on the same message fail. - Reacting to a different message works fine.
Common Root Causes
1. Bot adds many reactions to one message
Status/voting automations that pile several emoji onto the same message hit the per-user cap.
2. Accumulated reactions over time
A long-lived message the bot keeps annotating gradually reaches the limit.
3. Retry loops adding reactions
A buggy retry adds new emoji instead of recognising the desired ones are already present.
How to diagnose
Inspect how many reactions the bot already placed:
curl -s "https://slack.com/api/reactions.get?channel=C0123456789×tamp=1700000000.000100" \
-H "Authorization: Bearer $SLACK_BOT_TOKEN"
{"ok": true, "message": {"reactions": [{"name": "eyes", "users": ["U0BOTBOT01"]}, {"name": "hourglass", "users": ["U0BOTBOT01"]}]}}
A growing list all owned by your bot user (U0BOTBOT01) explains the cap.
Fixes
- Use fewer, meaningful reactions. Pick one or two emoji that convey state (e.g. ✅ done) rather than a whole palette.
- Replace, don’t accumulate: on a state change,
reactions.removethe old emoji before adding the new one. - Consolidate signalling into a threaded message or a Block Kit status field instead of many reactions.
What to watch out for
- The limit is per-user per-message; using a single clear status emoji sidesteps it entirely.
too_many_reactions(this user’s cap) is distinct fromtoo_many_emoji(the message’s distinct-emoji cap across all users).- If you use reactions as a state machine, prune stale states with
reactions.removeso you never approach the ceiling.
Related
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.
Did this fix your issue?
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.