AI-powered git commit message generator supporting multiple AI providers (Gemini API, Claude CLI, Codex OAuth).
Analyzes your staged git changes and generates 5 Conventional Commits-compliant commit message suggestions using AI. Select one or enter your own.
# Use uvx (no installation required)
uvx commit-with-ai
# Or install globally
pip install commit-with-aigit clone https://github.com/chenwei791129/commit-with-ai.git
cd commit-with-ai
uv run -m commit_with_aiChoose your AI provider via --provider flag or COMMIT_AI_PROVIDER environment variable:
# Use Gemini (default)
commit-with-ai
# Use Claude CLI
commit-with-ai --provider claude-cli
# Use Codex OAuth (reuses your codex ChatGPT login)
commit-with-ai --provider codex-oauth
# Or set via environment variable
export COMMIT_AI_PROVIDER="claude-cli"Priority: --provider flag > COMMIT_AI_PROVIDER env > default (gemini)
Override the default model via --model flag or COMMIT_AI_MODEL environment variable:
# Use a specific model
commit-with-ai --provider claude-cli --model sonnet
# Or set via environment variable
export COMMIT_AI_MODEL="sonnet"Priority: --model flag > COMMIT_AI_MODEL env > provider default
Set your Gemini API key:
export GEMINI_API_KEY="your-api-key-here"Get your API key from Google AI Studio.
| Setting | Default |
|---|---|
| Model | gemini-3-flash-preview |
Requires Claude Code installed and authenticated locally. No API key needed — uses your existing Claude CLI credentials.
# Install Claude Code (if not already installed)
npm install -g @anthropic-ai/claude-code
# Authenticate
claude login| Setting | Default |
|---|---|
| Model | haiku |
Reuses the OAuth credentials that codex stores locally after you log in with a ChatGPT account. No API key needed — it reads the existing access token from ~/.codex/auth.json and calls the same backend codex uses.
Prerequisites: codex must be installed and logged in with a ChatGPT account (auth_mode must be chatgpt).
# Install codex (if not already installed)
npm install -g @openai/codex
# Log in with your ChatGPT account
codex loginWhen the stored access token has expired, this provider does not refresh it automatically. Run codex once to refresh the login, then retry commit-with-ai.
Note: This provider talks to codex's non-public backend interface (
https://chatgpt.com/backend-api/codex). That interface is undocumented and may change without notice, which could break this provider until it is updated.
| Setting | Default |
|---|---|
| Model | gpt-5.4-mini |
# If installed via pip
git config --global alias.ac '!commit-with-ai'
# Or if using uvx (no installation)
git config --global alias.ac '!uvx commit-with-ai'git add <files>
git ac
# Or with provider/model options
git add <files>
commit-with-ai --provider claude-cli --model sonnet| Variable | Description | Default |
|---|---|---|
COMMIT_AI_PROVIDER |
AI provider (gemini, claude-cli, codex-oauth) |
gemini |
COMMIT_AI_MODEL |
AI model name | Provider-specific |
GEMINI_API_KEY |
Gemini API key (for gemini provider) | — |
GOOGLE_API_KEY |
Alternative Gemini API key | — |
Analyzing staged changes...
Generating commit message options with claude-cli (haiku)...
======================================================================
Select a commit message:
======================================================================
1. feat(auth): add user authentication system
2. feat: implement login and registration flow
3. chore(deps): add authentication dependencies
4. docs: update README with auth setup instructions
5. refactor(auth): restructure authentication module
6. Enter custom message
7. Cancel
======================================================================
Enter selection [1-7]: