A collection of ZSH frameworks, plugins & themes inspired by the various awesome list collections out there.
Latest commit 27f3022 Feb 21, 2017 @unixorn committed on GitHub Merge pull request #183 from unixorn/add-plugins
Fix sorting





Build Status

Join the chat at https://gitter.im/unixorn/awesome-zsh-plugins

A collection of ZSH frameworks, plugins, tutorials & themes inspired by the various awesome list collections out there.

Table of Contents generated with DocToc

Please read the Contributing Guidelines before contributing.


These frameworks make customizing your zsh setup easier.


Alf is an out of this world super fast and configurable framework for zsh; it's modeled after Prezto and Antigen while utilizing Oh My Zsh under the covers; and offers standard defaults, aliases, functions, auto completion, automated updates and installable prompt themes and plugins.


Ant-zsh is a tiny and lightweight ZSH configuration environment for special customization needs. It includes plugins, themes and a basic convenient setup.


Antibody A faster and simpler antigen written in Golang. More details at http://getantibody.github.io/.


antigen-hs is a replacement for antigen optimized for a low overhead when starting up the shell. It will automatically clone plugins for you.


Antigen is a small set of functions that help you easily manage your shell (zsh) plugins, called bundles. The concept is pretty much the same as bundles in a typical vim+pathogen setup. Antigen is to zsh, what Vundle is to vim. Antigen can load oh-my-zsh themes and plugins and will automatically clone them for you.


Dotzsh strives to be platform and version independent. Some functionality may be lost when running under older versions of zsh, but it should degrade cleanly and allow you to use the same setup on multiple machines of differing OSes without problems.


fresh is a tool to source shell configuration (aliases, functions, etc) from others into your own configuration files. We also support files such as ackrc and gitconfig. Think of it as Bundler for your dot files.


oh-my-zsh is a community-driven framework for managing your zsh configuration. Includes 120+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, macports, etc), over 120 themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.


Prezto enriches the ZSH command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.


Pumice is a lightweight plugin manager for zsh.


Zeesh is a cross-platform Zsh framework. It's similar to, but incompatible with, oh-my-zsh. It has a modular plugin architecture making it easy to extend. It has a rich set of defaults, but is designed to be as lightweight as possible.


Zgen is a lightweight plugin manager for ZSH inspired by Antigen. The goal is to have a minimal overhead when starting up the shell because nobody likes waiting. The script generates a static init.zsh file which does nothing but source your plugins and append them to your fpath. The downside is that you have to refresh the init script manually with zgen reset whenever you update your .zshrc. Can load oh-my-zsh compatible plugins and themes, and will automagically clone them for you when you add them to your plugin list.


zilsh is a zsh config system that aims to appeal more to power-users and follow the simplistic approach of vim-pathogen.


Zim is a Zsh configuration framework with blazing speed and modular extensions.


Zoppo is the crippled configuration framework for Zsh. As an Italian saying goes: "chi va con lo zoppo, impara a zoppicare", we realized we were walking with a cripple and are now going to become crippled ourselves.


🌺 Zplug is a next-generation zsh plugin manager.


Zplugin gives reports from plugin load. Plugins are no longer black boxes, report will tell what aliases, functions, bindkeys, Zle widgets, zstyles, completions, variables, PATH and FPATH elements a plugin has set up. Supported is unloading of plugin and ability to list, uninstall, reinstall and selectively disable, enable plugin's completions. Also, every plugin is compiled and the user can control this function. The system does not use $FPATH, it's kept clean!


ZPM ( Zsh plugin manager ) is a plugin manager for zsh similar to vim-plug. ZPM plugins are compatible with oh-my-zsh. ZPM runs on Linux, Android, FreeBSD and OS X.


Ztanesh aims to improve your UNIX command line experience and productivity with the the configuration provided by the ztanesh project: the tools will make your shell more powerful and easier to use.


Zulu is a total environment manager for ZSH 5+


