Messenger error 2018321: Thread controlled by Messenger automated flow
Last verified against Meta for Developers - Messenger Platform error codes
The chat is currently controlled by Messenger while the user is in an automated question and answer flow. Please wait for the flow to finish before trying again.What error 2018321 means
Code 2018321 is a thread-control error like 2018300, but the competing controller is Messenger itself. Meta's error-codes table quotes it in full: "The chat is currently controlled by Messenger while the user is in an automated question and answer flow. Please wait for the flow to finish before trying again." Pages can enable built-in automations, FAQ flows, away messages, the questions surface configured in the Business Suite inbox, and while a person is inside one of those guided flows, the platform holds the conversation and third-party sends are deferred.
Unlike the permanent errors in this catalogue, 2018321 resolves on its own: when the person completes or abandons the built-in flow, control returns and your sends succeed again. That makes it one of the few Messenger errors where a delayed retry is the designed behavior, retry the same message after a wait, rather than discarding it.
The strategic question is why the built-in flow and your bot are competing at all. A Page running a full chatbot usually wants the inbox automations off, since they intercept exactly the first-touch questions the bot exists to answer, and the interception is invisible in your logs except as this error. Audit the Page's automated responses in Meta Business Suite (Inbox -> Automations) whenever 2018321 appears at meaningful volume.
What it looks like
{
"error": {
"message": "(#2018321) The chat is currently controlled by Messenger while the user is in an automated question and answer flow. Please wait for the flow to finish before trying again.",
"type": "OAuthException",
"code": 2018321,
"fbtrace_id": "BLBz/WZt8dN"
}
}Why it happens
- Meta Business Suite inbox automations (FAQ / questions flows) enabled alongside a third-party bot.
- The person is mid-flow in a built-in question-and-answer sequence when your send arrives.
- Away messages or instant replies configured on the Page holding the thread briefly.
- Race conditions: your bot replies to an event that also triggered a built-in automation.
- Page admins enabling new inbox automation features without telling the bot team.
How to fix Messenger error 2018321
- 1Queue the failed message and retry after a delay (e.g. 30-120 seconds, with a few attempts) instead of dropping it.
- 2Review Meta Business Suite -> Inbox -> Automations on the Page and disable flows that duplicate the bot's job.
- 3Coordinate with Page admins so inbox automation changes are announced to whoever runs the bot.
- 4Log 2018321 separately from hard failures; it is contention, not breakage.
- 5If flows must coexist, scope them narrowly (e.g. away messages outside business hours only) to shrink the contention window.
How to stop it recurring
Choose one automation owner per Page. If the bot is it, turn the inbox flows off and let the bot handle first touch; if the built-in flows stay, have the bot yield gracefully with delayed retries. Include an automation audit in Page onboarding, it takes minutes and prevents weeks of intermittent mystery. Thread-control conflicts of both kinds are walked through in the troubleshooting guide.
Official reference: Meta for Developers - Messenger Platform error codes. See all Messenger error codes or the Messenger limits and quotas.
Related codes
- 2018300: Another app is controlling this threadMessage failed to send because another app is controlling this thread now.
- 10: Application does not have permission for this actionApplication does not have permission for this action
- 1200: Temporary send message failureTemporary send message failure. Please try again later.
Error 2018321 - quick answers
What does Messenger error 2018321 mean?
Code 2018321 is a thread-control error like 2018300 , but the competing controller is Messenger itself. Meta's error-codes table quotes it in full: "The chat is currently controlled by Messenger while the user is in an automated question and answer flow.
How do I fix Messenger error 2018321?
1. Queue the failed message and retry after a delay (e.g. 30-120 seconds, with a few attempts) instead of dropping it. 2. Review Meta Business Suite -> Inbox -> Automations on the Page and disable flows that duplicate the bot's job. 3. Coordinate with Page admins so inbox automation changes are announced to whoever runs the bot. 4. Log 2018321 separately from hard failures; it is contention, not breakage. 5. If flows must coexist, scope them narrowly (e.g. away messages…
Can I retry after error 2018321?
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 Messenger by hand
Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.