Instagram Messaging API · error code

Instagram error 100: Action invalid - app is not the thread owner

ConfigurationHTTP 400Account setup & connection

Last verified against Meta for Developers - Messenger Platform error codes

What Instagram returns
The action is invalid since it's not the thread owner.

What error 100 means

Subcode 2534037 comes from conversation routing (the handover protocol): in setups where more than one app handles the same inbox - say an automation app plus a human-agent inbox - exactly one app controls ("owns") each conversation thread at a time, and only the owner may reply. Meta's documented note for this error says you "do not have permission to perform the action on this conversation" and to check permissions, tokens, and - the actual point - thread ownership.

Your app attempted to send or act on a thread while another app (or the Instagram inbox itself, after a human-agent escalation) holds control. The related documented state is the standby webhook channel: apps that do not own a thread receive its events there instead of in messages. If your app replies to standby events as if it owned the thread, this error is the result. It also appears after an escalation flow moves ownership to the inbox and the automation keeps trying to answer.

Why it happens

  • Another app connected to the same account currently controls the thread under the handover protocol.
  • Ownership was transferred to the Instagram inbox for human handling and your automation kept replying.
  • Your app responded to events from the standby webhook as though they were normal messages events.
  • A second integration (or a duplicate environment of your own app) was connected and took thread control.

How to fix Instagram error 100

  1. 1Request thread control via the conversation routing APIs before replying, or wait for control to be passed to your app.
  2. 2Subscribe to messaging_handover events and track ownership per thread in your own state.
  3. 3Separate handlers for messages versus standby events; never send from the standby path.
  4. 4Audit which apps are subscribed to the account and remove stale or duplicate integrations.
  5. 5After human handoffs, release or reclaim control explicitly as part of the escalation workflow.

How to stop it recurring

Model thread ownership explicitly: a per-conversation state machine driven by messaging_handover events, with sends gated on "we own it." Multi-app inboxes without that discipline generate both this error and duplicate replies. The routing requirements, including the app-review expectation that escalated threads transfer to the inbox, are covered by Meta's conversation-routing docs; the connection-level basics live in the troubleshooting guide and the limits reference.

Official reference: Meta for Developers - Messenger Platform error codes. See all Instagram error codes or the Instagram limits and quotas.

Related codes

Error 100 - quick answers

What does Instagram error 100 mean?

Subcode 2534037 comes from conversation routing (the handover protocol): in setups where more than one app handles the same inbox - say an automation app plus a human-agent inbox - exactly one app controls ("owns") each conversation thread at a time, and only the owner may reply.

How do I fix Instagram error 100?

1. Request thread control via the conversation routing APIs before replying, or wait for control to be passed to your app. 2. Subscribe to messaging_handover events and track ownership per thread in your own state. 3. Separate handlers for messages versus standby events; never send from the standby path. 4. Audit which apps are subscribed to the account and remove stale or duplicate integrations. 5. After human handoffs, release or reclaim control explicitly as part of the…

Stop debugging Instagram by hand

Connect the channel through Conferbot: tokens, webhooks and retries are handled, failures show as readable status.