---
title: "Best Oh My ZSH Plugins for 2026"
description: "A practical list of Oh My Zsh plugins that actually improve your terminal workflow."
date: 2026-05-04
categories: ["vps"]
tags: ["zsh"]
---

Oh My ZSH plugins add command suggestions, syntax highlighting, and shortcuts that speed up your terminal work.

If you spend any real time in the terminal, the right plugins make a noticeable difference. Here are the ones I actually use and recommend.

## Installation and Setup Guide

Getting Oh My ZSH running with plugins takes a few minutes:

<Accordion label="Installing Oh My ZSH" group="setup" expanded="true">
First, install Oh My ZSH using this simple command:

```shell
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

The script handles the setup. Your terminal restarts with a new prompt when it finishes.
</Accordion>

<Accordion label="Installing Plugins" group="setup">
Most plugins need to be installed manually before you can use them. Here's how:

**For custom plugins (like autosuggestions):**
```shell
# Navigate to the plugins directory
cd ~/.oh-my-zsh/custom/plugins

# Clone the plugin repository
git clone https://github.com/zsh-users/zsh-autosuggestions
```

**For built-in plugins:** These come pre-installed with Oh My ZSH and just need to be enabled.
</Accordion>

<Accordion label="Enabling Plugins" group="setup">
Once installed, you need to activate plugins in your configuration file:

1. Open your `.zshrc` file:
```shell
nano ~/.zshrc
```

2. Find the plugins line and add your desired plugins:
```shell
plugins=(git npm node zsh-autosuggestions zsh-syntax-highlighting)
```

3. Save the file and reload your terminal:
```shell
source ~/.zshrc
```
</Accordion>

<Notice type="info" title="Quick Tip">
Run `source ~/.zshrc` after changes to apply them without restarting.
</Notice>

## Essential Oh My ZSH Plugins

### Core Productivity Plugins

**1. [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions)**
- **What it does**: Suggests commands as you type based on your history
- **Installation**: `git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions`
- **Key benefit**: Press → (right arrow) to accept suggestions and save time on repetitive commands
- **Tutorial**: [How to Enable Command Autocomplete in ZSH](https://www.bitdoze.com/enable-command-autocomplete-in-zsh/)

**2. [zsh-syntax-highlighting](https://github.com/zsh-users/zsh-syntax-highlighting)**
- **What it does**: Colors your commands as you type, showing errors in real-time
- **Installation**: `git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting`
- **Key benefit**: Red highlighting for invalid commands, green for valid ones
- **Tutorial**: [How to Enable Syntax Highlighting in Zsh](https://www.bitdoze.com/enable-syntax-highlighting-zsh/)

**3. z**
- **What it does**: Navigate to frequently used directories instantly without typing full paths
- **Installation**: Built-in with Oh My ZSH
- **Usage**: `z documents` jumps to ~/Documents, `z proj` jumps to ~/Projects
- **Key benefit**: Learns your most visited directories and provides smart shortcuts

**4. git**
- **What it does**: Provides shortcuts and aliases for Git operations
- **Installation**: Built-in with Oh My ZSH
- **Popular aliases**: `gst` (git status), `gco` (git checkout), `gaa` (git add --all), `gcm` (git commit -m)
- **Key benefit**: Speeds up common Git workflows dramatically

**5. [history-substring-search](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/history-substring-search)**
- **What it does**: Search command history by typing partial strings
- **Installation**: Built-in with Oh My ZSH
- **Usage**: Type part of a command, then use ↑/↓ to cycle through matches
- **Key benefit**: Find previous commands without endless scrolling

### Development and DevOps Plugins

**6. docker**
- **What it does**: Adds autocompletion and aliases for Docker commands
- **Installation**: Built-in with Oh My ZSH
- **Features**: Command completion, shortcuts for common operations
- **Key benefit**: Type less when working with containers

**7. docker-compose**
- **What it does**: Autocompletion for multi-container Docker setups
- **Installation**: Built-in with Oh My ZSH
- **Key benefit**: Tab completion catches typos before they break your stack

**8. npm**
- **What it does**: Auto-completion and aliases for npm
- **Installation**: Built-in with Oh My ZSH
- **Features**: Shows npm version and package name in prompt
- **Key benefit**: Faster package management

**9. kubectl**
- **What it does**: Kubernetes CLI completion and shortcuts
- **Installation**: Built-in with Oh My ZSH
- **Features**: Auto-completion and aliases for kubectl commands
- **Key benefit**: Less typing when managing clusters

**10. aws**
- **What it does**: AWS CLI completion and profile management
- **Installation**: Built-in with Oh My ZSH
- **Features**: Completions for awscli and profile switching utilities
- **Key benefit**: Easier AWS resource management

### Utility and Convenience Plugins

**11. [web-search](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/web-search)**
- **What it does**: Search the web directly from your terminal
- **Installation**: Built-in with Oh My ZSH
- **Usage**: `google "search term"`, `bing "query"`, `duckduckgo "topic"`
- **Key benefit**: Quick web searches without leaving the terminal

**12. [extract](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/extract)**
- **What it does**: Extract compressed files with a single command
- **Installation**: Built-in with Oh My ZSH
- **Supported formats**: ZIP, TAR, GZ, BZ2, 7Z, RAR, DMG, and more
- **Usage**: `extract filename.zip` or `extract archive.tar.gz`
- **Key benefit**: No need to remember different extraction commands

**13. [1password](https://github.com/agpenton/1password-zsh-plugin)**
- **What it does**: Integrates 1Password functionality with terminal
- **Installation**: `git clone https://github.com/agpenton/1password-zsh-plugin.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/1password`
- **Usage**: `opswd service-name` copies password to clipboard
- **Key benefit**: Secure password access without leaving terminal

