Smart Squash
Smart Squash analyzes your commits and generates a single, meaningful commit message when squashing.

How It Works
Section titled “How It Works”- Navigate to the Commits tab
- Select the commit you want to squash into (all commits above it will be squashed)
- Press S to open the Smart Squash popup
- AI analyzes all commits and generates a combined message
- Press Enter to apply or Esc to cancel
The AI considers:
- Each commit’s message and body
- The overall intent of the changes
- Your current branch name for context
Generated Message Format
Section titled “Generated Message Format”Smart Squash follows Conventional Commits:
<type>(<scope>): <description>
<body explaining the combined changes>The AI determines the most appropriate type based on the commits being squashed:
- If most commits are
feat, the squashed message usesfeat - Mixed commits get a type reflecting the primary intent
- Breaking changes are preserved with
!
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”| Key | Action |
|---|---|
| S | Open Smart Squash popup (in Commits tab) |
| Enter | Apply squash |
| Esc | Cancel |
When to Use Smart Squash
Section titled “When to Use Smart Squash”Before Opening a PR
Section titled “Before Opening a PR”Clean up your work-in-progress commits:
fix: typowip: trying somethingfix: actually fix itfeat: add login buttonBecomes:
feat(auth): add login buttonAfter Code Review
Section titled “After Code Review”Squash fixup commits from review feedback into the original implementation.
Feature Branch Cleanup
Section titled “Feature Branch Cleanup”Combine related commits before merging to keep main branch history clean.
Select the Right Base
Section titled “Select the Right Base”The commit you select becomes the base — all commits from HEAD down to (and including) that commit will be squashed.
Review Before Applying
Section titled “Review Before Applying”Always read the generated message. The AI synthesizes multiple commits, so verify it captures the overall change accurately.
Small Batches
Section titled “Small Batches”For large numbers of commits, consider squashing in batches. This gives better results than squashing 20+ commits at once.