🍺 sprig is now available on homebrew. get it β†’

sprig

autocomplete for zsh, like fig used to be.

start typing and a dropdown pops up under your cursor with subcommands, flags, branches and files. works with 700+ cli tools and runs right inside zsh, so there's no terminal wrapper messing with your setup.

zsh β€” sprig demo
demo playing
try:
keys:

click the terminal and type something. tab picks, enter runs. every command in the dropdown does something (all pretend, all in your browser). a few hidden ones too. type help.

install it

with homebrew recommended

the easiest way in. this repo is its own tap, so brew tap needs the url. sprig install adds one line to your ~/.zshrc, and brew upgrade sprig keeps it current.

$ brew tap john-rock/sprig \
    https://github.com/john-rock/sprig
$ brew install john-rock/sprig/sprig
$ sprig install

from source

no homebrew? you'll need bun to build it. it installs to ~/.local/share/sprig and adds one line to your ~/.zshrc. sprig uninstall takes it back out.

$ git clone https://github.com/john-rock/sprig
$ cd sprig && scripts/install.sh
$ exec zsh   # or open a new tab

have your agent install it

using claude code, codex, cursor or another coding agent? copy the prompt and paste it in. it uses homebrew if you have it, otherwise it clones the repo and runs the installer, then checks the setup with sprig doctor.

show the prompthide the prompt
Install sprig (https://github.com/john-rock/sprig), an IDE-style autocomplete dropdown for zsh, on this machine.

1. Check that zsh is installed.
2. If Homebrew is installed, run `brew tap john-rock/sprig https://github.com/john-rock/sprig`, then `brew install john-rock/sprig/sprig`, then `sprig install`. The tap needs that URL: without it, Homebrew looks for a homebrew-sprig repo that doesn't exist.
3. Without Homebrew, check that git and Bun (https://bun.sh) are installed. If Bun is missing, ask me before installing it. Clone the repo somewhere sensible, like ~/src/sprig, and run scripts/install.sh from inside the checkout. If the script says ~/.local/bin is not on my PATH, add it in ~/.zshrc.
4. Run `sprig doctor` and fix anything it reports.
5. Don't change ~/.zshrc beyond that. When you're done, tell me to open a new terminal tab (or run `exec zsh`) to start using it.

something acting weird? run sprig doctor. daemon logs live in ~/.local/state/sprig/daemon.log. still stuck? open an issue on github.

release notes

0.1.3 nov 7, 2026 latest
  • fixed: code . and cd .. run as typed again. enter used to swap the . for the first dotfile in the list; now ./ and ../ come first.
0.1.2 nov 5, 2026
  • fixed: remote names like origin show up again for git fetch, git push and git pull.
0.1.1 nov 3, 2026
  • fixed: the shell no longer freezes on commands with long option lists, like grep -.
  • new: sprig update installs the latest release, checks it against the published checksums and restarts the daemon.
  • coming from 0.1.0? reinstall once with scripts/install.sh; after that, sprig update handles it.
0.1.0 nov 2, 2026
  • first release. a dropdown under your cursor with subcommands, options, branches, files and descriptions for 700+ clis, built on fig's open-source specs.
  • no terminal wrapper. zsh's own line editor draws the dropdown, so scrollback, resizing, tmux and ssh work like normal.
  • the daemon starts with your first shell, quits after an hour idle and never blocks typing.
  • suggestions you pick rank higher next time.
  • your own specs in ~/.config/sprig/specs/ override the built-in ones.
  • sprig install, sprig uninstall and sprig doctor to set up, remove and check it.

how it works

zsh

widgets send whatever's left of your cursor on every keystroke, then draw the dropdown under your prompt.

unix socketasync replies
sprig daemon

breaks up the line, walks the fig spec, runs stuff like git branch, and ranks what comes back.

settings

set these in your ~/.zshrc before the sprig block.

variabledefaultwhat it does
SPRIG_MAX_ROWS8how many rows show before it scrolls.
SPRIG_NO_DSRunsetdon't ask the terminal where the cursor is. the dropdown just starts at the left edge.
SPRIG_DEBUGunseta file path to log requests and replies to.