explaingit

jandedobbeleer/oh-my-posh

Analysis updated 2026-06-21

22,454GoAudience · developerComplexity · 2/5Setup · easy

TLDR

Oh My Posh replaces your plain terminal prompt with a richly styled, information-dense display showing Git branch, battery, language version, and more, works on any shell and any OS, configured through a simple theme file.

Mindmap

mindmap
  root((Oh My Posh))
    What It Does
      Styles terminal prompt
      Shows Git status
      Displays context info
    Supported Shells
      bash zsh fish
      PowerShell
      Windows CMD
    Configuration
      JSON theme file
      YAML theme file
      Custom segments
    Tech Stack
      Go runtime
      Cross-platform
      Fast prompt render
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Display your current Git branch and repo status in your terminal prompt at a glance without running extra commands.

USE CASE 2

Style your command-line environment with color-coded themes and icons that reflect your personal preferences.

USE CASE 3

Show real-time context like active language version, battery level, and execution time directly in a PowerShell or zsh prompt.

What is it built with?

GoJSONYAML

How does it compare?

jandedobbeleer/oh-my-poshdolthub/doltopenlistteam/openlist
Stars22,45422,54922,327
LanguageGoGoGo
Setup difficultyeasyeasyeasy
Complexity2/53/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires a Nerd Font installed in your terminal emulator to display icons correctly.

In plain English

Oh My Posh is a tool that customizes the appearance of your terminal prompt, the text that appears on the command line every time you type a command. By default, most terminals show a plain, minimal prompt. Oh My Posh lets you replace that with a richly styled, information-dense prompt that can show things like your current Git branch, the time, battery level, programming language version, and more, all color-coded and styled with custom icons and themes. It works by sitting between your shell and the display, reading context about your environment and rendering a prompt based on a configuration file you control. It supports virtually all popular shells, including bash, zsh, fish, PowerShell, and the Windows command prompt, and runs on Linux, macOS, and Windows. You would use Oh My Posh if you spend a lot of time in the terminal and want your prompt to be visually informative and personally styled. It is especially popular among developers who work with Git frequently, since it can display branch names and repo status at a glance without typing extra commands. The tool is written in Go for speed, keeping prompt generation fast so it does not slow down your typing. Configuration is done through a JSON or YAML theme file.

Copy-paste prompts

Prompt 1
How do I install Oh My Posh on macOS for zsh and load a theme that shows my Git branch and Python version in the prompt?
Prompt 2
Write an Oh My Posh JSON theme config that shows username, current directory, Git branch with status icons, and command execution time.
Prompt 3
How do I install Oh My Posh on Windows for PowerShell and make it load automatically every time I open a terminal?
Prompt 4
How do I create a custom Oh My Posh segment that shows my current Kubernetes context in the prompt?

Frequently asked questions

What is oh-my-posh?

Oh My Posh replaces your plain terminal prompt with a richly styled, information-dense display showing Git branch, battery, language version, and more, works on any shell and any OS, configured through a simple theme file.

What language is oh-my-posh written in?

Mainly Go. The stack also includes Go, JSON, YAML.

How hard is oh-my-posh to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is oh-my-posh for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub jandedobbeleer on gitmyhub

Verify against the repo before relying on details.