Interactive mode
Running ggc with no arguments drops you into the interactive prompt. There are two modes:
- Search mode (default) — fuzzy-search over all
ggccommands and run one. - Workflow mode — build a queue of commands, then execute them in sequence with one keystroke.
Search mode
From the prompt:
- type a few letters → the command list narrows via fuzzy match
- Enter — execute the highlighted command
- Tab — add the highlighted command to the workflow queue and stay in search
- ↑/↓ or Ctrl+P/Ctrl+N — move selection
- Ctrl+C — cancel the current input
- Ctrl+D — exit
Fuzzy pickers
Commands that take a branch, file, or stash entry open a nested picker using the same keys (↑/↓, Enter to accept, Esc to cancel).
History recall
The interactive prompt remembers previously executed commands (see Configuration & aliases → History).
- type
history+ Enter — open a numbered picker of the most recent commands (deduplicated by display string, newest first); type a number + Enter to re-run, Ctrl+C (or Ctrl+G / Esc) cancels - Ctrl+P / Ctrl+N on an empty input — walk backwards/forwards through recent commands (when the input is non-empty these keys still move the selection, matching readline conventions)
- Ctrl+R — enter reverse-i-search; the prompt turns yellow and shows a
(reverse-i-search)label so the mode is unmistakable. Type to fuzzy filter, ↑/↓ or Ctrl+P/Ctrl+N to move, Enter runs the selection, Ctrl+C exits (the global "quit ggc" meaning of Ctrl+C is suspended inside the overlay). Ctrl+G / Esc also exit.
The history command itself is never recorded, so navigating history (including history clear, history search ..., history last ...) never pollutes future searches.
Set GGC_NO_HISTORY=1 (or history.enabled: false in the config) to disable history writes without affecting reads.
Workflow mode
Workflow mode turns the interactive prompt into a command pipeline builder. Typical use: stage → commit → push in one go without re-typing anything.
- In search mode, highlight a command and press Tab. The command is appended to the workflow queue and the prompt stays in search mode so you can add the next one.
- Press Ctrl+T to switch to workflow view. You see the queued commands in order.
- In workflow view: x runs the queue (execution stops on the first failure), n creates a new workflow, d / Ctrl+D deletes the active workflow, Ctrl+N/Ctrl+P cycles between workflows.
- Ctrl+T again returns to search mode without clearing the queue; c clears the active workflow.
Commands with placeholders (e.g. aliases like commit-msg: "commit -m '{0}'") will prompt for the placeholder value when they run, not when they're queued.
Keybinding profiles
The interactive prompt ships with four profiles:
default— curated ggc defaultsemacs— GNU readline-stylevi— modal,hjklnavigationreadline— strict readline compatibility
Pick one in ~/.config/ggc/config.yaml:
interactive:
profile: emacs
Fine-grained overrides (per-OS, per-context, per-terminal, custom key combos) are documented in Configuration & aliases → Keybindings.
Exiting
From search mode: Ctrl+D or type quit + Enter. quit only works inside interactive mode; invoking ggc quit from a shell is a no-op.