release/0.20.4

getzep/graphitirelease/0.20.4Jun 26, 2026by krlvi

AI Summary

This release introduces an interactive agent setup wizard, enhances CLI usability with new flags and the removal of legacy commands, and significantly expands TUI features including stack reordering and improved navigation. It also includes various performance optimizations and bug fixes.

Key Highlights

  • New interactive `but agent setup` command for easier Agent configuration.
  • Expanded TUI capabilities: reordering stacks, moving multiple commits, and improved scroll keybindings.
  • CLI improvements: `but amend --changes`, `but commit` message support, and stable hunks.
  • UX refinements: 'Uncommitted' label for unassigned changes and Font size setting in diff views.

Breaking Changes

  • Removed `but mark` and `but unmark` commands.

New Features

  • Interactive `but agent setup` command.
  • CLI: `but amend --changes` to amend specific changes.
  • CLI: `but commit` now accepts a message for empty commits.
  • CLI: `but uncommit` supports diff output option.
  • CLI: `but status` shows merged upstream stacked branches.
  • CLI: `but completions` now appears in help output.
  • TUI: Reorder stacks.
  • TUI: Apply branches from the interface.
  • TUI: Move multiple commits at once.
  • TUI: Commit above or below selected commit.
  • TUI: Copy details (shift+y) for commit details, diff hunks, branch names.
  • TUI: Improved scroll keybindings (j/k, ctrl+d/u, shift+j/k).
  • Settings: Font size adjustment for diff views.

Full Release Notes

## Agentic Use

There is now a new command `but agent setup` which makes the overall setup easier. It is an interactive wizard for tuning version control behavior (similar to https://docs.gitbutler.com/ai-agents/tuning-agent-behavior but easier to setup). Running this is a good idea for best performance.

- Multi-committing, amending and splitting of commits now complete quicker and use less tokens
- Improved PR stacking workflows

## Changes

- There is now a "Font size" setting for the diff views (Settings → Appearance) 

## CLI

- `but amend` now accepts `--changes` to amend specific changes into a commit
- You can now provide a message when creating an empty commit with `but commit`
- `but uncommit` now supports a diff output option to print the resulting changes
- `but status` now shows stacked branches that have been merged upstream
- Hunk IDs are now stable across commits and discards
- `but completions` now appears in the help output, making it discoverable when you grab the `but` binary without an installer
- `but` output now labels "unassigned changes" as "uncommitted"
- Fixes a bug where `but apply` could report success while leaving a branch unapplied when workspace metadata was stale
- Removed the `but mark` and `but unmark` commands
- Improved error messages when `stdin` isn't a terminal

## TUI

- You can now reorder stacks in the TUI
- You can now apply branches from the TUI
- You can now move multiple commits at once in the TUI
- You can now commit above or below the selected commit in the TUI
- You can now copy more things in the TUI — commit details, diff hunks, branch names and more — with `shift+y`
- Improved scroll keybindings: `j`/`k`/arrows move by line, `ctrl+d`/`ctrl+u` jump by 10 lines, and `shift+j`/`shift+k` jump by section
- Unapplying a branch and undoing no longer prompt for confirmation in the TUI, since both can be undone

## Fixes

- Fixes a bug where moving empty branches did not work correctly
- Fixes a bug where commit-message and branch-name generation failed for non-OpenAI providers (Anthropic, Ollama, and others)
- Fixes an issue where commit signing failed when `gpg.ssh.program` pointed at a path containing a tilde (`~`)
- Fixes an issue where being offline produced repeated error toasts from background pull-request polling
- Fixes an issue where updating the workspace was not handling squash-merge integrated branches properly

## New Contributors
* @ameyypawar made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/14245
* @tobeycodes made their first contribution in https://github.com/gitbutlerapp/gitbutler/pull/14348

**Full Changelog**: https://github.com/gitbutlerapp/gitbutler/compare/release/0.20.3...release/0.20.4

## Downloads

Download bins from https://gitbutler.com/