ᓚᘏᗢ Pawsh ZSH Theme

March 13, 2026 · View on GitHub

Pawsh is a lightweight ZSH theme for plain zsh environments. It provides a minimal prompt centered on fast git status display, vi mode awareness, virtualenv visibility, and command result feedback.

Pawsh Theme Example


Features

  • Cat prompt (ᓚᘏᗢ) changes color according to command exit status:

    • cyan on success
    • red on failure
  • Root indicator (#) in magenta

  • Current directory displayed in cyan

  • Active Python virtualenv shown when present

  • Vi mode indicator [N] in normal mode

  • Git branch information in prompt

  • Detailed repository state in right prompt:

    • staged files
    • modified files
    • untracked files
    • deleted files
    • ahead / behind counters
    • merge / rebase / cherry-pick / bisect states
    • conflict detection
  • Prompt refresh on keymap change using ZLE hooks

  • No framework dependency


Installation

Clone the repository:

git clone https://github.com/SergioBonatto/pawsh-zsh-theme.git
cd pawsh-zsh-theme

Create a local themes directory:

mkdir -p ~/.zsh/themes

Copy the theme file:

cp pawsh.zsh-theme ~/.zsh/themes/

Load the theme in ~/.zshrc:

source ~/.zsh/themes/pawsh.zsh-theme

Reload the shell:

source ~/.zshrc

If you use zsh bytecode compilation:

zcompile ~/.zshrc

Requirements

  • zsh
  • git
  • Terminal with Unicode support

Prompt Structure

Left prompt:

ᓚᘏᗢ directory git:(branch)

Right prompt:

branch +staged ~modified -deleted ?untracked ↑ahead ↓behind

Customization

The theme uses these prompt variables:

  • ZSH_THEME_GIT_PROMPT_PREFIX
  • ZSH_THEME_GIT_PROMPT_SUFFIX
  • ZSH_THEME_GIT_PROMPT_DIRTY
  • ZSH_THEME_GIT_PROMPT_CLEAN

To change colors or symbols, edit:

pawsh.zsh-theme

Notes

Pawsh is designed for direct sourcing in plain zsh.

It does not require:

  • Oh My Zsh
  • plugin managers
  • external prompt engines

Contributing

Pull requests and issue reports are welcome.


License

MIT