Your async code is leaking.
AsyncGuard catches it.

Find unhandled promises, async resource leaks, event loop blocking, missing cancellation, and coordination issues — before they crash production.

$ clawhub install asyncguard click to copy
asyncguard scan
$ asyncguard scan ./src
⚡ AsyncGuard v1.0.0
 
Scanning 84 files across 6 directories...
 
  services/api.js:23
    ✗ [CRITICAL] PM-001: Unhandled promise (no .catch or await)
    → Add .catch() handler or await the promise with try/catch
 
  lib/parser.ts:45
    ⚠ [HIGH] EL-003: readFileSync in async request handler
    → Use fs.promises.readFile for non-blocking I/O
 
  hooks/useData.tsx:67
    ⚠ [HIGH] AR-002: Missing AbortController cleanup in useEffect
    → Return cleanup function that calls controller.abort()
 
  middleware/auth.js:12
    ● [MEDIUM] AE-005: .catch(() => {}) swallowing rejection silently
    → Log error or re-throw — never swallow promise rejections
 
  utils/batch.ts:89
    ○ [LOW] AC-003: Unbounded Promise.all with 500+ concurrent operations
    → Use p-limit or semaphore to cap concurrency
 
  ────────────────────────────────────────────────
  Files scanned: 84  |  Issues: 1 critical  2 high  1 medium  1 low
  Score: 57/100 (Grade: F)
 
  Run asyncguard scan --fix to apply auto-fixes, or asyncguard report for full HTML report.

Bad async doesn't just hang — it leaks silently.

Unhandled promises. Fire-and-forget awaits. Event loop blocked by readFileSync. AbortControllers that never abort. When the memory climbs and requests hang, it started here.

90
Detection checks
6
Check categories
All
Languages supported
100%
Local — zero telemetry

What AsyncGuard Catches

90 checks across 6 categories, covering every aspect of async logic and resource management.

PM
🔗

Promise Misuse

Detects unhandled promises without .catch or await, fire-and-forget async calls, promise constructor anti-patterns, and unnecessary async functions that add overhead without benefit.

15 checks
AR
💧

Async Resource Leaks

Catches missing AbortController cleanup in useEffect, unclosed streams and file handles, dangling timers without clearTimeout, and WebSocket connections that never close on unmount.

15 checks
EL
🧱

Event Loop Blocking

Finds readFileSync in async handlers, CPU-intensive loops without yielding, JSON.parse on massive payloads in the main thread, and crypto operations blocking request processing.

15 checks
CA
🛑

Cancellation & Abortion

Detects fetch calls without AbortController, missing request cancellation on component unmount, absent timeout handling on long-running operations, and uncancellable async workflows.

15 checks
AE

Async Error Patterns

Catches empty .catch() blocks swallowing errors silently, missing error boundaries for async components, rejected promises without logging, and error handling that loses stack traces.

15 checks
AC
🎯

Async Coordination

Detects unbounded Promise.all with excessive concurrency, sequential awaits that should be parallel, race conditions in shared async state, and missing Promise.allSettled for partial failures.

15 checks

AsyncGuard Free vs. Pro vs. Team

Choose the plan that matches your async reliability requirements.

Feature Free Pro Team
Detection checks 30 60 90 (all)
Promise Misuse (PM)
Async Resource Leaks (AR)
Event Loop Blocking (EL)
Cancellation & Abortion (CA)
Async Error Patterns (AE)
Async Coordination (AC)
Terminal report
JSON / HTML report
Category filtering
Verbose output
CI/CD integration
Custom rules
Support Community Email Priority

Simple, transparent pricing

Start scanning for free. Upgrade when your async reliability demands it.

Free
$0/mo
For solo developers who want basic async checks.
  • 30 detection checks
  • Promise Misuse (PM) category
  • Async Resource Leaks (AR) category
  • Terminal report output
  • Basic scoring & grading
  • Community support
Install Free
Team
$39/mo
For teams enforcing async standards across services.
  • All 90 detection checks
  • Everything in Pro
  • Async Error Patterns (AE) category
  • Async Coordination (AC) category
  • CI/CD integration
  • Custom rule definitions
  • Priority support

Get notified about updates

No spam. One email per week max. Unsubscribe anytime.

Async bugs hide in plain sight.

Install AsyncGuard in 30 seconds. Find every unhandled promise, leaked resource, and blocked event loop before production does.

$ clawhub install asyncguard click to copy