**14. sudo**
- **What it does**: Adds sudo to commands with keyboard shortcut
- **Installation**: Built-in with Oh My ZSH
- **Usage**: Press `ESC` twice to prefix current command with sudo
- **Key benefit**: Perfect for those "permission denied" moments

**15. [colored-man-pages](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/colored-man-pages)**
- **What it does**: Adds colors to man pages for better readability
- **Installation**: Built-in with Oh My ZSH
- **Key benefit**: Makes documentation easier to read and scan

### Advanced Plugins

**16. [fzf](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/fzf)**
- **What it does**: Fuzzy finder for files and command history
- **Installation**: `git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install`
- **Key shortcuts**: `Ctrl+T` (find files), `Ctrl+R` (search history), `Alt+C` (change directory)
- **Key benefit**: Interactive searching with fuzzy matching

**17. [thefuck](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/thefuck)**
- **What it does**: Corrects mistyped commands
- **Installation**: Built-in with Oh My ZSH (requires thefuck to be installed)
- **Usage**: Type `fuck` or press `Ctrl+G` after a failed command
- **Key benefit**: Fixes typos without retyping

**18. [virtualenv](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/virtualenv)**
- **What it does**: Manages Python virtual environments
- **Installation**: Built-in with Oh My ZSH
- **Features**: Auto-activation when entering project directories, prompt indicators
- **Key benefit**: Handles Python environments without manual activation

