release/0.20.0
Vanilagy/mediabunnyrelease/0.20.0Jun 3, 2026by krlvi
AI Summary
This release focuses on integrating AI agents into the workflow via the 'but' CLI and introduces performance optimizations across CLI and TUI components. Key changes include the removal of the Claude Code GUI, enhanced CLI theming, and fixes for Gerrit integration and commit operations.
Key Highlights
- Introduction of AI agent support via the 'but' CLI and Claude Code skill.
- Removal of the in-app Claude Code GUI to focus on agentic workflows.
- Significant performance improvements for 'but branch [list]' commands.
- Improved reliability for commit squashing and branch creation.
- New TUI features allowing deletion of non-empty branches and copying diff content.
Breaking Changes
- Removed in-app GUI for Claude Code.
- The 'but .' command is replaced by 'but gui <path>'.
- Commands for branch creation, rewording, deletion, and restoration no longer prompt for confirmation.
New Features
- Support for AI agents to use the 'but' CLI in parallel or stacked sessions.
- CLI theming via the 'BUT_THEME' environment variable.
- Ability to discard commits in a conflicted state.
- Ability to discard multiple commits at once in the TUI.
- Ability to copy diff content in the TUI using Shift+C.
Full Release Notes
## GitButler for AI agents GitButler can now be used directly by your coding agent via the `but` CLI and the agent skill. Multiple agent session can use the `but` CLI to work in parallel or stacked, branch & commit, clean up history etc. Check the [AI Agents](https://docs.gitbutler.com/ai-agents/overview) docs for how to set it up and tune the behavior to your liking. ## Changes - Removed in-app GUI for Claude Code (superseded by the `but` skill & workflow for agentic use) - Fixes a bug with in-app deep links - Fixes a Gerrit specific bug with push destination output - Improved the performance and reliability of commit squashing - Fixes a bug where branch creation fails with "Branch cannot be created: target commit already belongs to another branch" - It is now possible to discard commits that are in a conflicted state ## CLI - The 'theme' of the CLI can now be set via the `BUT_THEME` environment variable (dark/light) - Improved error handling and display on bad user input - Significant performance improvements for `but branch [list]` - Fixes a bug where global flags did not work with aliases - `but branch new` now validates the provided name and fails instead of normalizing it - `but reword <branch>` now validates the provided name and fails instead of normalizing it - `but gui <path>` replaces `but .` for opening a directory in the GUI - `but gui -n <path>` allows opening the GUI in a new window - `but unapply` no longer prompts for confirmation - `but oplog restore` no longer prompts for confirmation - `but branch delete` no longer prompts for confirmation ## TUI - It is now easier to create a new branch from unassigned files - Adds the ability to discard multiple commits at once - You can now delete non-empty branches - You can now copy the content of diffs with Shift+C - Fixes a bug where moved files could not be committed ## New Contributors * @mturac made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/13848 **Full Changelog**: https://github.com/gitbutlerapp/gitbutler/compare/release/0.19.13...release/0.20.0 ## Downloads Download bins from https://gitbutler.com/