iOS SDK: “Something went wrong” when presenting Messenger for some identified users (fixed by logout/login) | Community
Skip to main content
Question

iOS SDK: “Something went wrong” when presenting Messenger for some identified users (fixed by logout/login)

  • October 23, 2026
  • 0 replies
  • 11 views

Few of our identified users on iOS see “Something went wrong” when user opens the Messenger.  Calling Intercom.logout() and then logging the user in again fixes it. We cannot reproduce it on demand, and no error reaches our app.

Environment

  • Intercom iOS SDK via SPM - 19.5.7. Some affected builds were on 19.7.2.
  • iOS version: > iOS 15
  • Identity verification: enabled. We call Intercom.setUserHash after loginUser(with:).
  • Setup: setApiKey at launch, loginUser(with: ICMUserAttributes) with userId, email and company after sign-in, then Intercom.present() from a Settings → “Chat with us” row.

Expected
Intercom.present() shows the Messenger for a logged-in user.

Actual
The Messenger opens with a “Something went wrong” error screen.

Observations

  • Logging out of our app (which calls Intercom.logout()) and logging back in fixes it loginUser’s completion handler returned no error that we could observe.

Lifecycle, in the order our code runs it

  • At launch and after sign-in, we call Intercom.setApiKey(_:forAppId:).
  • After sign-in, we log the user in:let company
    attrs.companies = [company]
    attrs.customAttributes = meta   // bundle id, locale, currency, timezone, plan detail
    Intercom.loginUser(with: attrs) { result in ... }
  • Right after that call, we call Intercom.setUserHash(hmac). The hash is set after login.
  • In the loginUser completion handler:
    • On .success, we call Intercom.updateUser(with:) to sync attributes.
    • On .failure, we retry up to 3 times. Each retry calls Intercom.logout() and then loginUser again. After 3 failures we log the error and give up. The user stays in whatever state the SDK was left in.
  • Push: we call Intercom.setDeviceToken(_:) about 2 seconds after APNs registration.
  • When the user taps “Chat with us”, we call Intercom.present().
    • We don’t check isUserLoggedIn first.
    • We don’t check whether the earlier login succeeded.
  • On sign-out, we call Intercom.logout().

Questions

  1. Is there an Intercom-side incident, or a known issue?
  2. What conditions show “Something went wrong” instead of a surfaced error? Is there a way to read the underlying error?
  3. Can a stale cached session or identity-verification hash cause this? Must setUserHash be called before loginUser?
  4. Should we check Intercom.isUserLoggedIn before present(), and is there a supported way to force a session refresh?