Model or dataset
vibe-log/vibe-log-cli avatar
vibe-log/vibe-log-cli

vibe-log-cli: local session analysis for Claude Code and Codex

A CLI tool for logging and analyzing Claude Code and Cursor ai-driven coding session.

340 stars20 forksTypeScriptMIT

At a glance

What is it?
vibe-log-cli reads your Claude Code and Codex session history and turns it into standup summaries, productivity reports and statusline feedback. The analysis path stays on your machine, but the project has not seen a push since 2026-04-19.
Who is it for?
Adopt vibe-log-cli if you already run Claude Code or Codex daily and want session history turned into standup notes or a report without shipping transcripts to a hosted service; the README states analyses can run locally through ACP, and the statusline installer backs up your existing configuration before replacing it. Skip it if you need a tool with recent commits, since the last push was on 2026-04-19, or if your sessions live in editors other than Claude Code and Codex.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 149 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What vibe-log-cli turns your session history into

Claude Code and Codex both keep a record of what you asked and what the assistant did. That record is useful for exactly one afternoon and then it is noise. vibe-log-cli exists to read those session files and produce three outputs: a standup summary of recent work, a productivity report, and a statusline that comments on the prompt you just submitted.

The intended user is a developer who already works through Claude Code or Codex for most of the day and wants a record of it without pasting transcripts into a web app. The README frames the tool as an "open-source CLI for analyzing Claude Code and Codex sessions locally and generating productivity reports", and the local part is the selling point rather than the reporting itself. Reports are the artefact; the privacy claim is the reason to pick this over a hosted dashboard.

The standup feature is the most concrete of the three. According to the README it summarizes what you worked on, key accomplishments and next steps from your recent sessions, and it is meant to take two to three minutes before a daily meeting. That is a narrow job, and the tool is honest about being narrow.

The UserPromptSubmit hook and where analysis runs

The statusline is not a passive display. The README's architecture diagram shows a Claude Code UserPromptSubmit hook firing when you press Enter, handing the prompt to the vibe-log CLI, which then decides whether the prompt starts a new chat or continues an existing one. A continuing conversation gets prior context attached; a fresh prompt is analyzed standalone. The result is a score and a suggestion, saved under ~/.vibe-log and rendered in the status line.

Analysis is described as running through the Claude Code SDK on your machine, with a coach personality layered on top. The README names three: Gordon (tough love), Vibe-log (encouraging) and Custom. This is the part worth scrutinizing. A hook that runs on every prompt submission adds latency to the one action you take most often, and the README does not publish a latency figure. It also means the analysis consumes your own model quota, which is a real cost even when no data leaves the machine.

On the reporting side, the README states analyses "can run completely locally on your machine using your local AI coding tool through ACP". ACP is the mechanism that decides which model does the summarizing, and it is the first thing to verify in your own setup, because a misconfigured ACP path is the difference between local analysis and something else.

Installing vibe-log-cli and running a first standup

There is no install step in the usual sense. The README gives a single command that fetches and runs the latest published package:

bash
npx vibe-log-cli@latest

The package is also published as vibe-log-cli on npm, and package.json declares the binary as vibe-log, so a global install exposes the `vibe-log` command instead of the package name. On first run the README describes an onboarding flow with prompts that walk you through configuration, and v0.7.x release notes mention improved error messages when that flow goes wrong.

Once configured, the standup is the fastest way to see whether the tool has found your sessions at all:

bash
npx vibe-log-cli@latest

Run it in a project where you have used Claude Code recently and choose the standup option. You should get a short summary covering what you worked on, accomplishments and next steps. If the output is empty, the tool has not located your session history, and that is a configuration problem rather than a bug in the summarizer.

The statusline installs separately. The README states it automatically backs up your existing status line configuration and that uninstalling restores the original setup. Treat that backup as the thing to confirm before you install, not after. If you have hand-written statusline logic, check where the backup lands and that the restore path works on your machine before you rely on it.

Timestamps, huge sessions and the truncation trade-off

Session duration is harder to compute than it looks, and the v0.7.x notes are unusually specific about it. Sessions with 10,000 or more messages previously caused performance problems; the fix is smart truncation that keeps time data intact while dropping content. Timestamp parsing and validation were tightened, and sessions with missing or invalid timestamps were handled.

