Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Rat Zsh is an open-source Zsh plugin manager that reads plugin definitions from a TOML configuration file. Its README describes it as “lightweight, fast, and reproducible”; however, the documentation reviewed provides no benchmark or measured startup-time result. Its practical appeal is a small, documented workflow for syncing GitHub-hosted plugins, choosing revisions, and controlling how plugins load.

What Rat Zsh manages—and what “reproducible” means

Rat Zsh uses a TOML file to identify plugins and their loading settings. The README currently lists GitHub as its supported source. A plugin entry can select a repository, a revision, a file to load, and either Zsh’s source mechanism or its completion-function path, fpath. It can also require commands to be present in PATH before the plugin is synced and loaded.

Revision choice determines how much a configuration follows upstream changes. A branch can move as its repository changes; a fixed tag or commit stays attached to that selected revision. Rat Zsh’s README recommends pinning a tag or commit to avoid unexpected updates. The documented configuration is not described as a lockfile.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install Rat Zsh and initialize it

The project README documents installation with this command, which downloads and runs its installer:

curl -fsSL https://raw.githubusercontent.com/gotokazuki/rat-zsh/main/install.zsh | zsh

According to the README, the executable is installed at $(rz home)/bin/rz. Rat Zsh uses $XDG_CONFIG_HOME/.rz as its default home, falling back to $HOME/.rz. The first installation creates a sample config.toml.

To initialize the manager in Zsh, add the output of rz init to ~/.zshrc. The project documents this line:

eval "$(rz init)"

Then open a new shell, or load the updated file in the current shell with source ~/.zshrc. These are the project’s documented setup steps; they have not been independently tested here.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure plugins in config.toml

Rat Zsh’s README documents the following plugin-entry settings:

  • source identifies the repository source. The README lists only github as supported.
  • repo specifies the GitHub repository in owner/repository form.
  • rev optionally selects a branch or tag; the project feature summary also names commits as supported revision choices.
  • file optionally selects a file within the repository to load.
  • type selects source or fpath; source is the default.
  • name optionally assigns a local alias, which can help distinguish multiple scripts from one repository.
  • fpath_dirs lists repository directories to add to Zsh’s $fpath.
  • requires lists commands that must be available in PATH.

If a command listed in requires is missing, Rat Zsh says it skips the plugin: it will not clone or update it, create its plugin-directory symlink, or load it through rz init.

Use a fixed tag or commit when you want a plugin to stay on a known revision; use a branch when you want it to follow that branch’s upstream changes. The README says pinned tags and commits do not track upstream updates, while branch-attached plugins can.

Use Rat Zsh’s commands

Command Documented purpose
rz init Print initialization code for the shell configuration.
rz config Open the Rat Zsh configuration. The README says it uses EDITOR, defaulting to vim.
rz sync Clone or update configured plugins.
rz upgrade Update Rat Zsh itself, rather than the configured plugins.
rz list Show the effective plugin order and metadata.
rz list -u Show update status for plugins attached to branches.
rz home Print Rat Zsh’s installation directory.

The update distinction matters: run rz sync for configured plugins and rz upgrade for Rat Zsh. The README describes rz list -u status indicators for new upstream commits, local commits ahead of upstream, synchronized branches, uncommitted changes, and unknown status. Those indicators apply to branch-attached plugins; a pinned tag or commit does not track upstream updates.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Understand the default plugin order

Rat Zsh documents this effective order:

  1. Other plugins, alphabetically.
  2. zsh-users/zsh-autosuggestions.
  3. zsh-users/zsh-syntax-highlighting.

The project says it enforces this ordering automatically. Use rz list to inspect the effective order and plugin metadata.

For zsh-autosuggestions, the README suggests setting ZSH_AUTOSUGGEST_MANUAL_REBIND=1 before rz init to avoid rebinding ZLE widgets before every prompt. It also cautions that changes to plugins or key bindings may require running zle autosuggest-start manually. This is project-specific configuration advice, not a general performance guarantee.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How Rat Zsh differs from other documented approaches

Other managers’ READMEs describe different workflows, but the available documentation does not establish a speed ranking:

Manager Documented approach
Rat Zsh TOML configuration; GitHub source listed; supports source and fpath loading, revision selection, command requirements, and a documented default order. Rat Zsh README
ZPM Its README describes a generated startup cache and its own configuration and command workflow. ZPM README
zplug Its README describes multiple sources, parallel installation and updates, lazy loading, and branch, tag, or commit selection. zplug README
zgenom Its README recommends generating a static initialization script so installation and update work do not run during every shell startup. zgenom README

These documented features offer useful comparison points—source support, revision control, loading methods, conditional loading, lazy loading or generated startup files, ordering, and configuration style—but they are not benchmark results. Rat Zsh’s description of itself as “fast” is the project’s own characterization; no independent startup-time measurement is established here.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Uninstall Rat Zsh

The project README’s removal instructions are to delete the directory printed by rz home and remove the Rat Zsh initialization line from ~/.zshrc.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.