https://antidote.sh - the cure to slow zsh plugin management
1,771
stars
755
commits
Shell
primary language
Aug 12, 2026
updated
Meet antidote, a feature-complete Zsh implementation of the legacy Antibody plugin manager, which in turn was derived from Antigen. It not only aims to provide continuity for those legacy plugin managers, but also to delight new users with high-performance, easy-to-use Zsh plugin management.
Basic usage should look really familiar to you if you have used antibody or antigen.
Bundles (aka: Zsh plugins) are stored in a file typically called .zsh_plugins.txt.
# .zsh_plugins.txt
rupa/z # some bash plugins work too
sindresorhus/pure # enhance your prompt
# you can even use Oh My Zsh plugins
getantidote/use-omz
ohmyzsh/ohmyzsh path:lib
ohmyzsh/ohmyzsh path:plugins/extract
# add fish-like features
zsh-users/zsh-syntax-highlighting
zsh-users/zsh-autosuggestions
zsh-users/zsh-history-substring-search
A typical .zshrc might then look like:
# .zshrc
source /path-to-antidote/antidote.zsh
antidote load ${ZDOTDIR:-$HOME}/.zsh_plugins.txt
The full documentation can be found at https://antidote.sh.
If you want to see a full-featured example Zsh configuration using antidote, you can have a look at this example zdotdir project. Feel free to incorporate code or plugins from it into your own dotfiles, or you can fork it to get started building your own Zsh config from scratch driven by antidote.
You can install the latest release of antidote by cloning it with git:
# first, run this from an interactive zsh terminal session:
git clone --depth=1 https://github.com/mattmc3/antidote.git ${ZDOTDIR:-$HOME}/.antidote
antidote may also be available in your system's package manager:
brew install antidoteyay -S zsh-antidoteprograms.zsh.antidote.enable = true;antidote supports ultra-high performance plugin loads using a static plugin file. It also allows deferred loading for plugins that support it.
# .zsh_plugins.txt
# some plugins support deferred loading
zdharma-continuum/fast-syntax-highlighting kind:defer
zsh-users/zsh-autosuggestions kind:defer
zsh-users/zsh-history-substring-search kind:defer
# .zshrc
# Lazy-load antidote and generate the static load file only when needed
zsh_plugins=${ZDOTDIR:-$HOME}/.zsh_plugins
if [[ ! ${zsh_plugins}.zsh -nt ${zsh_plugins}.txt ]]; then
(
source /path-to-antidote/antidote.zsh
antidote bundle <${zsh_plugins}.txt >${zsh_plugins}.zsh
)
fi
source ${zsh_plugins}.zsh
If you use bat, antidote includes a syntax definition
for .zsh_plugins.txt files. To install it:
bat_syntax_dir="$(bat --config-dir)/syntaxes"
mkdir -p "$bat_syntax_dir"
curl -fsSL https://raw.githubusercontent.com/mattmc3/antidote/main/misc/zsh_plugins.sublime-syntax \
-o "$bat_syntax_dir/zsh_plugins.sublime-syntax"
bat cache --build
You can see how antidote compares with other setups here.
If you authored a Zsh plugin, the recommended snippet for antidote is:
antidote install gh_user/gh_repo
If your plugin is hosted somewhere other than GitHub, you can use this:
antidote install https://bitbucket.org/bb_user/bb_repo
A big thank you to Carlos for all his work on antibody over the years.
Shell
99.0%
https://antidote.sh - the cure to slow zsh plugin management
1,771
stars
755
commits
Shell
primary language
Aug 12, 2026
updated
Meet antidote, a feature-complete Zsh implementation of the legacy Antibody plugin manager, which in turn was derived from Antigen. It not only aims to provide continuity for those legacy plugin managers, but also to delight new users with high-performance, easy-to-use Zsh plugin management.
Basic usage should look really familiar to you if you have used antibody or antigen.
Bundles (aka: Zsh plugins) are stored in a file typically called .zsh_plugins.txt.
# .zsh_plugins.txt
rupa/z # some bash plugins work too
sindresorhus/pure # enhance your prompt
# you can even use Oh My Zsh plugins
getantidote/use-omz
ohmyzsh/ohmyzsh path:lib
ohmyzsh/ohmyzsh path:plugins/extract
# add fish-like features
zsh-users/zsh-syntax-highlighting
zsh-users/zsh-autosuggestions
zsh-users/zsh-history-substring-search
A typical .zshrc might then look like:
# .zshrc
source /path-to-antidote/antidote.zsh
antidote load ${ZDOTDIR:-$HOME}/.zsh_plugins.txt
The full documentation can be found at https://antidote.sh.
If you want to see a full-featured example Zsh configuration using antidote, you can have a look at this example zdotdir project. Feel free to incorporate code or plugins from it into your own dotfiles, or you can fork it to get started building your own Zsh config from scratch driven by antidote.
You can install the latest release of antidote by cloning it with git:
# first, run this from an interactive zsh terminal session:
git clone --depth=1 https://github.com/mattmc3/antidote.git ${ZDOTDIR:-$HOME}/.antidote
antidote may also be available in your system's package manager:
brew install antidoteyay -S zsh-antidoteprograms.zsh.antidote.enable = true;antidote supports ultra-high performance plugin loads using a static plugin file. It also allows deferred loading for plugins that support it.
# .zsh_plugins.txt
# some plugins support deferred loading
zdharma-continuum/fast-syntax-highlighting kind:defer
zsh-users/zsh-autosuggestions kind:defer
zsh-users/zsh-history-substring-search kind:defer
# .zshrc
# Lazy-load antidote and generate the static load file only when needed
zsh_plugins=${ZDOTDIR:-$HOME}/.zsh_plugins
if [[ ! ${zsh_plugins}.zsh -nt ${zsh_plugins}.txt ]]; then
(
source /path-to-antidote/antidote.zsh
antidote bundle <${zsh_plugins}.txt >${zsh_plugins}.zsh
)
fi
source ${zsh_plugins}.zsh
If you use bat, antidote includes a syntax definition
for .zsh_plugins.txt files. To install it:
bat_syntax_dir="$(bat --config-dir)/syntaxes"
mkdir -p "$bat_syntax_dir"
curl -fsSL https://raw.githubusercontent.com/mattmc3/antidote/main/misc/zsh_plugins.sublime-syntax \
-o "$bat_syntax_dir/zsh_plugins.sublime-syntax"
bat cache --build
You can see how antidote compares with other setups here.
If you authored a Zsh plugin, the recommended snippet for antidote is:
antidote install gh_user/gh_repo
If your plugin is hosted somewhere other than GitHub, you can use this:
antidote install https://bitbucket.org/bb_user/bb_repo
A big thank you to Carlos for all his work on antibody over the years.
Shell
99.0%