That is a reasonable engineering answer, but it is still a trade-off. Truncation means the report is generated from a subset of a very long session, and the README does not say how the subset is chosen or whether the report discloses that truncation happened. If you routinely run marathon sessions, read the output with that in mind: a summary of a truncated session is a summary of part of your day, and nothing in the described output marks the boundary.

The other constraint is scope. The tool reads Claude Code and Codex sessions. If your work is spread across other assistants, vibe-log-cli sees only the part that went through those two, and the standup will understate what you did. That is a data-source limitation, not a bug.

Where a hosted analytics dashboard fits better

The obvious alternative is a hosted developer analytics product that ingests assistant telemetry and gives a team dashboard. The difference is architectural, not cosmetic. A hosted tool centralizes data so several people can compare numbers, which is what a manager wants and what a privacy-conscious individual does not. vibe-log-cli inverts that: the README states no data leaves your machine for local report generation, and the price is that there is no shared view, no cross-developer comparison and no server-side history you can query later.

If your goal is a leaderboard or a team-level view of AI usage, this is the wrong shape of tool, and the related searches around a "vibe coding leaderboard" point at a need vibe-log-cli does not serve. If your goal is a personal record and a standup note, the local model is the better fit and the missing dashboard is not a loss.

A second alternative is doing nothing and reading your own session history directly. Claude Code stores sessions on disk, and the raw files are readable. vibe-log-cli's value is the summarization and the statusline hook, not access to the data. If you only need to grep past sessions, you do not need this package.

Maintenance, licence and what a fork would cost you

The last push to the default branch was on 2026-04-19, and the most recent releases listed are v0.8.14, v0.8.13 and v0.8.12, all published on 2026-04-19. The repository is not archived, but five months without a push is long enough that you should not assume fixes are coming on your schedule. The version in package.json is 0.8.14, so the project is pre-1.0 and the surface can still move.

The licence is MIT, which permits commercial use, modification and redistribution with the copyright notice retained. That is permissive enough for internal tooling at a company. It says nothing about the data you feed the tool, and the README points at a separate SECURITY.md for that; if you are generating reports from client work, read it rather than assuming the MIT licence covers your obligations.

Upgrade cost is low in the happy path because the README recommends running the latest published version through npx, so there is no lockfile to bump. The cost sits in the statusline hook instead. Every upgrade can change hook behaviour, and because the hook runs on prompt submission, a regression is felt immediately. The build scripts include checksum generation and verification (verify:checksums), which suggests the maintainers care about artifact integrity, but that is a supply-chain measure, not a compatibility guarantee.

Editorial conclusion

Adopt vibe-log-cli if you already run Claude Code or Codex daily and want session history turned into standup notes or a report without shipping transcripts to a hosted service; the README states analyses can run locally through ACP, and the statusline installer backs up your existing configuration before replacing it. Skip it if you need a tool with recent commits, since the last push was on 2026-04-19, or if your sessions live in editors other than Claude Code and Codex. Before trusting it, run npx vibe-log-cli@latest on one project, check what appears under ~/.vibe-log, and read SECURITY.md and the ACP setup notes to confirm which model endpoint the analysis actually calls.

Frequently asked questions

What is vibe-log-cli and how do I use it?

It is an open-source CLI that analyzes Claude Code and Codex sessions to produce standup summaries, productivity reports and a Claude Code statusline. The README's getting-started step is to run npx vibe-log-cli@latest, which triggers a first-run onboarding flow.

Does vibe-log-cli send my Claude Code sessions to a server?

The README states that analyses can run completely locally on your machine using your local AI coding tool through ACP, and that no data leaves your machine for locally generated reports. The repository also carries a SECURITY.md, which is where the project documents its security policy.

Does installing the vibe-log-cli statusline overwrite my Claude Code status line?

The README states the installer automatically backs up your existing status line configuration and that uninstalling instantly restores your original setup. It describes this as zero risk to your Claude Code configuration, so the restore path is the thing to confirm on your own machine.

How do I install vibe-log-cli?

The README gives one command, npx vibe-log-cli@latest, which runs the latest published version without a global install. The package is also published on npm as vibe-log-cli, and package.json declares the binary name as vibe-log.

Official sources

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. vibe-log/vibe-log-cli on GitHub
Community notes

Community notes