A TUI time tracker that imports coding agent sessions (Claude Code, Codex, OpenCode) and lets you turn them into billable time entries.
- Syncs agent activity from JSONL logs into a timeline
- Shows activity markers so you see when and where agents were working
- You create time entries informed by the markers, assign projects, mark billable/non-billable
- Generate reports for invoicing
Works without agents too — add manual entries for meetings, reviews, etc.
go install github.com/akoskm/hrs@latestOr build from source:
git clone https://github.com/akoskm/hrs.git
cd hrs
go build -o hrs .# Set up a client and project
hrs client add "Acme Corp"
hrs project add "Website" --code website --client "Acme Corp" --rate 10000 --currency USD
# Map a local directory to the project (for auto-detection during sync)
hrs path add /path/to/website-repo website
# Sync agent logs
hrs sync # all sources
hrs sync claude # Claude Code only
hrs sync codex # Codex only
hrs sync opencode # OpenCode only
# Open the TUI
hrs
# Or add entries from the command line
hrs add --project website --from 9:00 --to 11:00 "Sprint planning"Stored at ~/.config/hrs/hrs.db. Override with --db flag or HRS_DB env var.
| Key | Action |
|---|---|
j/k |
Navigate entries |
n/t |
Next/previous day |
a |
Add entry in gap |
e |
Edit entry |
d |
Delete entry |
s |
Sync now |
Tab |
Switch tabs |
q |
Quit |
go test ./...MIT