COMMITTED
AI-generated commit messages, powered by your own Claude Code account.
No API key. No Copilot subscription. No data brokered through a third-party service. Click one button, get a commit message generated by Claude — running through the claude CLI you already have installed and authenticated with your Claude Pro / Max subscription.
v0.1.0 — Initial release. Adds a one-click commit message generator to VS Code's Source Control panel. Reads your diff, shells out to your local Claude Code CLI in print mode, fills the commit message box with the result. Your diff never leaves your machine through any path other than the one you already use for claude itself.
Why
VS Code shipped an "AI commit message" sparkle button. It only works if you pay for GitHub Copilot. If you already pay Anthropic for Claude Pro or Max, you've effectively been asked to pay twice for the same feature — and route your private diffs through a competing vendor in the process.
COMMITTED uses the Claude Code CLI you already have. Same auth, same tokens, same provider. The button works again.
How it works
- You edit files. VS Code's Source Control panel shows the changes (no change to your workflow).
- You click the sparkle icon COMMITTED contributes to the commit message box.
- COMMITTED runs
git diff --cached (or git diff if nothing is staged) and pipes the diff to claude -p --model haiku.
- The generated message lands in your commit message box.
- You read it, edit if needed, click the blue Commit button.
The model defaults to Claude Haiku 4.5 — fast, cheap, and 90% as good as Sonnet for what is fundamentally a short-input, short-output task. You can switch to Sonnet or Opus per repo or globally in settings.
Install
From the VS Code Marketplace:
ext install fibogacci.committed
Or via Quick Open (Ctrl+P / Cmd+P), paste:
ext install fibogacci.committed
You also need the Claude Code CLI installed and on your PATH. If claude --version works in your terminal, COMMITTED will work in VS Code.
Don't have Claude Code yet? Install it from claude.com/claude-code. One install, two sign-in clicks, done. Works with Pro and Max plans.
Use
- Make changes to your repo.
- Stage what you want to commit (or don't — COMMITTED will summarize unstaged changes and warn you to stage before committing).
- Click the sparkle icon in the Source Control commit message box.
- ~1–3 seconds later, a commit message appears in the box.
- Review. Edit. Click Commit.
That's it. There is no separate side panel, no chat window, no model selector to pick from on every run. The whole product surface is one button.
Showcase
One-click generation
The sparkle icon sits inside the SCM commit message box. Click it. The box fills. You commit.
|
Conventional Commits by default
feat:, fix:, refactor:, chore:, docs:, test:, perf:, ci:, build:, style: — generated in the style of the team conventions you already use. Switchable to plain descriptive or terse.
|
Your own Claude account
Routes through the claude CLI on your machine. Your diff is sent to Anthropic the same way it would be in any Claude Code conversation — no third-party proxy, no separate API key, no Copilot.
|
Per-task model selection
Haiku for everyday commits. Sonnet for unusually large or subtle diffs. Opus when you really want to burn through your usage limits. Picker via the Command Palette: COMMITTED: Set default model.
|
Three commit styles
Conventional Commits. Plain descriptive. Brutally terse. Pick once in settings — or change per-repo via .vscode/settings.json.
|
Optional commit body
Toggle committed.includeBody and COMMITTED also generates a short body explaining the why behind the change — never just a restatement of the diff.
|
Friendly empty state
No diff? COMMITTED tells you, instead of spinning indefinitely or generating a hallucinated message.
|
Friendly errors
Missing claude on PATH? Bad timeout? COMMITTED surfaces what went wrong and a one-click action to fix it.
|
Configuration
| Setting |
Default |
Description |
committed.model |
haiku |
Which Claude model to use. haiku, sonnet, or opus. |
committed.style |
conventional |
Commit message style. conventional, descriptive, or terse. |
committed.includeBody |
false |
Generate a short body explaining the why, in addition to the subject line. |
committed.claudeBinary |
claude |
Path to the Claude Code CLI. Override if it's not on your PATH. |
committed.maxDiffBytes |
40000 |
Diff size cap. Diffs larger than this are truncated to keep prompt under context limits. |
committed.includeUntracked |
false |
When no staged or unstaged tracked changes exist, include untracked filenames (not contents) in the prompt. |
committed.timeoutMs |
90000 |
How long to wait for Claude before giving up. |
Privacy
COMMITTED makes zero network calls of its own. It does not phone home. It does not collect telemetry. It does not log your diffs or commit messages anywhere outside your normal git repository.
The only network egress involved in using COMMITTED is the one made by the claude CLI when you click the button — the same egress that happens any time you run claude from your terminal. COMMITTED itself is a thin wrapper around git diff and claude -p.
This is a contractual commitment, not just a design choice. See the License Agreement, Section 5.
Compatibility
COMMITTED pairs naturally with FINALLY, the terminal panel organizer from the same publisher. Both are single-purpose, single-button extensions that fix a specific VS Code annoyance without taking over your workspace. Install either, both, or neither — they have no shared state.
COMMITTED works without FINALLY.
Requirements
- VS Code 1.74.0 or newer.
- Git (any modern version).
- Claude Code CLI installed and signed in. Free with any Anthropic Claude Pro or Max subscription. See claude.com/claude-code.
COMMITTED does not require:
- A GitHub Copilot subscription.
- An Anthropic API key.
- An Anthropic Console account beyond your Claude Pro / Max sign-in.
- Internet access for the extension itself (only
claude needs it).
Roadmap
v0.2
— status-bar indicator with current model, "Regenerate with a different model" right-click action, Conventional Commits type override, per-workspace model setting, generation cancellation, last-diff-hash guard.
v0.3
— project-local .committed.md prompt addendum, scope auto-detection from staged paths, branch-name awareness, optional Co-authored-by footer.
v0.4
— pre-commit hook companion, multi-repo workspace polish, amend-mode command, PR title generator.
See ROADMAP.md for the full plan, what's explicitly out of scope, and the versioning policy.
License
COMMITTED is licensed under a proprietary End User License Agreement. The full text ships with every release and is surfaced as the License tab on the Marketplace listing. The short version: free for personal and Internal Business Purpose use, no redistribution, no reverse engineering, no derivative works. The current version is offered at no monetary cost; future versions may introduce paid tiers without affecting your rights in any version you have already installed.
Feedback
Bug reports and feature requests are welcome through the contact channel listed on the Visual Studio Code Marketplace publisher profile for fibogacci.