Configuration
Configure hooks, density levels, multi-CLI support, and server settings.
Hook Density Levels#
Hook density controls how many events are captured from your AI CLI sessions.
| Level | Claude Events | Description | |-------|--------------|-------------| | high | All 14 | Full monitoring, best approval detection | | medium | 12 (no TeammateIdle, PreCompact) | Default — good balance of coverage and overhead | | low | 5 (Start, Prompt, Permission, Stop, End) | Minimal overhead, basic session tracking |
Change density via the setup wizard or settings panel:
npx ai-agent-session-center --setupOr update data/server-config.json:
{
"hookDensity": "high"
}Multi-CLI Support#
The dashboard can monitor three AI coding CLIs simultaneously:
| CLI | Events | Notes | |-----|--------|-------| | Claude Code | 14 events | Full lifecycle, approval detection, teams | | Gemini CLI | 7 events | BeforeAgent, BeforeTool, AfterTool, AfterAgent, etc. | | Codex | 1 event | agent-turn-complete |
Enable multiple CLIs during setup or by editing the config:
{
"enabledClis": ["claude", "gemini", "codex"]
}Server Configuration#
All server settings live in data/server-config.json:
| Field | Type | Default | Description |
|-------|------|---------|-------------|
| port | number | 3333 | HTTP/WS listen port |
| hookDensity | string | "medium" | high, medium, or low |
| debug | boolean | false | Verbose logging |
| processCheckInterval | number | 15000 | PID liveness check interval (ms) |
| sessionHistoryHours | number | 24 | History retention |
| enabledClis | string[] | ["claude"] | Which CLIs to hook |
| passwordHash | string | null | Dashboard password (salt:hash) |
Port Configuration#
The port is resolved in priority order:
--portCLI flagPORTenvironment variableconfig.portindata/server-config.json- Default: 3333
# CLI flag
npx ai-agent-session-center --port 8080
# Environment variable
PORT=8080 npm startIf the port is already in use, the server automatically kills the occupying process and retries.
Hook Management#
# Install hooks (respects current density setting)
npm run install-hooks
# Uninstall all dashboard hooks
npm run uninstall-hooks
# Full reset (remove hooks, clean config, create backup)
npm run resetThe hook installer uses atomic writes (write to temp file, then rename) to prevent corrupting your CLI settings files.
Authentication#
Optional password protection can be enabled during setup or by running the wizard again. Passwords are hashed with scrypt (timing-safe comparison). Tokens are valid for 24 hours.
When enabled:
- All API endpoints require authentication
- WebSocket connections must include a token
- Hook ingestion (
POST /api/hooks) is always unauthenticated (hooks must work without login)