## TL;DR
The Messenger snippet carries an app id, and Intercom checks it against the workspace behind your credentials. A mismatch means the snippet came from a different app than the one you're configuring: usually a dev app id deployed to production, or a snippet copied from docs instead of your workspace. Copy the app id from your Intercom workspace settings and redeploy.

## The query

```text
intercom messenger app_id mismatch on install
```

## Use this when

- The Messenger fails to load with an app_id mismatch
- It works in staging but not in production
- A reinstall breaks a previously working Messenger


## Not for

- Messenger display or styling issues
- Conversation API errors
- Identity verification (user hash) failures


## Steps

### 1. Copy the app id from workspace settings

In Intercom, open Settings, Installation, and copy the app id shown there. Not from docs, not from memory, not from the other environment's config. One workspace, one app id.

Expected output: the exact app id from your workspace's installation settings.

### 2. Check every environment's snippet

Diff the snippet across dev, staging, and production. The classic failure is a dev app id hardcoded in a shared template that ships everywhere. Each environment gets its own snippet.

Expected output: each environment's deployed snippet carrying its own app id.

### 3. Clear cached and bundled snippets

App ids get baked into bundles, tag manager containers, and cached pages. After fixing the source, bust caches and republish containers. A fixed source with a stale bundle still fails.

Expected output: the live page source showing the corrected app id.

### 4. Verify with a clean load

Load the page fresh and confirm the Messenger initializes with no mismatch error in the console. Then check that conversations attach to the right workspace, not a stray one.

Expected output: a clean console and the Messenger bound to the correct workspace.

## Variant phrasings

### intercom app_id invalid

Step 1: the settings page is the only source of truth.

### intercom messenger not loading after deploy

Steps 2 and 3: environment mixup first, stale bundle second.

## Why it happens

Intercom app ids look interchangeable and every environment needs a different one, so they get copy-pasted across environments constantly. The mismatch error is Intercom refusing to attach your visitors to the wrong workspace, which is protective, but the message doesn't say which side is wrong.

## Edge cases

- Workspace merges and splits change app ids. Re-verify after any workspace admin change.
- The mobile SDKs take the app id separately. Fixing web doesn't fix mobile.
- Identity verification failures look similar but are a different setting. Don't conflate them.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_2yfGBevxlmglDb38Q5XGAg
