Upload source maps with CLI

Last updated:

|Edit this page|
  1. Download CLI

    Required

    Install posthog-cli:

    npm install -g @posthog/cli
  2. Authenticate

    Required

    To authenticate the CLI, you can call the login command and follow the instructions:

    Terminal
    posthog-cli login

    If you are using the CLI in a CI/CD environment such as GitHub Actions, you can set environment variables to authenticate:

    Environment VariableDescriptionSource
    POSTHOG_CLI_ENV_IDPostHog project IDEnvironment settings
    POSTHOG_CLI_TOKENPersonal API key with error tracking write scopeAPI key settings

    Use the --host option in subsequent commands to specify a different PostHog instance / or region. For EU users:

    Terminal
    posthog-cli --host https://eu.posthog.com [CMD]
  3. Inject

    Required

    Once you've built your application and have bundled assets, inject the context required by PostHog to associate the maps with the served code.

    Terminal
    # Inject metadata in files to resolve errors
    posthog-cli sourcemap inject --directory ./path/to/assets

    You can verify that the metadata has been injected by checking for the //# chunkId=... comment in the minified code.

  4. Upload

    Required

    You will then need to upload the modified assets to PostHog.

    Terminal
    # Upload assets to posthog
    posthog-cli sourcemap upload --directory ./path/to/assets

    💡 Tip: You can use --delete-after option to clean up sourcemaps after uploading them.

  5. Serve injected assets

    Required

    You must serve the injected assets in deployed production app. The injected metadata is used during error capture to identify the correct source map to use.

    If you serve a copy of the bundled assets as they were prior to running posthog-cli sourcemap inject, we won't be able to use the uploaded sourcemap to unminify or demangle your stack traces.

  6. Verify source map upload

    Checkpoint

    Confirm that source maps are successfully uploaded to PostHog.

    Check symbol sets in PostHog

Questions? Ask Max AI.

It's easier than reading through 698 pages of documentation

Community questions

Was this page useful?

Next article

Issues

What is an issue? Errors are captured as $exception events which means that you can create insights, filter recordings, trigger surveys, and more in the same way you can for any other type of event. Exception events are grouped into issues based on event information, such as the exception type, message, and stack trace. The data used for grouping depends on what is available. This enables you to evaluate which issues are most important and prioritize work on fixing them. We're working on…

Read next article