vibecommitdocsinstallpricinggithubsign instart →
install · capture client

Install the client.
Sign in once.

VibeCommit records your coding-agent sessions from a client that runs on your own machine. vibecommit connect wires Claude Code hooks on Stop, PreCompact, and SessionEnd, and writes a git post-commit hook into the clone you run it in.

  1. 01 · install
    $npm install -g @vibe-commit/capture
  2. 02 · connect
    $vibecommit connect

    Opens your browser to sign in with GitHub, then installs the hooks below and prints what it did. Run it once in each clone you want observed.

What the install writes

Claude Code settings

Hooks on Stop, PreCompact, and SessionEnd. They hand the session to the client when Claude Code finishes a turn, compacts, or exits.

.git/hooks/post-commit

A git hook, in the clone you ran vibecommit connect in. It records the commit against the session that was capturing in that clone when the commit landed — what was active, not who wrote the code. This is per clone — another clone of the same repo has none until you connect there — and the hook is safe to delete.

when the commit hook cannot run

Three cases where a naive install would do nothing and say nothing. Here is what happens instead — and none of them change what vibecommit connect exits with, because observing commits is an addition to capturing sessions, not a precondition for it.

core.hooksPath is set
Git ignores .git/hooks entirely when core.hooksPath points somewhere else, so this is a refusal rather than a warning: nothing is written, into .git/hooks or into the configured directory, and vibecommit connect reports that the commit hook is not active. Writing a file that silently never runs would be worse.
you already have a post-commit hook
Yours is moved aside and chained, never overwritten — and it runs first, with its exit status preserved. Ours runs after and cannot change the outcome.
the send fails
Captures are spooled on disk, and the spool is truncated only on a 2xx from the server. A send that fails stays in the spool and is retried rather than dropped.
optional

The MCP server

A separate surface your coding agent talks to in-session, so it can reach the record while it works. Capture does not depend on it — install it only if you want your agent to have it. Setup for nine clients lives in the docs.

mcp setup →