Skip to content

v0.16.0

Latest

Choose a tag to compare

@iamnotstatic iamnotstatic released this 29 Oct 18:07
c448bea

Desktop tracking

  • Cursor Agent conversations are tracked again. Cursor 3.20 sends no sessionStart for an Agent conversation, so its events were being dropped. vibetime now starts tracking a conversation at the first event it sees (#146).
  • A desktop conversation that was already open when vibetime was installed is tracked from its next prompt or tool call, counting only work from then on. Applies to Claude Code, Codex, Cursor and ZCode (#146).
  • Every vibe command now repairs desktop hooks whose Node or CLI has moved, for example after an nvm upgrade, or that point at a git checkout or npx cache rather than an installed vibe. vibe status also names any app that still isn't being tracked and why, such as a settings file that is no longer valid JSON (#150).

Safer hook installs

  • Hook configs and shell rc files are written atomically, so a write racing another app can no longer leave ~/.claude/settings.json or ~/.codex/hooks.json unparseable (#147).
  • The automatic repair leaves working hooks alone, so it no longer re-pins them to a second Node version or a dev checkout. That also keeps Codex from setting them aside for review again. A repaired Codex hook keeps its position, so other tools' hooks keep their trust (#147).
  • Only vibetime's own hook commands are recognised and replaced; a command that merely contains __hook is left alone (#147).
  • The Claude Code hooks are refreshed when their pinned Node or CLI is gone, as the other apps' already were (#147).

Tests

  • The test suite runs against a scratch home, so it no longer touches the developer's own desktop app configs (#147).

Update: npm i -g vibetime-cli