Skip to content

Install

Troubleshoot the MivoChat widget

When the launcher does not show, the cause is almost always one of a handful of things you can confirm in DevTools in a couple of minutes.

Open DevTools on the deployed page, confirm widget.js returns 200, then check that /api/v1/widget/config is not a 403. A 403 with origin_not_allowed means the page's origin is missing from Allowed websites in MivoChat Install.

Prefer to let your AI coding agent do it? Copy the agent prompt.

Installation steps

  1. 1

    Prepare

    Open the deployed page, not a file preview, and open DevTools on the Network tab.

  2. 2

    Configure

    Filter for widget.js and confirm a 200 response, then filter for widget/config and read its status.

  3. 3

    Publish

    Read the Console for a line that starts with MivoChat; it names the problem it found.

  4. 4

    Verify

    Apply the matching fix from the table and reload in a private window to rule out caching.

Symptom, check and fix

Work down the table from the top. The first rows are the most common causes and the quickest to rule out, and each fix is a single change.

SymptomCheckFix
No launcher and no widget.js requestView the page source of the deployed page and search for the script tag.Add the tag to the shared template and redeploy; purge any CDN cache.
widget.js is blocked or never completesNetwork status, and Console lines that mention a policy or a blocked request.Allow the origin in your CSP, or disable the ad or privacy blocker for a test window.
/api/v1/widget/config returns 403The response body says origin_not_allowed.Add the exact scheme and host to Install, Allowed websites. Include www and preview hosts you test on.
The Console says the page has an opaque originThe page is a file:// preview or a sandboxed frame.Serve the page over http or https, on a real hostname.
The launcher looks unstyledThe Console reports a blocked inline style.Add style-src 'unsafe-inline' to your policy.
Two launchers appearSearch the source for two loaders, or a plugin plus a manual tag.Keep one install path and remove the other.
Missing for some visitors onlyRetest with extensions turned off and in a private window.An ad blocker is blocking the script. Nothing on your site needs to change.

What the console messages mean

The loader prints one warning when the page has an opaque origin, which happens on file:// pages and sandboxed frames, and the text asks you to serve the page over http or https. It prints a different warning when the site is not allowed, naming the origin it saw and pointing you to Install, Allowed websites.

Copy that origin into the allow list exactly as printed. Remember that localhost, a staging host and the production host are separate origins, so add each one you test on.

The launcher disappears after navigation

If the launcher shows on first load but vanishes after a route change, the script tag was probably mounted inside a route component. Move it to the shared HTML shell so it loads once and survives navigation. The framework guide lists the right file for each stack.

Still stuck

Email hello@mivochat.app with the page URL, the failing request and its status code, and the first MivoChat line from the Console. Your public site key is safe to include; never send an identity secret.

Before you change the setup

Who this is for
a developer whose installed widget does not appear, does not open, or looks broken on one page
What you need
the deployed page URL, DevTools, and access to Allowed websites in your MivoChat Install settings
Where it goes
the browser's DevTools Network and Console panels on the deployed page, then Install settings in MivoChat
Watch out for
a file preview and a sandboxed frame have no origin that can be allowed, so test on a real http or https hostname

Test the support boundary

  • Does widget.js return 200 in a private window with extensions off?
  • Does the config request return 200 rather than 403 on every hostname you serve?
  • Does a visitor message reach your connected channel?

Frequently asked questions

Is the launcher missing only on my staging site?

Staging is a separate origin. Add its exact host to Allowed websites, or test on the production hostname that is already allowed.

The script loads but nothing happens

Check the config request. A 403 means the origin is not allowed; a blocked request points at your connect-src policy.

Can an ad blocker hide the chat?

Yes. Blockers can stop third-party scripts for some visitors. Offer a support email on the page as a fallback.

The install status never turns green

The status updates when the widget loads from an allowed origin. Open the live page once, then refresh the Install page.

Keep exploring

The r3-final-a evaluation measured 95% answerability-tier accuracy on 224 questions; this is an evaluation result, not a guarantee. AI replies use Anthropic. See the method and results and subprocessors and data locations.

Try MivoChat on your support pages.

Start a 14-day trial, connect public pages, and test what gets answered or handed to your team. Check current paid billing status on pricing.