Skip to main content

Monitoring Events

Once connected, the CLI provides powerful real-time monitoring capabilities. Learn how to navigate and use the interactive terminal interface.

Interactive Terminal UI

By default, the CLI launches an interactive terminal interface with multiple panels:

Screenshot placeholder: CLI Interface Overview - showing header panel, events panel, details panel, and status bar

Panel Layout

  1. Header Panel - Connection status and endpoint information
  2. Events Panel (Left) - Live event list with tree structure
  3. Details Panel (Right) - Selected event details with tabs
  4. Status Bar (Bottom) - Help and keyboard shortcuts

Event List Navigation

Viewing Events

Events appear in real-time in the left panel:

🟢 POST / [12:34:56] → ✅ 200
├── 📥 Received (192.168.1.100)
└── 📤 Forwarded → localhost:3000 (✅ 200 OK)

🟢 POST / [12:34:52] → ✅ 200
├── 📥 Received (192.168.1.100)
└── 📤 Forwarded → localhost:3000 (✅ 200 OK)

Event Status Indicators

  • 🟢 Success - HTTP 2xx responses
  • 🟡 Warning - HTTP 3xx redirects or pending
  • 🔴 Error - HTTP 4xx/5xx errors or failures
  • 🔵 Info - Connection events
  • Unknown - No response status
  • ↑/↓ or j/k - Navigate event list
  • Enter - View event details
  • Tab - Switch between panels

Event Details

Select any event to view detailed information in the right panel:

Overview Tab (1)

Screenshot placeholder: Event Overview tab showing request details and forwarding status

Request Overview
──────────────────

ID: dba7cb2d-b3a7-4c71-88d5-0a0dba3b2da5
Method: POST
Received: 12/8/2025, 9:20:16 PM
Source IP: 192.168.1.100
Endpoint: c2a996bf-4b85-43f9-a2f6-0dfa3a3b0326

Forwarding Status
─────────────────

Status: ✅ SUCCESS
HTTP Status: 200
Response: OK
Target URL: http://localhost:3000/webhooks

Headers Tab (2)

View all HTTP headers from the webhook request:

HTTP Headers
──────────────

content-type:
application/json

user-agent:
Stripe/1.0

stripe-signature:
t=1638360000,v1=abc123...

Body Tab (3)

Inspect the request payload:

Request Body
──────────────

Content-Type: JSON

{
"id": "evt_1234567890",
"object": "event",
"type": "payment_intent.succeeded",
"data": {
"object": {
"id": "pi_1234567890",
"amount": 2000,
"currency": "usd"
}
}
}

Query Parameters Tab (4)

View URL query parameters if present:

Query Parameters
─────────────────

webhook_id:
hook_12345

signature:
abc123def456

Real-time Updates

Event Streaming

Events appear instantly as they're received:

  • New events added to the top of the list
  • Status updates shown with visual indicators
  • Automatic scrolling to newest events

Forwarding Status

When local forwarding is enabled, watch the forwarding process:

  1. Event Received - Shows initial webhook receipt
  2. Forwarding... - Temporary status while forwarding
  3. Forwarded Successfully - Shows target response status
  4. Forwarding Failed - Shows error details

Example forwarding flow:

🟡 POST / [12:34:56]
├── 📥 Received (192.168.1.100)
└── 📤 Forwarding to localhost:3000... ⏳

# Updates to:
🟢 POST / [12:34:56] → ✅ 200
├── 📥 Received (192.168.1.100)
└── 📤 Forwarded → localhost:3000 (✅ 200 OK)

Keyboard Shortcuts

  • ↑/↓, j/k - Navigate event list
  • Tab - Switch between panels
  • Enter - View event details
  • 1, 2, 3, 4 - Switch detail tabs

Actions

  • c - Clear all events
  • h - Show/hide help
  • q, Ctrl+C - Quit application

Help Panel

Press h to show the help panel with all shortcuts:

Screenshot placeholder: Help panel showing all keyboard shortcuts and navigation options

Console Mode

Disable the interactive UI for simple console output:

hookvm listen endpoint-url --disable-ui

In console mode, events are printed as simple log lines:

[12:34:56] POST from 192.168.1.100
[12:34:57] POST from 192.168.1.100 → forwarded to localhost:3000 (200 OK)
[12:34:58] POST from 192.168.1.100 → forwarded to localhost:3000 (404 Not Found)

Event Filtering

Automatic Cleanup

The CLI automatically manages memory:

  • Keeps last 1000 events
  • Removes old events when limit reached
  • No manual cleanup required

Clear Events

Clear the event list manually:

  • Press c in interactive mode
  • Events cleared but monitoring continues

Performance

High-Volume Endpoints

The CLI handles high-volume endpoints efficiently:

  • Non-blocking event processing
  • Efficient memory management
  • Real-time updates without lag

Network Resilience

  • Automatic reconnection on disconnection
  • Status updates during connection issues
  • Graceful error handling

Want to forward events? Learn about Request Forwarding next.