Skip to content
🎉 Launch sale:50% off everything over $22 — automatically applied at checkout· ends Aug 2Shop the sale →
DevOps AI ToolKit
Newsletter
All guides
AI for Slack By James Joyner IV · · 7 min read Last reviewed Jul 2026

Slack Error: 'too_many_reactions' — Cause, Fix, and Troubleshooting Guide

Quick answer

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
Free toolkit

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.add calls 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&timestamp=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.remove the 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 from too_many_emoji (the message’s distinct-emoji cap across all users).
  • If you use reactions as a state machine, prune stale states with reactions.remove so you never approach the ceiling.
Free download · 368-page PDF

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?

Free download · 368-page PDF

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.