Worklog for Claude Code
See what you did with Claude Code each day, and how many tokens it used. Automatically.
Independent community project, not affiliated with or endorsed by Anthropic.
What is this?
You use Claude Code all day. At the end of it, this tool gives you a simple page that shows:
- ✅ What you worked on: a short summary for each project
- 📊 How many tokens you used: per day, per account and per model
- 💻 All in one place: even if you use several computers or several Claude accounts
- 💬 Your claude.ai chats too (optional): import claude.ai's data export to see chats next to your coding work
It works in the background. You don't have to do anything after setup.
Try it first (no setup)
pipx run --spec worklog-for-claude-code claude-worklog demo
Then open http://localhost:8766. It shows fake example data and doesn't touch your files. Press Ctrl+C to stop.
Install
You need Linux, Python 3.10+ and Claude Code.
# 1. Install
pipx install worklog-for-claude-code
# 2. Create a folder for your data and start the tool
git init ~/claude-worklog-data
claude-worklog install-service
3. Open http://worklog.localhost:8765, fill in the short setup form, then click Install hook.
Done. Your work log fills up as you use Claude Code.
Using more than one computer? Put the data folder in a private GitHub/GitLab repo so all your machines share it. See Full setup.
Is my data private?
Mostly yes, with a few things you should know.
- 🔒 Everything stays on your computer, plus your own private git repo if you set one up. No cloud service, no tracking.
- ✂️ Only short notes are saved: the first 300 characters of each prompt, token counts, file names and commit messages. Your files and Claude's replies are never saved, but a code snippet you paste into a prompt can end up in those 300 characters.
- 🧹 Common secrets are hidden (best effort): well-known API key formats,
password=…/token=…pairs, e-mail addresses and IP addresses are replaced with[REDACTED]before saving. This can miss things, such as a password written in a normal sentence, so keep your data repo private. - 🤖 Optional AI summaries use your own Claude account (
claude -p). Turn them off in Settings to keep everything fully local. - 💬 Imported claude.ai chats keep only chat titles and short redacted snippets of your own messages. Claude's replies, chat summaries and attachments are never saved.
Good to know
- Claude Code is tracked automatically. claude.ai chats have no live connection: you import its data export on the Sources page (upload it, or let worklog pick it up from your Downloads folder). Exports have no token counts. See claude.ai chats.
- Linux only for now (it uses systemd).
- It reads Claude Code's local log files. Their format isn't official, so a Claude Code update could break it for a while.
More
- 📖 Full guide: several computers, several accounts, all commands, uninstalling
- 🐛 Report a bug · 🔐 Security · 🤝 Contributing · 📝 Changelog
License
MIT © 2026 Urvin
Metadata
Release files for worklog-for-claude-code 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| worklog_for_claude_code-0.2.0.tar.gz | 70.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| worklog_for_claude_code-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 135.0 kB
Release files / worklog_for_claude_code-0.2.0.tar.gz
| Download URL | worklog_for_claude_code-0.2.0.tar.gz |
|---|---|
| Size | 70.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de126348f7b91b7b1712bfa328d2b6d473c6181cbe9eb0b6cddc70a9c3d788a1
|
|
BLAKE2b-256 checksum How to use checksums |
3deb5feb088d152dccde856924ed816fb5368bd1585919104097b4837e04a0e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / worklog_for_claude_code-0.2.0-py3-none-any.whl
| Download URL | worklog_for_claude_code-0.2.0-py3-none-any.whl |
|---|---|
| Size | 64.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
39ed3b3e7872bd57b85a8275bf1bba544208596d69692c0b2d6c748a942a919e
|
|
BLAKE2b-256 checksum How to use checksums |
17d860825d184e397d033e9b0d8a3e413c179fc5bf073fd953ed90033eee467c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log