No account required for local setup. Open setup guide
Git-native context layer

Your AI's context
shouldn't die when you
switch tools.

CVC keeps the prompts, context, and reasoning behind AI-assisted changes in your Git repo — commit-linked and portable across Claude Code, VS Code with GitHub Copilot, Cursor, Windsurf, and any MCP client. Nothing leaves your machine unless you say so.

Volute CVC is a portable, Git-native AI coding context layer for commit history, code review, and pull requests, built for three entry points: Claude Code through its lifecycle hooks (Transcript tier), a VS Code extension that watches GitHub Copilot chats (Transcript tier), and an MCP server for Cursor, Windsurf, and other MCP-compatible clients (Attested tier). Passive capture starts only after a one-time local acknowledgement.

Claude Code hooksVS Code pluginGlobal npm install for MCPOpen-source client, Apache-2.0Hosted review later

Claude Code — native capture through its lifecycle hooks

Acknowledge local capture once per repository, install the hooks, start a new session. Every assistant response is recorded from Claude Code's own transcript — Transcript tier, no model cooperation — and the response that commits links to its commit. Set up Claude Code → · What's new in 0.7.0 →

Claude Code · lifecycle hooks · Transcript tier
~/api$cvc init
Initializing CVC database at ".git/cvc/index.db"
Installing CVC hooks...
CVC Initialized successfully!
~/api$cvc privacy acknowledge-capture
›I UNDERSTAND LOCAL CAPTURE(typed by you)
Capture acknowledgement saved locally; it is never synced.
~/api$cvc harness install claude-code
Claude Code hooks installed in .claude/settings.local.json
events: PostToolUse, Stop, SessionEnd
This install is per checkout: run it again in each linked worktree you use.
~/api$cvc conversations
2026-10-04 11:42 7 thought(s), 2 linked 9f3c2e1a-… [private]
Fix the race in token refresh
Recorded from the transcript — no prompting, no model cooperation.
~/api$

VS Code + GitHub Copilot

Install one extension, acknowledge local capture once per repository, and the watcher records Copilot chats in the background. Transcript tier.

IDE Extension
Commit context timeline
Pending context2 pending
Check the user session before protected routes...💬
Use JWT-based auth to avoid sticky sessions...💬🤖
feat: add JWT auth middlewarea1b2c3d
refactor: extract auth configb2c3d4e

MCP clients

Install the npm package once, then connect CVC in Cursor, Windsurf, Claude Desktop, or another MCP client. Attested tier: what the agent chooses to record through commit_thought.

CVC MCP setup
~/cvc$npm install -g @volute_cvc/cvc-mcp
added 1 package in 2s
Global CVC MCP command is now available.
Next: add cvc-mcp as an MCP server in Cursor, Windsurf, or Claude Desktop or Code.
~/cvc$cvc-mcp
CVC MCP server started on stdio.
Tools ready: setup_cvc, commit_thought, read_history, get_context.
~/api$setup_cvc --repo ~/api
✔ CVC is enabled for this repository.
Ready for MCP-based local workflows.
~/api$

Hosted review when you want to share context.

Keep local setup simple, then use the hosted reviewer later when teammates need the code diff and the captured reasoning in one place.

cvc-reviewer — Hosted review
src/auth/middleware.ts
12export async function updateSession(req) {
13const supabase = createServerClient(...)
14const { data: { user } } = await supabase.auth.getUser()
15
16if (isProtectedRoute && !user) {
17return NextResponse.redirect('/login')
18}
19
20return supabaseResponse
21}
Review context
Developer note
Check the user session on the server before applying protected-route redirects.
Code changes
await supabase.auth.getUser()
return NextResponse.redirect('/login')
Why it changed
Redirect added for unauthenticated requests after server-side session validation.

Reviewers can inspect the code diff alongside the captured decision note instead of guessing why the change happened.

Why CVC?

Not another cloud your reasoning gets locked into.

The context lives as immutable records inside your repository, and Git is the sync transport — no server, no vendor database. It travels with every clone and stays useful in whichever AI client you open next.

Your context follows the code

Capture in VS Code with Copilot today, read the same commit-linked history from Cursor or Claude tomorrow. The trajectory lives in the repo, not the tool.

See the reason beside the diff

CVC keeps the explanation for AI-assisted changes close to the code so review is faster and less guesswork-heavy.

Add hosted review later

Stay local at first, then sign in only when you want private repo review, shared links, or team workflows.

Open source

A tool that captures your prompts should be code you can read.

The CVC client — core library, CLI, MCP server, and the VS Code extension — is open source under Apache-2.0. Capture is local-first: nothing leaves your machine unless you say so.

Read the source on GitHubRelease binaries and checksums ship on GitHub Releases.
Pricing

Start local. Upgrade for hosted collaboration.

Local setup is the easiest way to try CVC in your current workflow. Add hosted review later when private repositories, shared review links, or team access matter.

Local tools

For individual developers getting started in VS Code or an MCP-compatible client.

$0/month

  • VS Code extension and MCP setup
  • Local metadata stored in your environment
  • Review commit context alongside code
  • No platform login required for local setup
Open setup guide
Closed Beta

Hosted platform

For teams that need hosted review on private repositories, shareable review links, and account-level access controls.

Hosted access is currently beta/gated

Sign in with GitHub when you need hosted review. Local setup still works without a platform login.

  • Everything in local tools
  • Hosted review for private repositories
  • Shareable review URLs for teammates and reviewers
  • Team access, org workflows, and billing controls
Sign in for hosted review