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

ZPico is a Zsh script for installing and managing shell packages from Git repositories and local sources. Its README documents a compact command set for adding, updating, and removing packages; Git is required. It may suit users who want a focused manager, while broader alternatives document features such as lazy loading, hooks, dependencies, and caching.

What ZPico installs and manages

ZPico manages Zsh packages, including plugins loaded into your shell. The project describes itself as “under 5 kB of 100% Zsh code”; that is the README’s own size claim, not an independently measured benchmark. The repository identifies ZPico as open-source software under the ISC license.

Git is the stated prerequisite. The documented setup also uses curl for the download, while the README says curl or manual reinstallation is needed for self-updating.

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

How to install ZPico

The README recommends downloading the script into $HOME/.local/lib/zpico/, then sourcing it from .zshrc. This command fetches the file from the moving main branch; it is not pinned to a version.

mkdir -p "$HOME/.local/lib/zpico"
curl -o "$HOME/.local/lib/zpico/zpico.zsh" https://raw.githubusercontent.com/thornjad/zpico/main/zpico.zsh
echo 'source "$HOME/.local/lib/zpico/zpico.zsh"' >> "$HOME/.zshrc"

Open a new shell or source your configuration to load ZPico. The README says the script can be stored elsewhere; if you choose a different location, use that path in the source line.

How to add a package

Use zpico add with a repository in group/project form. GitHub is the default source if you do not specify one. The README also lists GitLab, Framagit, Codeberg, local paths, and arbitrary Git-cloneable URLs. GitLab subgroups can be specified with source:gitlab.

You can also specify a branch and a file or glob pattern to load. Check the project README for the exact argument syntax for a particular source or pattern.

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

For example, a GitHub repository can be added in the default source form:

zpico add group/project

Package recipes and shell plugins may run commands or affect your shell environment. Review a package’s contents and requirements before installing it. The Z-Shell package guide gives this general caution; it does not identify a specific security issue with ZPico.

Where packages go and how to manage them

By default, ZPico stores packages in ~/.local/share/zpico/plugins/. To choose another directory, set ZP_PLUGIN_HOME before loading ZPico—for example, in .zshrc before the source line.

The README documents these management commands:

  • zpico remove <pkg> removes one package; zpico remove --all removes all packages.
  • zpico update <pkg> updates one package; zpico update --all updates all packages.
  • zpico selfupdate updates ZPico itself; curl or manual reinstallation is required.
  • zpico help displays help, and zpico version displays the version.

To uninstall, remove the ZPico script and its package directory, then remove the ZPico-related lines from .zshrc.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Is ZPico the right manager for your setup?

The choice is mainly about scope and configuration needs. ZPico’s README emphasizes a small Zsh-only implementation and a short command set. Other managers document additional capabilities, which can matter if your setup depends on them.

Consideration ZPico Broader documented alternatives
Implementation and focus A small Zsh script; the project describes it as under 5 kB of Zsh code. Feature sets vary by manager.
Package sources GitHub by default, plus GitLab, Framagit, Codeberg, local paths, and Git-cloneable URLs. zplug documents multiple source types.
Additional features The README lists add, update, remove, self-update, help, and version commands. zplug documents lazy loading, hooks, dependencies, and caching. Zi documents reusable package profiles, declared prerequisites, and installation or update hooks.
Performance evidence No controlled, directly comparable benchmark is established by the cited documentation. No directly comparable benchmark is established by the cited documentation.

Choose ZPico if its source support and basic package-management commands cover what you need. Consider a broader manager if documented features such as lazy loading, dependency declarations, reusable profiles, or hooks are important to your workflow. This is a comparison of documented capabilities, not a claim that one manager is faster or better maintained.

The public repository provides links to commit history and tags, but the reviewed page does not establish a reliable latest-commit or release date. Check those records and the current README if maintenance activity or the latest installation instructions are important to your decision.

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.

Free tools Windows power users keep installed

One-click scans. No signup required.

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