Stop noisy errors from paging you — in plain English

Suppress third-party SDK timeouts, ad-blocker errors, and other false-positives by describing them. No regex required.

Published

difficulty beginner · time to value 1 minute · tools used 2

Just say this

These three errors are noise — they're caused by ad-blockers and third-party SDK timeouts. Suppress them and stop counting them as real cases.

Why this matters

Every error tracker eventually drowns in “yes I know about this, move on.” Network errors from ad-blockers. Third-party SDK timeouts. Bot traffic. Old browser quirks. Each one is harmless individually, but as the wall of green-text-noise grows, you stop reading any of them, and that’s when a real bug slips through.

The classic fix is regex-based ignore rules. Which means you build them once, never touch them again, and they slowly rot as your error messages change. Six months later you have 47 ignore rules, half of them inactive, no one remembers why any of them exist.

Agentry’s suppressions are stored as fingerprint patterns + a reason field — so you can explain why you’re suppressing something in English, ask the agent to audit them later, and surgically un-suppress when needed.

What you get

  • The noisy fingerprints removed from your case list
  • A reason recorded per suppression so the next person (or future you) knows what’s going on
  • The suppression list queryable via agentry_list_suppressions for periodic review

Walk through it

You

The NetworkError: Failed to fetch script errors are all from ad-blocker hosts blocking our analytics script. Suppress them and tag the reason so future me knows.

Agent

Let me check how widespread this is first.

agentry_list_cases {
  project_id: "default",
  query: "NetworkError Failed to fetch script",
  status: "open"
}
{
  "cases": [
    { "id": "c_n01", "fingerprint": "f_n01",
      "message": "NetworkError: Failed to fetch script (segment.com/analytics.js)",
      "event_count": 412, "users_affected": 287 },
    { "id": "c_n02", "fingerprint": "f_n02",
      "message": "NetworkError: Failed to fetch script (googletagmanager.com/gtag/js)",
      "event_count": 198, "users_affected": 142 }
  ]
}
Agent

Two fingerprints, ~600 events from ~430 users. Classic ad-blocker pattern. Suppressing both.

agentry_record_suppression {
  project_id: "default",
  fingerprint_pattern: "f_n01",
  action: "auto_resolve",
  reason: "Ad-blockers blocking segment.com/analytics.js — not actionable",
  hint_text: "If this re-appears with a non-segment URL, that's a real bug."
}
{ "suppression_id": "sup_a1", "applied_to_cases": 1 }
agentry_record_suppression {
  project_id: "default",
  fingerprint_pattern: "f_n02",
  action: "auto_resolve",
  reason: "Ad-blockers blocking gtag.js — not actionable",
  hint_text: "Same as sup_a1 but for GTM."
}
Agent

Both suppressed. They’ll stop appearing in your open case list and won’t trigger webhooks. Their event counts are still recorded in case you want to query them later.

Heads-up: you currently have 14 active suppressions total. Want me to review them — some may have been added for bugs you’ve since fixed and could be removed?

The output

✅ 2 suppressions added

  sup_a1  f_n01  auto_resolve   "Ad-blockers blocking segment.com/analytics.js"
  sup_a2  f_n02  auto_resolve   "Ad-blockers blocking gtag.js"

Both cases moved to resolved status. 610 future events will be auto-resolved
on arrival (no case bump, no webhook).

Current suppressions (14 total):
  - 8 for known third-party noise (this category)
  - 3 for staging-only flakes
  - 2 for resolved bugs (could be removed)
  - 1 for "I know but won't fix" (marked permanent)

Setting it up

Nothing to install — agentry_record_suppression works the moment errors are flowing.

Three suppression actions to know:

ActionBehavior
auto_resolveNew matching events bump the (resolved) case. Useful when you want to track frequency but not get paged.
auto_ignoreNew matching events don’t create or bump cases at all. Use sparingly — you lose all visibility.
prompt_hintCases still appear, but with your hint text shown when the agent investigates. Good for “this is a known quirk, look in X” guidance.

Pattern matching is on the fingerprint (a deterministic hash of error type + normalized message + top stack frame). Same fingerprint = same suppression applies.

Variations

  • “Audit my suppressions — for each one, check if the underlying error still exists. Suggest removals.”
  • “Suppress all errors from Bot / Crawler user-agents.”
  • “Add a prompt_hint to all RateLimitError cases telling the agent to check our Redis dashboard before investigating.”
  • “Remove the suppression on case c_xxx — we want to track that one again.”

Try this recipe in your own agent.

Paste the prompt above into your agent. It'll set up Agentry against your data, then run the recipe and show you the real output.

Install https://agentry.sh/agentry.md and set it up