// Docs

The geetree command

Open a repository from the terminal, show the working tree's changes in the compare window, and put the command on your PATH.

Usage

geetree [<dir>]                     Open the repository of <dir> (default: the current
                                    directory) in GeeTree, on its commit page
geetree compare [--wait] [<path>]   Show the working tree's changes in GeeTree's compare
                                    window (only those under <path> when given)

Options:

  • -w, --wait: with compare, return once the compare window is closed
  • -h, --help: the usage above
  • -V, --version: the version

diff is an alias for compare. Anything after -- is a path, even one spelt compare.

The command opens no window of its own: it hands the request to the GeeTree that is already running, and starts one apart from the terminal when none is. Closing the terminal leaves the app running.

Examples

geetree                       # the repository of the current directory
geetree ~/code/linux          # another repository
geetree compare               # every change in the working tree
geetree compare src/main.rs   # only that file
geetree compare --wait        # return once the window is closed (useful in a script)

Outside a git repository, geetree says so and opens GeeTree’s home; geetree compare reports the error and stops, as there is no working tree to compare.

Installing it

Preferences → General → “Install the geetree command…”. It writes a launcher on your PATH pointing at this copy of the app:

  • macOS: /usr/local/bin/geetree, which /etc/paths puts on every shell’s PATH. When that directory is not yours, it asks for an administrator’s password once.
  • Linux: ~/.local/bin/geetree. An AppImage’s launcher runs the image itself, not its mount point.
  • Windows: geetree.cmd in GeeTree’s local data directory, which is added to your own Path.

A file of that name that is not ours is never overwritten and never removed. If the app has been moved, or installed twice, Preferences says the command points at another copy; installing again points it here. On macOS an app running from a disk image or a temporary place has to be moved into Applications first.

Last updated: 2026-10-27