Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Bot loop protection
OpenClaw can accept messages written by other bots on channels that supportallowBots.
When that path is enabled, pair loop protection prevents two bot identities from
replying to each other indefinitely.
The guard is enforced by the core channel-turn kernel. Each supporting channel
maps its own inbound event into generic facts: account or scope, conversation id,
sender bot id, and receiver bot id. Core then tracks the participant pair in both
directions, applies a sliding-window budget, and suppresses the pair during a
cooldown after the budget is exceeded.
Defaults
Pair loop protection is active when a channel lets bot-authored messages reach dispatch. Built-in defaults are:maxEventsPerWindow: 20- a bot pair can exchange 20 events within the windowwindowSeconds: 60- sliding window lengthcooldownSeconds: 60- suppression time after the pair exceeds the budget
Configure shared defaults
Setchannels.defaults.botLoopProtection once to give every supporting channel
the same baseline. Channel and account overrides can still tune individual
surfaces.
enabled: false only when your channel policy intentionally allows
bot-to-bot conversations without automatic suppression.
Override per channel or account
Supporting channels layer their own config over the shared default. Precedence is:channels.<channel>.<room-or-space>.botLoopProtection, when the channel supports per-conversation overrideschannels.<channel>.accounts.<account>.botLoopProtection, when the channel supports accountschannels.<channel>.botLoopProtection, when the channel supports top-level defaultschannels.defaults.botLoopProtection- built-in defaults
Channel support
- Discord: native
author.botfacts, keyed by Discord account, channel, and bot pair. - Slack: native
bot_idfacts for accepted bot-authored messages, keyed by Slack account, channel, and bot pair. - Matrix: configured Matrix bot accounts, keyed by Matrix account, room, and configured bot pair.
- Google Chat: native
sender.type=BOTfacts for accepted bot-authored messages, keyed by account, space, and bot pair.