Repo of the Day
marlonrichert/zsh-autocomplete: 🤖 Real-time type-ahead completion for Zsh. Asynchronous find-as-you-type autocompletion.
Published: Oct 31, 2026
Open repository ↗🤖 Real-time type-ahead completion for Zsh. Asynchronous find-as-you-type autocompletion. - marlonrichert/zsh-autocomplete
Summary
zsh-autocomplete is a Zsh plugin that displays completion candidates while you type, without requiring a separate completion keystroke. Candidates are generated asynchronously; press Tab to insert the first result or use the Down arrow to open and navigate the completion menu. It also configures Zsh’s completion system and adds multi-line history search, recent-directory completion, and customizable keyboard shortcuts.
What it is useful for
This is useful for engineers who spend much of the day in a terminal and repeatedly enter commands or paths. For example, typing part of a directory path can immediately show matching locations, while the history menu can search earlier commands that span multiple lines.
Completion and history results are presented as navigable menus, with text search available inside them. The plugin can fit into an existing Zsh configuration, although integration requires care: existing compinit calls must be removed, and other plugins or scripts may override its key bindings. The README points to CONFIGURATION.md for options such as reassigning keys.
How engineers can use it
Zsh 5.8 or newer is the recommended and tested target. The README says Zsh 5.5.1 should theoretically work.
Install the plugin through Homebrew, Nix, pacman, Plumage, or Portage. For the latest main commit, it also documents an AUR package and a direct clone. Choose the installation method that matches your environment; for example:
yay -S zsh-autocomplete-git
or:
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git
After installation, update your Zsh configuration:
- Remove any calls to
compinitfrom.zshrc. - Near the top of
.zshrc, before anycompdefcalls, source the plugin:
source /path/to/zsh-autocomplete/zsh-autocomplete.plugin.zsh
- On Ubuntu, add this to
.zshenv:
skip_global_compinit=1
- On Nix, add this to
home.nix:
programs.zsh.enableCompletion = false;
Finally, restart the shell with:
exec zsh
Shortcuts are documented for command-line use and menu navigation. However, other plugins or scripts can override them, and terminal behavior varies: Alt may appear as Escape, Option, or Meta, while Page Up and Page Down may require an additional modifier such as Shift.