Skip to content

Oh My Fish

A framework for the fish shell that installs packages and themes to customize your terminal.

Stars
11.4k
Forks
804
Licence
MIT
Language
Shell
Last update
1 months ago
Type
Dev tool

What it is

Oh My Fish is a framework for the fish shell, a command-line shell. It provides core infrastructure so you can install packages and themes that change how your shell looks and behaves, managed with an included `omf` command. The README says the project is currently unmaintained, so some themes and packages may be broken.

  • Install a theme with `omf install` or switch to one with `omf theme`
  • Install community packages by name, GitHub `user/repo`, or URL
  • Keep your setup in dotfiles using the `bundle`, `theme`, and `init.fish` files in your config directory
  • Scaffold your own plugin or theme with `omf new plugin` or `omf new theme`

Great for

  • Fish shell users who want an easy way to add themes and prompt customizations
  • People who already use Oh My Zsh-style frameworks and want the same idea for fish
  • Users willing to troubleshoot a little when a theme or package does not work

Not ideal for

  • People who need a well-maintained tool, since the README says the project is unmaintained and the maintainers have run out of steam
  • Users who do not use fish shell, since it requires fish 3.0 or later
  • Users who need a dependable setup with every package working, since the README warns some themes and packages are broken
Step-by-step guide: how to use Oh My FishInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    See the README

    You'll need: fish shell 3.0 or later · git 1.9.5 or later

    Install with the default setup (run in fish)

    curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish

    Clone the repository

    git clone https://github.com/oh-my-fish/oh-my-fish
  2. 2

    Run it

    • Install fish 3.0 or later and git 1.9.5 or later
    • Run the install command from the README in your terminal
    • Open a new shell so the startup code loads
    • Run `omf theme` to list themes, then `omf theme <name>` to apply one
  3. 3

    Get the most out of it

    • Use `omf search` with `-t` for themes or `-p` for packages, and it supports fuzzy search
    • Keep your setup in dotfiles using the `bundle`, `theme`, and `init.fish` files in the config directory
    • Use `omf channel` to choose between the stable and dev update channels
    • Use `before.init.fish` or numeric prefixes on script names to control load order
    • Use `omf doctor` before opening an issue

Downloads

Strengths

  • Simple `omf` command for installing, updating, and removing packages and themes
  • Config lives in a few plain files (`bundle`, `theme`, `init.fish`) that suit version control
  • Includes a `doctor` command to help troubleshoot problems

Trade-offs

  • The README states the project is unmaintained and due a significant overhaul
  • Some themes and packages are currently broken, per the README
  • Known issue: with fish 2.6, right prompts can make the shell unusable; the default theme uses a right prompt

How it compares

ProjectStarsTypeLevelUpdatedBest for
oh-my-fish (this)11.4kDev toolbeginner1 months agoFish shell users who want an easy way to add themes and prompt customizations
ohmyzsh190kDev toolbeginner4 days agoPeople who already use zsh and want a ready-made configuration without writing it from scratch
spaceship-prompt20.6kDev toolbeginner11 days agoZsh users who want useful information in their prompt without much setup
pure14.5kDev toolbeginner30 days agoDevelopers who use zsh and want a simple, readable prompt
autocomplete25.2kOtherintermediate1.5 years agomacOS developers who use zsh, bash or fish and want suggestions for common CLIs
zoxide40.4kDev toolbeginner5 days agoDevelopers who move between many project folders in a terminal

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.