AI Commit
Generate commit messages using any AI coding assistant you already have installed. No API keys needed — uses your existing CLI authentication.
Features
- Agent-agnostic — works with Claude Code, Gemini CLI, OpenAI Codex, GitHub Copilot, Cursor, or any custom CLI
- Zero configuration — auto-detects the first available AI CLI on your system
- SCM integrated — sparkle button in the Source Control title bar, right where you commit
- Smart diff handling — truncates large diffs at file boundaries to stay within token limits
- Customizable prompts — configure the prompt template and add extra instructions
- Clean output — strips markdown fences, preamble text, and explanations from AI responses
Usage
- Stage your changes (
git add)
- Click the sparkle icon in the Source Control title bar
- Review the generated commit message
- Edit if needed, then commit
Supported Providers
| Provider |
CLI |
Auth |
| Claude Code |
claude |
Existing Claude Code login |
| Gemini CLI |
gemini |
Existing Google auth |
| OpenAI Codex |
codex |
Existing ChatGPT login |
| GitHub Copilot |
gh copilot |
Existing GitHub auth |
| Cursor |
cursor |
Existing Cursor login |
| Custom |
Any CLI |
You manage |
Settings
| Setting |
Default |
Description |
aiCommit.provider |
auto |
Which AI to use (auto, claude, gemini, codex, copilot, cursor, custom) |
aiCommit.custom.command |
— |
Custom CLI command. Use {prompt} placeholder |
aiCommit.promptTemplate |
Conventional commits |
Prompt template. Use {diff} placeholder |
aiCommit.extraInstructions |
— |
Additional instructions appended to the prompt |
aiCommit.maxDiffLength |
20000 |
Max diff chars before truncation |
aiCommit.timeout |
60 |
CLI timeout in seconds |
aiCommit.verbosity |
2 |
Commit message detail level (1–5) |
aiCommit.claude.extraArgs |
[] |
Extra Claude CLI args (e.g., ["--model", "claude-sonnet-4-6"]). Empty = CLI default |
aiCommit.gemini.extraArgs |
[] |
Extra Gemini CLI args (e.g., ["--model", "gemini-2.5-flash"]) |
aiCommit.codex.extraArgs |
[] |
Extra Codex CLI args (e.g., ["--model", "gpt-5"]) |
aiCommit.copilot.extraArgs |
[] |
Extra Copilot CLI args |
aiCommit.cursor.extraArgs |
[] |
Extra Cursor CLI args |
Verbosity levels
aiCommit.verbosity controls commit message detail:
| Level |
Output |
| 1 |
Subject only (≤50 chars) — default |
| 2 |
Subject + 1 short body line |
| 3 |
Subject + 2-3 bullets (what & why) |
| 4 |
Subject + grouped bullet body (detailed) |
| 5 |
Full commit: subject + motivation, changes, rationale, impact |
Set in settings:
{ "aiCommit.verbosity": 3 }
Picking a model
By default, each CLI uses its own default model. To override, set extraArgs with the model flag for that CLI. Examples:
{
"aiCommit.claude.extraArgs": ["--model", "claude-haiku-4-5"],
"aiCommit.gemini.extraArgs": ["--model", "gemini-2.5-flash"]
}
Check each CLI's --help for supported flags and model names.
Custom Provider Example
To use any CLI tool that accepts a prompt and outputs text:
{
"aiCommit.provider": "custom",
"aiCommit.custom.command": "my-ai generate \"{prompt}\""
}
Requirements
- VS Code 1.85+
- At least one AI coding CLI installed and authenticated
- Git extension (built-in)
License
MIT
| |