1
0
Fork
You've already forked anthropic-tools
0
Personal Claude tooling
  • Go 100%
Brian Morin 3be893390b
Remove queryui and simplify to hooklogger-only
- Remove cmd/queryui web interface and cmd/dashboard experiment
- Remove internal/duckdb package (pool, query, streaming, validation)
- Remove CGO dependency (go-duckdb, chi router)
- Add PermissionRequest hook event type
- Simplify .mise.toml tasks for hooklogger-only workflow
- Update README with DuckDB CLI query examples
2026年01月16日 23:30:47 -06:00
.beads Remove queryui and simplify to hooklogger-only 2026年01月16日 23:30:47 -06:00
cmd/hooklogger Remove queryui and simplify to hooklogger-only 2026年01月16日 23:30:47 -06:00
.gitattributes Initial commit: hooklogger for Claude Code hooks 2026年01月05日 15:55:28 -06:00
.gitignore Add .bv/ to gitignore for beads viewer config 2026年01月07日 19:37:54 -06:00
.mise.toml Remove queryui and simplify to hooklogger-only 2026年01月16日 23:30:47 -06:00
AGENTS.md Initial commit: hooklogger for Claude Code hooks 2026年01月05日 15:55:28 -06:00
CLAUDE.md Add mise configuration for tooling and tasks 2026年01月05日 16:40:22 -06:00
go.mod Remove queryui and simplify to hooklogger-only 2026年01月16日 23:30:47 -06:00
README.md Remove queryui and simplify to hooklogger-only 2026年01月16日 23:30:47 -06:00

anthropic-tools

Tools for working with Claude Code and the Anthropic API.

hooklogger

Logs Claude Code hook events to JSONL files for analysis and debugging.

Features:

  • Captures all hook events (tool calls, sessions, permissions, compactions, subagents)
  • Stores logs per-session in ~/.anthropic-tools/hooks/
  • Zero-overhead JSON passthrough - no parsing, no schema maintenance
  • Query logs with DuckDB for powerful analysis

Installation:

mise use -g go:codeberg.org/brahn/anthropic-tools/cmd/hooklogger
hooklogger setup

Usage:

# Configure Claude Code hooks
hooklogger setup --user
# Check configuration
hooklogger setup --check
# Remove from hooks
hooklogger uninstall

Querying logs with DuckDB:

# List sessions
duckdb -c "SELECT _raw.session_id, MIN(_ts) as started, COUNT(*) as events
 FROM '~/.anthropic-tools/hooks/*.jsonl'
 GROUP BY 1 ORDER BY 2 DESC LIMIT 10"
# Tool usage summary
duckdb -c "SELECT _raw.tool_name, COUNT(*)
 FROM '~/.anthropic-tools/hooks/*.jsonl'
 WHERE _raw.tool_name IS NOT NULL
 GROUP BY 1 ORDER BY 2 DESC"
# Search prompts
duckdb -c "SELECT _ts, _raw.prompt
 FROM '~/.anthropic-tools/hooks/*.jsonl'
 WHERE _raw.hook_event_name = 'UserPromptSubmit'
 AND _raw.prompt LIKE '%search term%'"
# Query single session
duckdb -c "SELECT * FROM '~/.anthropic-tools/hooks/{session_id}.jsonl'"

Documentation:

hooklogger help
hooklogger setup --help

Development

mise run build # Build to bin/
mise run install # Install to GOPATH/bin
mise run check # Format, lint, build
mise run sessions # List logged sessions
mise run query '...' # Run DuckDB query

License

MIT