Skip to content

Common Errors

See the Error reference for a complete list of API error codes. The most common ones in practice:

The compiler exited with an error. Read the compile.log messages — they contain the full compiler output. Common causes:

  • TypeScript type errors — Pure does not type-check, but the underlying Rust compiler may reject code that depends on evaluated types at compile time.
  • Unsupported syntax — usually eval, new Function(), or a dynamic import() with a variable path. See Not supported.
  • Missing or incompatible dependency — a package imports something that doesn’t work in Pure. See npm Packages.
  • Out of memory — the compile job exceeded the 2 GiB memory limit. Try reducing the size of your dependency tree.
  • Timeout — the compile job exceeded 20 minutes. This is unusual for standard projects; contact support if it happens consistently.

The tarball was not fully uploaded within 120 seconds. Causes:

  • Network throttling or a slow connection.
  • A bug in client code that does not send compile.upload.done after the last binary frame.
  • A very large tarball (> 20 MB uncompressed). Try excluding node_modules from the tarball and using pre_command: "npm ci" to reinstall them on the worker.

These are transient infrastructure errors. Retry after a few seconds. If they persist for more than a few minutes, check the Pure status page.


The CLI is not on your PATH. If you installed via npm:

Terminal window
# Check where npm global packages are installed
npm root -g
# Add it to PATH if needed
export PATH="$(npm root -g)/../bin:$PATH"

The API key in ~/.pure/credentials is invalid or has been revoked. Generate a new key in the dashboard and run:

Terminal window
pure auth login

Or set PURE_API_KEY in the environment to override the credentials file.


npm ERR! 404 Not Found — https://registry.pure.dev/...

Section titled “npm ERR! 404 Not Found — https://registry.pure.dev/...”

The package does not exist in the Pure registry and could not be fetched from npmjs. Possible causes:

  • Typo in the package name.
  • The package exists on npmjs but has never been requested through the Pure registry. Try again — the registry will proxy it on first request.
  • The package is private and not published to Pure’s registry.

Your registry auth token is missing or invalid. Check your ~/.npmrc for //registry.pure.dev/:_authToken=.... See Configure npm for setup instructions.


error while loading shared libraries: libm.so.6

Section titled “error while loading shared libraries: libm.so.6”

The binary requires glibc and is running on a musl-based system (Alpine Linux). Install gcompat:

Terminal window
apk add gcompat

See OS support for details.

This is a bug — please report it. Include the binary, the source code, and the steps to reproduce. See Support.