Environment Variables Reference

Reference for environment variables that configure Meticulous replay behavior. These are primarily useful when running local simulations or debugging replay issues.

Set these in your shell before running CLI commands:

METICULOUS_HOLD_BROWSER_OPEN=true npx @alwaysmeticulous/cli simulate \
  --sessionId="<id>" --appUrl="<url>"

Debugging & Inspection

METICULOUS_HOLD_BROWSER_OPEN

Type: Boolean (true/false)

Keep the browser open after a replay completes so you can inspect the final state, open DevTools, and explore the DOM.

METICULOUS_HOLD_BROWSER_OPEN=true npx @alwaysmeticulous/cli simulate \
  --sessionId="<id>" --appUrl="<url>"

METICULOUS_SHOW_MOUSE_LOCATION

Type: Boolean (true/false)

Displays the mouse position as a red dot on the page during replay. Helpful for verifying that mouse events are targeting the correct elements.


METICULOUS_TRACK_UNEXPECTED_EXECUTION

Type: Boolean (true/false)

Enables tracking and pausing on unexpected JavaScript execution (code running outside of the expected replay timeline). When the replay encounters unexpected execution it will pause in the Chromium debugger.

Tips:

  • Run new Error().stack in the console when paused to get a stack trace
  • In the Chromium debugger, tick "Show ignore-listed frames" when viewing stack traces

Note: This must be enabled for METICULOUS_UNEXPECTED_EXECUTION_AUTO_RESUME and METICULOUS_SET_BREAKPOINTS to take effect.


METICULOUS_UNEXPECTED_EXECUTION_AUTO_RESUME

Type: Boolean (true/false)

Automatically resumes when unexpected execution is encountered instead of pausing. Use this when you want to see the logs without manually stepping through each pause.

Requires METICULOUS_TRACK_UNEXPECTED_EXECUTION=true.


METICULOUS_SET_BREAKPOINTS

Type: JSON string

Set breakpoints as a JSON array. You can copy breakpoint strings from the logs when METICULOUS_TRACK_UNEXPECTED_EXECUTION is enabled.

Breakpoints can be specified as objects:

METICULOUS_SET_BREAKPOINTS='[{"scriptId": "<id>", "lineNumber": 10, "columnNumber": 5}]'

Or as URL strings:

METICULOUS_SET_BREAKPOINTS='["https://example.com/script.js:10:5"]'

METICULOUS_DEBUG_DOM_UPDATES

Type: Boolean (true/false)

Logs details of DOM mutations that occur at unexpected times (e.g. outside of advanceVirtualTime), including the HTML of the mutated elements.


METICULOUS_PAUSE_BEFORE_REDIRECT

Type: String (URL fragment)

Pauses the browser before any redirects whose URL contains the specified fragment. For example, to pause before redirecting to a login page:

METICULOUS_PAUSE_BEFORE_REDIRECT=login

Timing & Timeouts

METICULOUS_NO_TIMEOUT

Type: Boolean (true/false)

Disables all timeouts except for the navigation timeout (which is extended to 60 minutes). Useful when pausing in debuggers or stepping through replay execution.


METICULOUS_REPLAY_TIMEOUT_MINUTES

Type: Number (minutes)

Sets the replay timeout to the specified number of minutes, overriding the default.

METICULOUS_REPLAY_TIMEOUT_MINUTES=10

METICULOUS_MAX_DURATION_MS

Type: Number (milliseconds)

Cuts replays short when they reach the specified virtual time. Useful when running a test run and you only want to replay the first portion of each session.

METICULOUS_MAX_DURATION_MS=30000

Browser Configuration

METICULOUS_ADDITIONAL_CHROMIUM_FLAGS

Type: String (comma-separated flags)

Passes additional flags to the Chromium browser instance launched for replay.

METICULOUS_ADDITIONAL_CHROMIUM_FLAGS="--disable-gpu,--no-sandbox"

Feature Toggles

METICULOUS_DISABLE_SENTRY

Type: Boolean (true/false)

Disables the customer application's Sentry initialization during replay. This simplifies stack traces and reduces noise when debugging replay issues.


METICULOUS_DISABLE_RECAPTCHA

Type: Boolean (true/false)

Disables Google reCAPTCHA script loading during replay. This simplifies stack traces and reduces noise when debugging.


METICULOUS_DISABLE_WEB_WORKERS

Type: Boolean (true/false)

Disables Web Workers (window.Worker) during replay. Useful if workers are causing replay issues. Leave disabled (or set project setting disableWebWorkers: false) when using dedicated worker network recording.


METICULOUS_DISABLE_SHARED_WORKERS

Type: Boolean (true/false)

Disables Shared Workers (window.SharedWorker) during replay.