release/0.20.0

takahirom/arbigentrelease/0.20.0Jun 3, 2026by krlvi

AI Summary

This release focuses heavily on AI agent integration and CLI/TUI enhancements, including performance improvements, better error handling, and new workflows for coding agents.

Key Highlights

  • AI agent integration via the `but` CLI
  • CLI theme support via environment variable
  • Performance improvements for `but branch`
  • TUI improvements for diff copying

Breaking Changes

  • Removed in-app GUI for Claude Code

New Features

  • AI Agent integration
  • CLI theme support
  • TUI diff copying
  • Improved commit squashing

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/