Generic ZSH



  • ZSH Gem 24 - Part of the 2011 ZSH Advent Calendar. Covers oh-my-zsh and zshuery.



  • zsh-quickstart-kit - A simple quickstart for using zsh with zgen. This includes a curated collection of plugins, and will automatically configure zsh to use zgen to load them, configures zgen to periodically automatically update itself, the plugins, and the quickstart kit itself.


  • accurev-zsh - ZSH plugin for accurev.
  • alias-tips - An oh-my-zsh plugin to help remembering those aliases you defined once.
  • allergen - A collection of custom zsh plugins to use with antigen
  • almostontop - Clears previous command output every time before new command executed in shell. Inspired by alwaysontop plugin for bash
  • ansible - A plugin for Ansible
  • ansiweather - Weather in your terminal, with ANSI colors and Unicode symbols
  • antigen-git-rebase - Antigen/zsh script to aid with Git rebasing
  • antigen-git-store - Antigen/zsh script to store Git's current working directory. For working with Git between two computers without forcing arbitrary commits.
  • anyframe - A peco/percol/fzf wrapper plugin for zsh.
  • apache2.plugin.zsh - Adds aliases and functions for managing Apache2
  • asciidoctor - A plugin for AsciiDoctor
  • atom_plugin.zsh - A plugin for the Atom editor on OS X
  • auto-fu.zsh - Automatic complete-word and list-choices. Originally incr-0.2.zsh by y.fujii .
  • autoenv - Extended version of the zsh-autoenv plugin.
  • autojump - A cd command that learns - easily navigate directories from the command line. Install autojump-zsh for best results.
  • autoupdate-antigen.zshplugin - Antigen doesn't do automatic updates like oh-my-zsh. This plugin adds auto updating for antigen, both of antigen and the bundles loaded in your configuration.
  • bitbucket-git-helpers - Helper scripts to allow you to create bitbucket PRs or open a directory in the current branch.
  • blackbox - Stack Exchange's toolkit for storing keys/credentials securely in a git repository.
  • branch-manager - A plugin for managing git branches
  • browse-commit - A plugin that lets you open any commit in your browser from the command line.
  • calc.plugin.zsh - A calculator for zsh
  • caniuse.plugin.zsh - Add Can I Use... support to ZSH.
  • cd-gitroot - A zsh plugin to cd to the git repository root directory.
  • cdbk - A ZSH plugin to allow easy named directory creation - shortcuts to any directory you want.
  • cdr - Easy setup of cdr for zsh.
  • colored-man-pages-mod - Forked from robbyrussell/oh-my-zsh/plugins/colored-man-pages
  • command-not-found - mirror of the oh-my-zsh command-not-found plugin so you don't have to include all of omz
  • copyzshell - A ZSH plugin to copy your shell configuration to another machine over ssh.
  • crash - Proper error handling, exceptions and try/catch for ZSH
  • crayon-syntax-zsh - ZSH syntax highlighting for the Crayon Plugin for Wordpress
  • crystal - A plugin for Crystal
  • czhttpd - A simple http server written in 99.9% pure zsh.
  • deer - A file navigator for zsh heavily inspired by ranger.
  • depot-tools - Simple oh-my-zsh plugin for installing the chromium depot_tools. Installing this plugin will put all of the chromium depot_tools in your path automatically.
  • docker-aliases Docker aliases for everyday use.
  • docker-compose Show docker container status in your prompt.
  • docker-fun - Adds docker convenience functions.
  • docker-helpers - A collection of docker helper scripts.
  • dropbox - A dropbox plugin for Zsh that provides dropbox-cli and dropbox-uploader commands.
  • elixir-oh-my-zsh - A plugin for Elixir, IEX, Mix and Phoenix
  • emoji-cli - 😱 Emoji completion on the command line
  • enhancd - A simple tool that provides enhanced cd command
  • exercism - A plugin for exercism.io.
  • fixnumpad-osx.plugin.zsh - Enables numpad keys of Apple keyboards to be recognized in zsh
  • fzf-marks - Little script to create, navigate and delete bookmarks in Bash and Zsh, using the fuzzy finder fzf.
  • fzf-widgets - Adds some ZLE widgets for fzf
  • fzf-z - Brings together the z plugin and fzf to allow you to easily browse recently used directories at any point on the command line.
  • get-jquery - Plugin for fast downloading jQuery library from code.jquery.com
  • ghost-zeus - Lets you use zeus with normal rails commands.
  • git-add-remote - Easily add the upstream remote to your git fork.
  • git-aliases.zsh - Creates a lot of useful aliases for combinations of commonly used git commands.
  • git-extra-commands - Extra git helper scripts packaged as a plugin.
  • git-it-on.zsh - Adds ability to open a folder in your current branch on GitHub.
  • git-prune - Plugin that simplifies deleting merged branches.
  • git-secret - A bash-tool to store your private data inside a git repository.
  • gitfast - Updated fork of oh-my-zsh gitfast plugin.
  • gitignore.plugin.zsh - Plugin for creating .gitignore files.
  • gitio-zsh - A zsh plugin for generating a GitHub short URL using git.io.
  • gitsync - zsh plugin to improve workflows for one person developing on the same repository on multiple machines
  • goenv - Antigen plugin to manage $GOPATH similarly to Python's virtualenvwrapper.
  • going_places - A plugin that helps to use, create and maintain a list of shell locations.
  • gpg-agent - Plugin that tries to do the right thing when it comes to setting up the GPG agent to act as an SSH agent as well on OS X.
  • grep2awk - ZLE widget to transform grep command into awk command.
  • gtm-terminal-plugin - terminal plugin for git time metrics.
  • hipchat - Send hipchat messages from the shell.
  • history-search-multi-word - multi-word history searcher for Zsh, bound to Ctrl-R
  • history-sync - An Oh My Zsh plugin for GPG encrypted, Internet synchronized Zsh history using Git.
  • hooks - Add missing hooks - for plugins and personal use.
  • host-switch - Make it easier to switch in different /etc/hosts files during development
  • hub-ci-zsh-plugin - A simple plugin for adding hub ci-status to your zsh theme.
  • iosctl - quickly access App, Data, and Log of the running simulator.
  • iterm-tab-colors - Automatically changes iTerm tab color based on the current working directory
  • java-zsh-plugin - Adds a setjdk command so you can switch easily between different versions of the jdk
  • jenkins-zsh - A jenkins plugin for ZSH, heavily inspired by the excellent jira plugin
  • jhipster-oh-my-zsh-plugin - Adds commands for jHipster
  • jvm - Allows selection of JDK on OS X.
  • k - Directory listings for zsh with git features.
  • kitsunebook.plugin.zsh - KitsuneBook plugin for oh-my-zsh.
  • lesaint-mvn - Maven plugins for Oh-My-Zsh.
  • listbox - Listbox element for shell
  • locate-sublime-projects-cli - Allows searching for Sublime Text projects and opens them in Sublime.
  • lumberjack - Lumberjack is a logging interface for shell scripts
  • mac-packaging - A set of common functions used for enterprise Mac packaging with Munki
  • markjump - Allows you to mark directories so you can jump directly to them
  • mfunc - Allows you to define persistent functions on-the-fly, without the need to add them to your config files. These functions are permanently available until you delete them.
  • monorepo-plugin - ZSH plugin for monorepo management
  • mylocation - A plugin to show your current location based on your IP address.
  • mysql-colorize - Colors for mysql tables.
  • mysql.plugin.zsh - Adds some functions for dealing with mysql.
  • nice-exit-code - Maps exit status code to human readable string.
  • node.plugin.zsh - Srijan Shetty's nodejs plugin for zsh with caching of nvm completions and autoloading of nvm if present.
  • nodenv.plugin.zsh - Auto-load nodenv and its completions into the shell.
  • noreallyjustfuckingstopalready - OS X users know the pain of trying to figure out what command actually flushes the DNS cache on their version of OS X, and this plugin makes that annoyance go away.
  • nvm-auto-use - calls nvm use automatically whenever you enter a directory that contains an .nvmrc file with a string telling nvm which node to use
  • nvm-auto - Aims to alleviate needing to type nvm use as much as possible, especially if you often switch between versions of node.js and use .nvmrc files in your project to manage what version of node your project needs
  • oh-my-dogesh - Dogification plugin.
  • oh-my-zsh-dirstack - Plugin for displaying dirstack info on a single line.
  • oh-my-zsh-flow-plugin - This plugin makes the flow command available inside every subdirectory of the TYPO3 Flow distribution.
  • oh-my-zsh-jira-plus - Create JIRAs from the command line.
  • oh-my-zsh-reminder - A plugin which displays reminders above every prompt
  • oh-my-zsh-virtualenv-prompt - A fork of the virtualenv plugin from upstream. It adds support for customizing the virtualenv prompt in oh-my-zsh themes.
  • opp.zsh - Vim's text-objects-ish for zsh.
  • osx-dev-zsh-plugin - This plugin adds some commands for maintaining various server programs on my OSX install.
  • pantheon-terminal-notify-zsh-plugin - Background notifications for long running commands. Supports Elementary OS Freya
  • pctl - Toggle the environment variables for proxying
  • phpunit.plugin.zsh - Plugin for PHPUnit
  • pip-app - Makes it easy to install python applications into distinct virtualenvs so they don't conflict with any other python requirements on your system.
  • plugin - Creates custom oh-my-zsh plugins from a boilerplate template. Very oh-my-zsh centric, the generated plugins will need editing to work with other frameworks
  • pretty-time-zsh - Convert seconds to a human readable string: 165392 → 1d 21h 56m 32s.
  • project - Create node/python/ruby project both locally and on github(private or public repository)
  • revolver - A progress spinner for ZSH scripts
  • robo-zsh-plugin - A ZSH plugin for Robo
  • rockz - Lua + LuaRocks virtual environment manager based upon VirtualZ.
  • rvm-zsh - Initiates RVM and adds rubygem binaries (like compass) accessible in the user's $PATH
  • safe-paste - A safe-paste plugin. See http://cirw.in/blog/bracketed-paste
  • saneopt - Sane defaults for zsh options, in the spirit of vim-sensible.
  • schroot - Show current chroot name in your prompt.
  • send.zsh - Single command to git add, git commit, and git push for much faster git workflow.
  • setenv - Runs a script when you change directories
  • smart-cd - Runs ls and git status after chpwd.
  • snippets - Command line snippet expansion.
  • solarized-man - A modified version of oh-my-zsh's plugin colored-man-pages, optimized for solarized dark theme in terminal
  • ssh-connect - Simple ssh manager
  • statify - Plugin that does basic statistical analysis
  • sterror.plugin.zsh - Interprets error messages from programs and displays a human readable error message when available
  • symfony.plugin.zsh - ZSH plugin for Symfony 2 and 3.
  • sysadmin-util - Steve Kemp's collection of tool scripts for sysadmins.
  • terminal-workload-report - A plugin that calculates and displays how many commands have been run via terminal.
  • tipz - Displays your alias if you have an alias for the command you just ran (Similar to alias-tips)
  • tsm - Tmux Session Manager
  • tumult - Adds tools for OS X
  • up.zsh - Adds an up command to cd multiple levels up
  • vanilli.sh - A lightweight start point of shell configuration.
  • vimman - View vim plugin manuals (help) like man in zsh
  • virtualz - Python virtualenv manager inspired by Virtualfish, replaces virtualenvwrapper.
  • vox - An oh-my-zsh plugin to control VOX, a lightweight full-featured audio player for OS X that can play a variety of formats including FLAC and Ogg Vorbis
  • vsc - Plugin for Visual Studio Code on MacOS
  • vscode - Plugin for Visual Studio Code.
  • wakatime - Automatic time tracking for commands in ZSH using wakatime
  • warhol - Configures colorization with grc
  • watson.zsh - A plugin for watson
  • wd - Warp directory lets you jump to custom directories in zsh, without using cd. Why? Because cd seems inefficient when the folder is frequently visited or has a long path.
  • yeoman-zsh-plugin - Edouard Lopez's Yeoman plugin for oh-my-zsh, compatible with yeoman version ≥1.0 (includes options and command auto-completion)
  • zaw - ZSH anything.el-like widget.
  • zce - Vim’s EasyMotion / Emacs’s ace-jump-mode for zsh.
  • zero - Zero is both a plugin and a theme. See the github page for installation details.
  • zinfo_line - Makes more information available to zsh themes
  • zsh-256color - Enhances the terminal environment with 256 colors. It looks at the chosen TERM environment variable and sees if there is respective ncurses' terminfo with 256 colors available. The result is a multicolor terminal, if available.
  • zsh-abbrev-alias - Provides functionality similar to Vim's abbreviation expansion.
  • zsh-async - Library for running asynchronous tasks in zsh without requiring any external tools.
  • zsh-autoenv - If a directory contains a .env file, it will automatically be executed when you cd into it.
  • zsh-autopair - A ZSH plugin for auto-closing, deleting and skipping over matching delimiters.
  • zsh-autosuggestions - Fish-like fast/unobtrusive autosuggestions for zsh.
  • zsh-autoswitch-virtualenv - Zsh plugin to automatically switch python virtualenvs when traversing directories
  • zsh-basex - Adds several BaseX aliases for simplified usage.
  • zsh-bash - Makes ZSH more Bash compatible. It redefines the source command to act more like Bash does. It also enables Bash completions.
  • zsh-bd - Jump back to a specific directory, without doing cd ../../..
  • zsh-carthage - Provides completions and aliases for use with Carthage
  • zsh-cmd-architect - build commands from what's in history and at prompt, move, delete, add command segments and search history with multi-word queries
  • zsh-colors - Makes it easier to colorize text from the CLI. red foo just works.
  • zsh-completion-generator - This plugin tries to read the list of options from the help text of programs and generate a completion function automatically. Note that this doesn't do it automatically, you have to explicitly call the generator.
  • zsh-dircolors-solarized - Solarized dircolors plugin.
  • zsh-directory-history - A per directory history for zsh.
  • zsh-dwim - zsh-dwim attempts to predict what you will want to do next. It provides a key binding (control-u) that will replace the current (or previous) command line with the command you will want to run next.
  • zsh-editing-workbench - Adds sane, complex command line editing (e.g. incremental history word completion).
  • zsh-emojis - Adds numerous ascii art emojis to your environment in convenient variables.
  • zsh-favorite-directories - Fast jumps to your favorite directories
  • zsh-functional - ZSH higher order functions.
  • zsh-fuzzy-search-and-edit - ZSH plugin for fuzzy searching files and instantly opening a matched file on matched line.
  • zsh-geeknote - Geeknote plugin for zsh.
  • zsh-git-plugin - Adds some functions for git
  • zsh-git-sync - A ZSH plugin to sync git repositories and clean them up.
  • zsh-grunt-plugin - Add autocompletion for grunt.
  • zsh-gvm (yerinle) - Provides autocompletion for gvm (Groovy enVironment Manager)
  • zsh-hints - Display glob and parameter flags and other non completable info right under your editing buffer.
  • zsh-history-substring-search - Needs to be loaded after zsh-syntax-highlighting, or they'll both break. You'll also need to bind keys to its functions, details are in the README.md
  • zsh-history - Extend history so that it can be queried by SQL
  • zsh-konsole-theme-changer - Toggle konsole theme from zsh.
  • zsh-manydots-magic - A zle tweak for emulating ...'==../..' etc.
  • zsh-maven-plugin - A fork of the oh-my-zsh maven plugin
  • zsh-mercurial - extracted from oh-my-zsh so you can use it without omz
  • zsh-morpho - terminal screen savers written in pure Zsh, and also screen saver framework
  • zsh-navigation-tools - Adds htop-like kill, directory bookmarks browser, multi-word incremental history searcher and more.
  • zsh-notify - A plugin for the Z shell (on OS X and Linux) that posts desktop notifications when a command terminates with a non-zero exit status or when it took more than 30 seconds to complete, if the terminal application is in the background (or the command's terminal tab is inactive).
  • zsh-nvm - Zsh plugin for installing, updating and loading nvm.
  • zsh-open-pr - A ZSH plugin to open pull requests from command line.
  • zsh-opt-path - Automatically add ~/opt subpaths to your $PATH.
  • zsh-osx - Add some common OS X related aliases and functions
  • zsh-peco-history - Search shell history with Peco when pressing ctrl+r.
  • zsh-pg - Adds utility functions to work with PosgreSQL
  • zsh-plugin-ibtool - Adds ibtool shortcuts to generate localized XIB files
  • zsh-plugin-rails - ZSH plugin for Rails
  • zsh-plugin-vscode - Plugin for Visual Studio Code, a text editor for Mac OS X, Windows, and Linux
  • zsh-reentry-hook - Plugin that re-enters working directory if it has been removed and re-created.
  • zsh-select - multi-term searched selection list with approximate matching and uniq mode
  • zsh-sudo - the sudo plugin from oh-my-zsh, extracted to a standalone. Toggles "sudo" before the current/previous command by pressing ESC-ESC in emacs-mode or vi-command mode.
  • zsh-suffix-alias - Directly open files in the shell using ZSH's suffix aliases.
  • zsh-syntax-highlighting-filetypes - zsh syntax highlighting with dircolors in realtime
  • zsh-syntax-highlighting - Add syntax highlighting to your zsh. Make sure you load this before zsh-users/zsh-history-substring-search or they will both break.
  • zsh-t32 - Plugin for the Lauterbach Trace32 toolset. It automatically registers fonts and sets all necessary environment variables to run the t32 toolset.
  • zsh-terminal-app - A plugin for integrating with the new El Capitan Terminal.app features
  • zsh-titles - Automatic window and tab titles for tmux and xterm-compatible terminals.
  • zsh-tmux-simple - Simple plugin for using tmux with zsh.
  • zsh-travis - Opens the Travis CI page for the current repo if one exists.
  • zsh-url-highlighter - A plugin for the zsh syntax highlighter that turns URLs green if they respond with a "good" status, and red otherwise. Useful for checking URL typos.
  • zsh-viexchange - Vi mode plugin for easily swapping text between two places in the buffer, like vim-exchange.
  • zsh-vim-mode - Shrikant Sharat's bindings for zsh's vi mode so it behaves more vim-like.
  • zshmarks - A port of Bashmarks (by Todd Werth), a simple command line bookmarking plugin, for oh-my-zsh.
  • zsnapshot - Adds command to dump the current Zsh state into a file, for later restoration by sourcing the snapshot file.
  • Ztrace - Catches output of commands, allows to reuse that output, glue it with history content.

Even more completions

These plugins add tab completion without adding extra functions or aliases.


If you're using Antigen, you can test these themes in a running zsh with antigen theme githubuser/repo. If you're using zgen, add them to your init.zsh with zgen load githubuser/reponame.

  • aaron-zsh-theme - Based on the Sorin theme
  • abyss - A dark theme that includes git status information
  • adlee - OS X theme, requires Powerline font
  • af-magic-mod - af-magic-mod theme. Install with antigen theme desyncr/zshrc themes/af-magic-mod.
  • agnosterAfro - Based on Powerline and Agnoster Theme and inspired from agnosterzak
  • agnosterzak - Based on Agnoster, shows battery life, date & time, git status, current directory and user & host information
  • alien-minimal - Minimalist Zsh theme with git status displayed
  • alien - Powerline-esque Zsh theme that shows git branch and the exit code of the last command
  • alpharized - Optimized to work with solarized dark. It's a modified version of the avit theme.
  • angry fly - Shows git information in right hand prompt.
  • aplos - minimal ZSH prompt with working directory, Git local info, Git remote info, time and exit code.
  • avit-d2k - Based on Avit, with small changes.
  • bandit - Another Powerline variant.
  • bashi - Optimized for Ahmet Sülek's Flat UI Terminal Theme and Pasquale D'Silva's Saturn Terminal Theme.
  • bklyn - Variant of Powerlevel9k with customizations applied.
  • blinks-xfan - Based on the existing theme blinks.
  • blox-zsh-theme - A minimal and fast ZSH theme that shows you what you need. It consists of blocks: each block is shown inside a pair of [square brackets], and you can add blocks by simply creating a function.
  • bluelines - Clear and blue theme.
  • brunty - Brunty theme
  • bttf-color-zsh - BTTF color theme
  • bullet-train - Inspired by the Powerline Vim plugin. It aims for simplicity, showing information only when it's relevant.
  • bunnyruni - Simple, clean, and beautiful theme.
  • bureau-colorized - Based on bureau.zsh-theme, for people who use Git and NVM.
  • bureau - A clear and informative two-lined prompt. Includes git status optimized for large repositories.
  • candy-light - Light version of the candy theme.
  • charged - A zsh prompt optimized for the solarized dark terminal theme.
  • chi - A zsh theme optimized for iTerm users on OS X
  • ciacho - Based on Agnoster
  • classyTouch - Minimal, clean theme with git support
  • clean - Minimalist zsh theme
  • cloudy - Minimal cloudy zsh theme
  • cmder - A zsh theme that matches the theme of Cmder, a popular terminal emulator for windows
  • cobalt2 - Wes Bos' Cobalt 2 theme for ZSH and iTerm 2.
  • codemachine - Codemachine theme.
  • cordial - Clean and effective zsh theme with git and npm support
  • cute-theme - An OSX oh-my-zsh shell theme with Cute emoji based on the Powerline Vim plugin.
  • darkblood-modular - This version of the popular darkblood theme has been enhanced with a near complete rewrite enabling modularity and a few new features.
  • delta-prompt - A minimal Zsh prompt
  • dexter - A theme with an emphasis on the right side (hence the name) of the terminal.
  • dissonance - Comes with custom LSCOLORS and LS_COLORS settings files, works with both dark and light terminal themes
  • dmx - Optimized for dark terminal windows
  • dracula - A dark theme for Atom, Alfred, Chrome DevTools, iTerm, Sublime Text, Textmate, Terminal.app, Vim, Xcode, Zsh.
  • dragon - Minimalistic, includes git status information
  • endless-dog - OMZ theme that mimics grml-zsh-config.
  • enkel - A simple and minimalistic theme for ZSH and the Solarised colour scheme featuring Git support and a few other semi-useful features such as displaying exit codes, the current system time, whether or not you have write permissions to the current directory, etc.
  • excess - Simple zsh color theme.
  • feder - Clean, simple, compatible and meaningful. Tested on Linux, Unix and Windows under ANSI colors
  • filthy - A disgustingly clean ZSH prompt
  • friendly-fiesta - Fork of terminal-party theme
  • frisk-arrow - A theme based on the frisk oh-my-zsh-theme.
  • frisk-red - Red version of the frisk theme from oh-my-zsh.
  • frlo - Uses your computer's hostname to come up with a (hopefully) unique three-color theme to display in your prompt, so you know at a glance which machine you're logged into.
  • furio - Fork of the Cloud oh-my-zsh theme. with different colors and emojis.
  • garrett - Prezto prompt with the information you need the moment you need it
  • gawaine - Nicola Racco's theme. Requires rvm & git plugins.
  • geometry - A minimal ZSH theme based on Avit and Pure that displays a lot of git information.
  • girazz - A modification to the gnzh theme which adds VI mode to the right prompt.
  • gitsome - Super simple prompt with git info, optimized for the Flat Terminal color scheme.
  • gitster - When in a git repo, it shows the location from the git's root folder. When not in a git repo, it shows the path relative to home, ~.
  • glimmer - Includes git branch, time and user@host.
  • hacker-quotes - Outputs a hacker quote randomly when you open a terminal
  • hackersaurus - A theme with git status and exit code of last command run embedded in the prompt. Related to powerlevel9k.
  • haribo - Simple git status + timestamp in prompt
  • hedgehog - Simple, no-nonsense and clean, with support for git and return codes.
  • honukai-iterm-zsh - Honukai theme and colors for oh-my-zsh and iTerm
  • horse-sh - A very minimal brown/red zsh theme.
  • hub - Simple and clean, includes the return code of the last command executed
  • hyperzsh - Gives you a comprehensive overview of the branch you're working on and the status of your repository without cluttering your terminal.
  • iggy - A super happy awesome Powerline-style, Git-aware prezto only theme.
  • igorsilva - Shows current directory, customizable delimiter, current branch, git status
  • infoline - Clean theme that shows git status, background jobs, remote host, and other information.
  • intheloop-powerline - An extension of the intheloop theme to use powerline fonts.
  • itg - itsthatguy's theme.
  • jcl-zsh-theme - Loosely based on the ys theme.
  • judgedim - Minimalist prompt.
  • kimwz - Minimal thme
  • kketcham - Theme with nifty colors on the git info.
  • klendathu - Uses Powerline iconsolas.
  • lagune - a minimal zsh theme
  • lambda-pure - A minimal zsh theme, based on Pure, with added NodeJS version
  • lambda - A zsh theme optimized for git users who use unicode-compatible fonts and terminal applications
  • lazyprodigy - Optimized for dark terminals, has variants for local and remote systems
  • lime - Simple standalone Zsh theme.
  • linuxer - Inspired by Yaris Alex Gutierrez's classyTouch, Yad Smood's ys, and Bureau theme
  • liquidprompt - A full-featured & carefully designed adaptive prompt for Bash & ZSH.
  • lone-star - Texas-themed theme based on Sindre Sorhus' pure theme.
  • magico - IOsonoTAN's magico theme
  • mau - A Zsh theme with a cat twist
  • maxulysse/myzsh - Maxime Garcia's myzsh theme.
  • megaprompt - A maximalist prompt including keyboard mode, ownership info, and other contextual info, with λ as the prompt character. Requires the hooks plugin.
  • mindful-space - ZSH theme with space in mind.
  • minimal - S1ck94's minimal theme.
  • misa - misalabs' zsh theme.
  • molokai-powerline-zsh - Based on agnoster.
  • multi-shell-repo-prompt - Provides useful information (in your prompt) about the repository that you are in. It currently works for Git and Mercurial, under zsh as well as bash
  • muslim - A simple minimal zsh prompt theme.
  • nanofish - Adds fish-style directory prompt to nanotech theme.
  • nextbike - A very basic theme which just features an osx bike icon
  • ningxia - Based on af-magic.
  • nknu - A simple OMZ theme.
  • nodeys - Based on ys theme, with added NodeJS version (from NVM plugin)
  • nt9 - Clean, distraction free and git focused development theme. Shows path relative to git root (or ~ when outside git repo), time since last commit, current SHA, branch and branch state.
  • odin - Odin is a git-flavored zsh theme.
  • oh-my-git - An opinionated prompt for bash and zsh.
  • oh-my-via - Theme for ZSH which mainly forks the historical theme used on VIA servers
  • oh-my-zsh-node-theme
  • oh-my-zsh-robbl - Shows the git/svn status including the time since last commit, rvm status in prompt.
  • omz-vira - An update of the bira theme that shows the vim bindkey -v status
  • ozono 🌏 OZ0NO - Let's Breathe a clean ZSH
  • pad - A concise and colorful oh-my-zsh theme.
  • phi φ - A clean and simple theme for ZSH inspired and forked from Lambda (Mod) ZSH Theme
  • platypus - Platypus is a simple and convenient theme for oh-my-zsh used by Frédéric de Villamil.
  • poncho - RDM's basic oh-my-zsh custom theme
  • powerlevel9k - A very flexible theme based on the well-known agnoster-theme with support for various VCS, AWS, rbenv, virtualenv, etc.
  • powerline-cute - Based on bullet-train.
  • powerline - A git aware powerline theme.
  • pre-theme - A collection of themes for Sublime Text, Terminal, iTerm2 and zsh.
  • predawn-shell - Theme for dark terminal themes
  • prezto-cloud-prompt - Prezto port of oh-my-zsh's cloud prompt.
  • prezto-lambda - theme for prezto
  • prezto_powerline - Powerline for prezto. Shows git information, RVM version.
  • punctual - Easily customizable, influenced by spaceship
  • pure - Pretty, minimal and fast ZSH prompt.
  • purity - Inspired by robbyrussell theme + pure prompt
  • racotecnic - Based on af-magic and posh-git.
  • radium - Designed for dark terminals, (works best with Solarized iTerm2 theme) (prezto)
  • raincoat - A simple omz-compatible theme with a corresponding iTerm2 color scheme.
  • random-emoji - Random emoji.
  • remiii - Based on agnoster, optimized for solarized terminal themes.
  • rummik/zsh-theme - Rummik's theme.
  • rzh - Theme with git states indicated by emojis.
  • schminitz - Shows if Vim is running in the background when using :sh command
  • seeker - This theme uses many special unicode characters to be fancy, but it may cause some problems without well supported fonts.
  • sepshell - Clean and minimal zsh theme based on the old lost taybalt theme.
  • sfz - an evolution of lean prompt which itself is a rewrite of pure.
  • shellder - Minimal theme with git branch display. Requires a powerline font.
  • sinon - k-kinzal's sinon theme.
  • sk9-zsh - Skeiter9's zsh theme.
  • skeletor-syntax - Theme collection for Atom, Prism and Zsh inspired by Skeletor from He-Man and the Masters of the Universe.
  • smiley - A prompt with happy and sad faces.
  • solarizsh - Color fix for robbyrussell's oh-my-zsh theme to work with Solarized.
  • spaceship - A zsh theme with git, nvm, rvm/rbenv/chruby, python, ssh and other useful indicators.
  • spelljammer - Minimal theme for oh-my-zsh and prezto
  • spowerline - Written in scala, inspired by agnoster, tmux powerline, vim powerline and the vim status plugin.
  • staples - based on bureau, displays user@host if connected through SSH
  • statusline - A responsive zsh theme that provides informational segments when you need them
  • sugarfree - Based on the Pure and Candy themes.
  • tahuri - Zsh theme for Arch Linux.
  • the-time-lord - A theme based on gallifrey.
  • theme-line - Colorful theme with Git status
  • trajan - A dark theme for ZSH
  • trinity - A simple theme based on geometry
  • tvline - Derived from agnoster's theme, adds powerline font enhancements.
  • ultimate - Minimalist theme forked from S1cK94/minimal
  • vinhnx - Modified from themes/mgutz.zsh-theme.Looks great when using with Solarized color scheme.
  • wang-iterm-zsh - based on the 0532 theme
  • wild-cherry - A fairy-tale inspired theme for Zsh, iTerm, Sublime, Atom, & Mou
  • xremix - An oh-my-zsh shell theme based on the Jreese theme plugin
  • xxf - Shows Current commit shorten hash and message.
  • yairshefi - Minimal theme with line separated prompts
  • ykmam - Modified from ys theme. Optimized for a dark background
  • yuki - dark optimized ZSH theme
  • z4rr3t - Based on sindresorhus' pure theme.
  • zemm-blinks - Customized version of oh-my-zsh blinks with mercurial support and other changes.
  • zero - Zero's theme & plugin
  • zeta - Shows username, git information, machine name, current working directory
  • zsh-blackrain - git-aware theme
  • zsh-megaprompt - A maximalist prompt including keyboard mode, ownership info, and other contextual info, with λ as the prompt character. Requires the hooks plugin.
  • zsh-prompt-powerline - A fairly heavyweight zsh prompt, based on the powerline font from the popular eponymous vim plugin, which works well for a dark background.
  • zsh-theme-nerdish - prompt theme for zsh with Nerd Fonts
  • zsh2000 - Powerline looking ZSH theme with rvm prompt, git status and branch, current time, user, hostname, pwd, exit status, root and background job status.
  • zshcomrade - A ZSH theme, comrade!


Some of the themes listed here require Powerline-compatible fonts, here are a few:

  • Awesome Terminal Fonts - A family of fonts that includes some nice monospaced Icons.
  • Fantasque Awesome Font - A nice monospaced font, patched with Font-Awesome, Octoicons and Powerline-Glyphs.
  • Fantasque-sans - Another powerline font.
  • Hack - Another Powerline-compatible font designed specifically for source code.
  • Input Mono - A family of fonts designed specifically for code. It offers both monospaced and proportional fonts and includes powerline glyphs.
  • Monoid - Monoid is customizable and optimized for coding with bitmap-like sharpness at 15px line-height even on low res displays.
  • nerd fonts - Collection of over 20 patched fonts (over 2,000 variations) & FontForge font patcher python script for Powerline, Font Awesome, Octicons, Devicons, and Vim Devicons. Includes: Droid Sans, Meslo, Source Code, AnonymousPro, Hack, ProFont, Inconsolata, and many more.
  • Powerline patched font collection - A collection of a dozen or so fonts patched to include powerline gylphs.
  • Terminus - TTF version of Terminus that includes powerline glyphs



Most of these plugins can be installed by adding antigen bundle githubuser/reponame to your .zshrc file. Antigen will handle cloning the plugin for you automatically the next time you start zsh. You can also add the plugin to a running zsh with antigen bundle githubuser/reponame for testing before adding it to your .zshrc.


  1. Clone new plugins into .zsh.local/modules
  2. Load the plugin module in .zshrc
  3. Open a new zsh terminal window or tab


  1. cd ~/.oh-my-zsh/custom/plugins
  2. git clone repo
  3. Add the repo to your plugin list


  1. Clone the plugin into your prezto modules directory
  2. Add the plugin to your .zpreztorc file
  3. Open a new terminal window or tab


Most of these plugins can be installed by adding zgen load githubuser/reponame to your .zshrc file in the same function you're doing your other zgen load calls in. Zgen will automatically clone the repositories for you when you do a zgen save.


Most of these plugins can be installed by adding zplug "githubuser/reponame" to your .zshrc file.

Writing New Plugins

I've documented some recommendations for writing a new plugin here.

Other Resources

ZSH Tools

  • zshdb - A ZSH debugger
  • zunit - A powerful unit testing framework for ZSH

Other Useful Lists

  • awesome-devenv - A curated list of awesome tools, resources and workflow tips making an awesome development environment
  • awesome-sysadmin - A curated list of awesome open source sysadmin resources

Find other useful awesome-* lists at the awesome collection

Other References

The Zsh Reference Card and zsh-lovers site are indispensable.