**19. [fast-syntax-highlighting](https://github.com/zdharma-continuum/fast-syntax-highlighting)**
- **What it does**: Faster syntax highlighting with more themes
- **Installation**: `git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting`
- **Advantages**: Lower latency, switchable themes, better command parsing
- **Key benefit**: Drop-in replacement for zsh-syntax-highlighting with better performance

**20. [zsh-autocomplete](https://github.com/marlonrichert/zsh-autocomplete)**
- **What it does**: Real-time autocompletion as you type
- **Installation**: `git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autocomplete`
- **Features**: Real-time completion, intuitive keybindings
- **Key benefit**: IDE-like completion in your terminal

**21. [alias-finder](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/alias-finder)**
- **What it does**: Shows available aliases when you type full commands
- **Installation**: Built-in with Oh My ZSH
- **Usage**: Type a command and it tells you if there's a shorter alias
- **Key benefit**: Learn your aliases naturally through usage

**22. [copypath](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/copypath)**
- **What it does**: Copies current directory path to clipboard
- **Installation**: Built-in with Oh My ZSH
- **Usage**: Run `copypath` to copy current path
- **Key benefit**: One command instead of `pwd | pbcopy`

### Bonus Plugins

Other useful plugins worth considering:

- **[command-not-found](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/command-not-found)**: Suggests package installations for unknown commands
- **[jsontools](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/jsontools)**: JSON utilities (`pp_json`, `is_json`, `urlencode_json`)
- **[urltools](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/urltools)**: URL encoding/decoding
- **[battery](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/battery)**: Battery status in prompt (for laptops)
- **[last-working-dir](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/last-working-dir)**: Opens new terminals in your last directory
- **[transfer](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/transfer)**: Upload files via transfer.sh
- **[encode64](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/encode64)**: Base64 encoding/decoding
- **[colorize](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/colorize)**: Syntax highlighting for `cat` and `less`
- **[copyfile](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/copyfile)**: Copy file contents to clipboard
- **[dirhistory](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/dirhistory)**: Navigate directory history with Alt+arrows
- **[eza](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/eza)**: Replaces `ls` aliases with `eza` — a modern replacement with colors, icons, git status, and tree view

<Notice type="success" title="Tip">
Combine history-substring-search with zsh-autosuggestions for better command recall.
</Notice>

## Plugin Installation Methods

<Tabs>
  <Tab name="Manual Installation">

    **Step-by-step process:**

    1. Navigate to the custom plugins directory
    2. Clone the plugin repository
    3. Add plugin name to your `.zshrc` file
    4. Reload your configuration

    **Example:**
    ```shell
    cd ~/.oh-my-zsh/custom/plugins
    git clone https://github.com/plugin-author/plugin-name
    nano ~/.zshrc  # Add plugin to plugins list
    source ~/.zshrc
    ```

  </Tab>

  <Tab name="Package Manager">

    **Using Homebrew (macOS):**
    Some plugins can be installed via Homebrew for easier management.

    ```shell
    brew install zsh-autosuggestions
    brew install zsh-syntax-highlighting
    ```

    **Configuration:** Add the source lines to your `.zshrc`:
    ```shell
    source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
    source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
    ```

  </Tab>
</Tabs>

## Tips

**Getting started:**
- Start with 5-10 plugins and add more as needed
- Test new plugins in a separate terminal first
- Remove plugins you don't use

**Performance:**
- 10-15 plugins is a reasonable limit
- If startup feels slow, disable plugins one by one to find the cause

<Notice type="warning" title="Performance">
Too many plugins slow down terminal startup. Keep only what you actually use.
</Notice>

**Troubleshooting:**
- Plugin not working? Check if it's in your plugins list
- Conflicts happen. Try disabling other plugins to isolate the issue

## Modern Alternatives

The ZSH ecosystem has more options now:

<Tabs>
  <Tab name="Modern Prompt Engines">

    **Starship**
    A blazing-fast, cross-shell prompt written in Rust. Works with any shell and provides consistent theming.

    **Installation:**
    ```shell
    brew install starship
    # Add to .zshrc: eval "$(starship init zsh)"
    ```
    For more you can check [Starship Setup With Ghostty](https://www.bitdoze.com/starship-ghostty-terminal/)


    **Powerlevel10k**
    Currently on life support but still functional. Known for its speed and extensive customization options.

    **Why consider these:**
    - Cross-shell compatibility
    - Better performance
    - Modern config formats

  </Tab>

  <Tab name="Plugin Managers">

    **Modern Plugin Managers:**
    - **Zinit**: Fast with turbo mode for lazy loading
    - **Antidote**: Lightweight, fast startup
    - **Sheldon**: Written in Rust

    **Why switch:**
    - Faster startup times
    - Better dependency management
    - Lazy loading support

  </Tab>
</Tabs>

<Notice type="info" title="Note">
Oh My ZSH works fine for most users. Consider alternatives if startup time bothers you.
</Notice>

<Button text="Explore Oh My ZSH Plugins" size="md" color="blue" variant="solid" icon="arrow-right" iconPosition="right" />

## Conclusion

Start with autosuggestions and syntax highlighting. Those two alone make a noticeable difference. Add more plugins as you need them.

Don't install everything at once. Try a plugin, use it for a week, and decide if it actually helps. Some plugins sound useful but end up unused.

The [official Oh My ZSH plugin repository](https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins) has hundreds more options if you want to explore further.

If you're curious about Fish Shell as an alternative to Zsh, check out [Fish Shell vs Zsh](/fish-shell-vs-zsh/) or [Fish Shell vs Bash vs Zsh](/fish-shell-vs-bash-vs-zsh/) for a full comparison. Fish has many of these features built in without plugins.