A minimal, customizable cross-shell prompt written in Rust that shows relevant project and environment info.
JanDeDobbeleer/oh-my-posh
A cross-platform prompt theme engine that renders customizable shell prompts for PowerShell, bash, zsh, fish, and more.
Open-source alternative to:Powerlevel10k
- Stars
- 23,718
- Forks
- 2,805
- Open issues
- 2
- Last commit
- yesterday
What is it?
Oh My Posh is a prompt renderer that works across many shells and operating systems. You define a prompt theme in configuration, and the tool draws segments such as the current directory, Git status, language runtime versions, and command execution time into the shell prompt.
The project supports PowerShell, bash, zsh, fish, nushell, and cmd, and it runs on Windows, macOS, and Linux. Prompts can include a secondary prompt, a right prompt, and a transient prompt that simplifies previous lines. The README describes it as a low-latency renderer written in Go, and it presents itself as configurable enough to reshape nearly every part of the prompt.
It is aimed at developers who want a consistent, informative prompt across different terminals and machines. Nerd Fonts are used for the icons that many themes rely on.
Key features
- 01Works with PowerShell, bash, zsh, fish, nushell, and cmd
- 02Runs on Windows, macOS, and Linux
- 03Configurable segments for Git, directories, and language runtimes
- 04Supports secondary, right, and transient prompts
- 05Written in Go for fast rendering
Use cases
- Using one consistent prompt theme across several shells and machines
- Showing Git branch and status directly in the terminal prompt
- Displaying language runtime versions in the prompt while coding
In collections
Topics
FAQ
- What is oh-my-posh?
- A cross-platform prompt theme engine that renders customizable shell prompts for PowerShell, bash, zsh, fish, and more. Oh My Posh is a prompt renderer that works across many shells and operating systems. You define a prompt theme in configuration, and the tool draws segments such as the current directory, Git status, language runtime versions, and command execution time into the shell prompt.
- Is oh-my-posh free to use? What license does it have?
- oh-my-posh is open source under the MIT license. Check the license terms before using it in commercial products.
- Is oh-my-posh still maintained?
- Actively maintained. The last commit to oh-my-posh was on Nov 6, 2026.
- What can I use oh-my-posh for?
- Using one consistent prompt theme across several shells and machines Showing Git branch and status directly in the terminal prompt Displaying language runtime versions in the prompt while coding
- Where can I get oh-my-posh?
- The source code and installation instructions are on GitHub: https://github.com/JanDeDobbeleer/oh-my-posh
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A shell history replacement that stores commands in SQLite with context like exit code and duration, with optional end-to-end encrypted sync across machines.
A Rust shell history search that replaces Ctrl-R with a context-aware, neural-network-ranked full-screen search.
A shell directory jumper that learns the directories you visit and lets you cd into them with a few fuzzy-typed characters.
A framework for the fish shell that installs and manages packages and themes to customize your prompt and shell behavior.
Personal macOS and Linux dotfiles managing zsh, tmux, Neovim, Ghostty, and a Mise-driven bootstrap for a full dev environment.