Skip to main content

Errors are not appearing

Check these first:
  • Your SQUASHER_API_KEY starts with sq_pk_ and belongs to the same project as SQUASHER_PROJECT_ID.
  • Your app can reach https://ingest.squasher.ai.
  • The SDK is initialized before the code path that throws the error.
  • For log drains, the provider is sending to the correct project-specific URL.

SDK verification

Use a small test event to confirm ingestion:
If you use Next.js, follow the framework-specific steps in Next.js SDK. For plain services, use Node.js SDK.

Enable SDK debug mode

When events do not appear, turn on debug logging to see exactly what the SDK is doing. Two ways:
Or in code:
Explicit debug: true always wins over the env. Output looks like:
SQUASHER_DEBUG=1 works in Node, Bun, Deno, and Cloudflare Workers (via env binding). In the browser, set window.SQUASHER_DEBUG = "1" before init().

Stack traces look minified

Upload source maps so Squasher can resolve original files and line numbers. See source maps.

Log drain delays

Some providers batch deliveries. If you use a log drain, wait briefly, then verify the provider still shows the drain as healthy.

Agent troubleshooting flow

When an agent is debugging a missing event, use this order:
  1. Confirm the project id with squasher projects list.
  2. Confirm the configured key belongs to that project without printing the key.
  3. Pull the product query map with squasher query-guide get --project <project_id>.
  4. Check recent data with the narrowest relevant command, such as squasher errors list, squasher logs search, squasher traces list, squasher metrics list, or squasher agent-observations list.
  5. If using MCP, call search for the same operation first, then execute the exact request with a bounded time window.
Ask before rotating keys, changing connector settings, deleting data, or dispatching a hosted run.

Still stuck?

Re-check the setup guide you used: