The Events view is Hugin’s system event log. Every meaningful action — proxy lifecycle, scope change, scan started, finding created, MCP tool invoked, extension loaded, license refreshed, error caught — generates an event. Use it to debug (“why did that scan stop?”), audit (“which extension wrote that file?”), or just to see what Hugin’s been up to.
🔗Event Categories
Each event has a category for filtering:
- proxy — proxy lifecycle, certificate generation, listener changes
- scope — scope mutations
- project — project switches, exports, imports
- scanner — scan starts/stops, profile changes, check failures
- intruder — attack lifecycle
- ratrace — race test lifecycle
- crawler — crawl lifecycle
- extensions — Lua extension load/unload, hook errors, audit log entries
- plugins — dynamic MCP plugin load/unload
- mcp — MCP tool invocations (per-tool with action and outcome)
- api — REST/GraphQL request errors
- license — license verification, expiry warnings, trial events
- update — update checks, downloads, install events
- backup — backup creation, restore events
- error — uncaught errors with backtraces
🔗Event Levels
- Trace — verbose; off by default
- Debug — diagnostic; off by default
- Info — normal operations (default visible)
- Warn — abnormal but recoverable
- Error — failures requiring attention
The toolbar level slider toggles which levels render. Errors are always visible by default.
🔗Event Detail
Each event includes:
- Timestamp (ms precision)
- Category, level
- Subject (free-form summary line)
- Optional structured data (JSON object with context)
- Optional error backtrace
Click any event to expand the detail view with the full structured payload.
🔗Filters
- Category — multi-select
- Level — minimum level to show
- Search — substring across subject and structured data
- Time range — last N minutes / hour / day / custom range
- Project — filter to events from one project
- Source — extension ID / plugin ID / MCP client ID
🔗Live Tail
Toggle Auto-scroll to follow new events. The view subscribes to the event broadcast channel via SSE (/api/events/stream) and renders new events as they arrive without polling.
🔗Recent
The Recent sub-view shows just the last 100 events from in-memory cache (faster than the database query for the most common case).
🔗Stats
The Stats sub-view aggregates events for the active filter:
- Count by category
- Count by level
- Top sources (extension/plugin/tool that generated the most events)
- Histogram by hour (24h window)
Useful for spotting noisy extensions or runaway tool invocations.
🔗Clear / Delete-Before
- Clear — wipes all events (asks for confirmation)
- Delete Before — purges events older than a chosen timestamp
Default retention is 30 days configurable in Settings → Advanced.
🔗Where Events Come From
- Built-in — every meaningful operation in the Hugin core
- Extensions —
hugin.log("info", "...")calls in Lua extensions - Plugins — log calls from dynamic MCP plugins
- MCP tools — every tool invocation logs the tool name, action, and outcome
- External —
POST /api/eventslets external scripts push events into the log
🔗MCP
The events MCP tool exposes:
list— events with filters (category / level / search / since / until)recent— recent events from memory cachestats— aggregated statsclear— clear all eventsdelete_before— delete events before timestamp