agentlog
What did your coding agent actually do today?
agentlog reads your local Claude Code and Codex session logs and answers that in a screen. It has two faces:
- At a terminal it writes a standup-style brief: what each project was about, whether it got done, and what is waiting on you. This asks a model CLI already on your machine — claude or codex, whichever is hosting the shell you run it in, or whichever is installed — and it is the one thing here that sends your day anywhere — see Privacy.
- Everywhere else — pipes, hooks, cron, or --log — it prints the plain log: which projects, which files, what failed. Offline, no network, no API key.
Everything is organised by project, because that is the first thing you want to know. Sessions, IDs and token counts are still there — one flag away — but they are not the headline.
--html writes the same digest as a self-contained file you can drop in a chat or share with a teammate. It works offline, requires no server, and contains no external assets.
---
30-second quickstart
pip install stillworks # one install, all five agent tools, including this one
agentlog today
# Or run from a checkout, no install needed — it is stdlib only:
cd /path/to/agentlog && python3 -m agentlog today(Since stillworks 0.2.0 the whole family ships in one wheel. The command, the module, and the repo are all just agentlog; the old standalone PyPI name agentlog-tool is the 0.1.x era and gets no further releases.)
What the log looks like (agentlog --log on 2026-08-03 — an invented day; yours shows your own prompts and files. The brief, the terminal's default face, is shown under "View flags" below):
2h 58m active across 3 projects · on 2026-08-03
shop-api 1h 41m 21 files edited · 214 commands · 9 errors
asked "add a retry with backoff to the payment webhook, and make the
failure path land in the dead-letter table so nothing is…"
edited …/webhooks/payments.py, …/dead_letter.py, …/test_webhooks.py
failed pytest tests/test_webhooks.py -k retry …
alembic upgrade head …
docs-site 49m 6 files edited · 78 commands
asked "rewrite the quickstart so someone who has never seen the CLI
can follow it — every command copy-pasteable…"
edited docs/quickstart.md, docs/install.md, mkdocs.ymlasked "why did the staging deploy roll back last night? read the pipeline logs and tell me before touching anything…" edited …/deploy/staging.yml, …/deploy/rollback.sh failed kubectl logs deploy/api -n staging --since=12h …
5 sessions · 3 claude, 2 codex · busiest 15:00–16:00 compacted 17x in 2 sessions · 1h 3m spent on it, 2,481,506 tokens dropped more: agentlog list · agentlog show ID · agentlog --sessions
Busiest project first. `asked` is the prompt you typed that names the work — the
one row that says what the session was *for*; the files are the ones written
most often, and `failed` names the command behind each error rather than just
counting them.
Generate an HTML digest you can share:
agentlog today --html today.html
then open today.html in a browser — no server required
---
## Commands