Skip to main content
Commit+ includes a built-in CLI command that opens any Git repository directly in the app from your Terminal. No separate install step is needed — the command is bundled inside Commit+.

Quick start

The command resolves the Git working-tree root automatically, including subdirectories and linked worktrees, then opens or focuses the corresponding Commit+ window.

How it works

  1. Run commit with an optional path argument.
  2. The CLI resolves the Git working-tree root from the given path.
  3. If the repository is already open in Commit+, the existing window is focused.
  4. If not, a new Commit+ window opens for that repository.
If the path is not inside a Git repository, the CLI returns an error in Terminal with a nonzero exit code.

Install the CLI

On first launch after the update, Commit+ shows a Setup tip with the option to Install CLI & Configure PATH. You can also install or reinstall at any time from Settings → Command Line. The installation process:
  • Copies the commit helper to ~/.local/bin/commit
  • Adds ~/.local/bin to your shell’s PATH (supports zsh, bash, and fish)
  • Creates backups before modifying any shell configuration files
  • Preserves your existing shell configuration

Manual installation

If you prefer to set it up yourself:
Then add ~/.local/bin to your shell’s PATH:

Shell configuration safety

Commit+ preserves your existing shell configuration:
  • Backups are created before any modifications are made
  • Existing PATH entries are checked before adding new ones
  • The setup respects your current shell environment

Settings

Open Settings → Command Line to:
  • Install or reinstall the CLI
  • View the installation status
  • Reconfigure the PATH if needed
The settings screen uses the same installation flow as the startup tip, with syntax-highlighted command blocks and copy buttons for easy reference.

Arguments

Error handling

  • Not a Git repository — the CLI prints an error and exits with a nonzero code
  • Invalid path — the CLI prints an error and exits with a nonzero code
  • Invalid arguments — the CLI prints usage information