Skip to main content

Troubleshooting Chameleon on localhost

Written by Amanda Oliveira
Updated today

Running Chameleon locally requires a few steps that differ from a production setup. This article covers the known limitations, the workarounds that actually work, and how to debug installation issues specific to local development.

πŸ’‘ Need help fast? Ask Copilot to help you diagnose your localhost setup. Try prompts like "Chameleon isn't loading on localhost β€” how do I debug this?" or "How do I set up HTTPS for local development with Chameleon?" Copilot can walk you through the steps based on your specific situation.


HTTPS is required

Chameleon only loads on secure HTTPS connections. A plain http://localhost setup will not work.

You have three main options for getting HTTPS locally:

Method

Notes

Self-signed certificate

Sufficient for running the snippet. Most local dev setups support this.

ngrok

Creates a public HTTPS URL tunnelled to your local port. Works in theory, but auth redirects inside the app often cause issues.

Custom .local domain

Use a domain like dashboard.yourapp.local:8081 instead of localhost. The Builder works on custom local domains.


How to debug installation issues on localhost

Use the following commands in your browser console to diagnose what is happening.

Step 1 β€” Check the snippet and user identification:

chmln.Snippet.debug()

A healthy output looks like:

Chameleon snippet loaded, and running in end-user mode. User profile loaded with id=XXXX, uid=YYYY

If this returns clean, the snippet installation is working. The issue is elsewhere.

Step 2 β€” Check which Experiences are loading and why:

chmln.debug()

Expand the tours or launchers dropdowns to see why specific Experiences are or are not showing.

Step 3 β€” Force a specific Experience to show:

chmln.show('YOUR_TOUR_ID')

Replace YOUR_TOUR_ID with the actual Experience ID. This bypasses audience and URL rules and shows the Experience directly β€” useful for confirming the snippet is working even when normal display conditions are not met.

πŸ’‘ Read How to find the ID of a Chameleon Experience if you need to locate your Experience ID.


Known Limitations and Issues

The Builder does not work on localhost

This is a confirmed, known limitation. The Chameleon Builder Chrome Extension cannot open on localhost due to Chrome Extension security restrictions. Attempting to open it will result in a "something went wrong" error or the Builder will simply fail to load. This cannot be fixed from within the Extension.

The Chameleon snippet itself works fine on localhost; your end users can see Experiences. The restriction is only on the Builder.

If you need the full Builder experience during development, use one of the workarounds below.

Localhost does not appear in the Dashboard

Your localhost domain will not show up in the Domains or Environments pages in the Chameleon Dashboard, even when the snippet is running correctly. This is expected behaviour β€” localhost is not tracked as a managed domain.

If you see an installation prompt that is still blocking you, Chameleon support can manually ungate the installation prompts on your account.


Still stuck?

Did this answer your question?