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
- Header Panel - Connection status and endpoint information
- Events Panel (Left) - Live event list with tree structure
- Details Panel (Right) - Selected event details with tabs
- 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
Navigation Controls
- ↑/↓ 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:
- Event Received - Shows initial webhook receipt
- Forwarding... - Temporary status while forwarding
- Forwarded Successfully - Shows target response status
- 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
Navigation
- ↑/↓, 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.