Oh My Posh Profile Update – Kicking Off 2026 🎉

Starting 2026 with a refreshed PowerShell profile and an updated Oh My Posh configuration.

New Year, New Prompt ☕️

Every new year I tend to do a bit of housekeeping — not just in Azure subscriptions or GitHub repos, but also in the tools I stare at every single day. One of those tools is my terminal prompt, powered by Oh My Posh.

If you live in a terminal (PowerShell, Bash, Zsh, WSL… pick your poison), your prompt matters more than you might think. It’s not just aesthetics — it’s signal. The right information, at the right time, without slowing you down.

Why Oh My Posh?

I’ve been using a custom Oh My Posh profile for around four years now, and honestly, it’s one of those things that once you have it dialled in, you can’t go back.

When you’re working with multiple cloud customers, multiple Azure subscriptions, and multiple Kubernetes clusters, context switching becomes the real danger — not the tooling itself. One wrong kubectl apply or az group delete in the wrong tenant is all it takes to ruin your day.

That’s exactly where a well-designed prompt becomes invaluable.

Why Prompt Context Matters

Looking at the prompt in the screenshot, I can immediately see:

  • Shell & platform I’m in pwsh on Windows.

  • Working directory I’m inside my C:\code workspace.

  • Kubernetes (AKS) context

    • Cluster: aks-bwc-dev-weu
  • Azure context

    • Subscription name
    • Azure CLI Context
    • Az (Pwsh) Module Context
  • AWS context

    • Active region (eu-west-2)

All of that is visible before I type a single command.

The prompt answers the question: “Where am I about to make changes?”, before I make them.

Kubernetes Context: Avoiding Expensive Mistakes

When you’re jumping between clusters—dev, acc, prod, and multiple customers—running kubectl config current-context is too slow and far too easy to forget.

By surfacing this directly in the prompt:

  • You always know which cluster you’re targeting
  • You’re far less likely to:
    • Deploy to production instead of development
    • Run destructive commands in the wrong environment
    • Debug the wrong cluster for 20 minutes

Azure & AWS Context: Same Problem, Same Solution

The same problem exists outside Kubernetes:

  • Multiple Azure tenants and subscriptions
  • Multiple AWS accounts and regions
  • Multiple Entra ID tenants

By pulling this information dynamically into Oh My Posh, I can immediately tell:

  • Which subscription or tenant I’m logged into
  • Whether I’m in a production or non-production environment

This becomes especially valuable when consulting, where switching customers multiple times a day is completely normal.


Why Oh My Posh Works So Well for This

Oh My Posh is particularly strong here because:

  • It’s shell-agnostic (PowerShell, Bash, Zsh, etc.)
  • Segments are fully scriptable
  • You can:
    • Query kubectl
    • Query Azure CLI or AWS CLI
    • Cache results for performance
    • Apply conditional styling based on environment

The result is a prompt that becomes a safety dashboard, not just decoration.

What Changed Going Into 2026

  • The previous 2025 theme, Had been hacked and modified based on the Quick Term theme from awhile ago, but I’d heard there had been an overview migration update for the Json configuration from v3 to v4, So during the festive break, I figured I’d have a look into this and see how easy it would be to move from v3 to v4, In short pretty easy :D
  • GitHub Copilot Support Dccs Link

Goals for this refresh

  • Migrate from the v3 to v4 Theme.
  • Clean Up the overall UI of the Profile
  • Include the GitHub Copilot Premium counter

Theme Philosophy

I tend to treat my Oh My Posh config the same way I treat infrastructure code:

  • Explicit over clever
  • Readable over compressed
  • Predictable over magical

That means:

  • Clear blocks
  • Minimal conditional logic
  • Icons that reinforce meaning, not decoration
  • No “just because it looks cool” segments

If something doesn’t earn its place on the prompt, it gets removed.

Fonts & Terminal Setup

This configuration assumes:

  • A Nerd Font, I’m currently using Cascadia Code
  • Windows Terminal (Stable Release)
  • Solarized Dark (Customised)

If you don’t have a Nerd Font installed, some icons will look… interesting for sure! But this said, If you want to enhance your terminal session, check out the Nerd Font website, https://www.nerdfonts.com/font-downloads

The 2026 Oh My Posh Configuration

Below is my current Oh My Posh JSON configuration, as of January 2026.

Feel free to:

  • Copy it
  • Fork it
  • Break it
  • Improve it
  • Or ruthlessly strip it down to your own taste

Prompts are personal — treat this as inspiration, not gospel.

C:\Users\%UserName%\AppData\Local\Programs\oh-my-posh\themes
quick-term-cloud.omp.json
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
{
  "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
  "version": 4,
  "final_space": true,
  "blocks": [
    {
      "type": "prompt",
      "alignment": "left",
      "newline": true,
      "segments": [
        {
          "type": "os",
          "style": "diamond",
          "leading_diamond": "\ue0b6",
          "template": " {{.Icon}}{{if .WSL}} (WSL){{end}}\u2800 ",
          "foreground": "#ffffff",
          "background": "#d75f00",
          "options": {
            "windows": "\ue62a",
            "linux": "\uf17c",
            "ubuntu": "\uf31b",
            "kali": "\uf327",
            "macos": "\uf179"
          }
        },
        {
          "type": "shell",
          "style": "powerline",
          "template": " \uf489  {{ .Name }} ",
          "foreground": "#011627",
          "background": "#FEF5ED"
        },
        {
          "type": "path",
          "style": "diamond",
          "template": " {{ .Path | lower }} ",
          "foreground": "#FEF5ED",
          "background": "#0087af",
          "trailing_diamond": "\ue0b0",
          "options": {
            "style": "agnoster_short",
            "max_depth": 3,
            "folder_icon": "\u2026",
            "folder_separator_icon": " <transparent>\ue0b1</> "
          }
        },
        {
          "type": "git",
          "style": "diamond",
          "template": " {{ .UpstreamIcon }} {{ .HEAD }} {{ .BranchStatus }}  {{ if .Working.Changed }}{{ .Working.String }}{{ else }}0{{ end }}  {{ if .Staging.Changed }}{{ .Staging.String }}{{ else }}0{{ end }}  {{ .StashCount }} ",
          "foreground": "#000000",
          "background": "#52c77a",
          "trailing_diamond": "\ue0b4",
          "background_templates": [
            "{{ if or (.Working.Changed) (.Staging.Changed) }}#ffa94d{{ end }}",
            "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#f78c8c{{ end }}",
            "{{ if gt .Ahead 0 }}#66b3ff{{ end }}",
            "{{ if gt .Behind 0 }}#ff9966{{ end }}"
          ],
          "options": {
            "fetch_status": true,
            "fetch_upstream_icon": true,
            "branch_icon": "\uf418 "
          }
        }
      ]
    },
    {
      "type": "prompt",
      "alignment": "right",
      "segments": [
        {
          "type": "executiontime",
          "style": "diamond",
          "leading_diamond": "\ue0b6",
          "template": " \ueba2 {{ .FormattedMs }} ",
          "foreground": "#585858",
          "background": "#FEF5ED",
          "options": {
            "style": "austin",
            "always_enabled": true
          }
        },
        {
          "type": "copilot",
          "style": "diamond",
          "template": "   {{ .Premium.Remaining.Gauge }} Used:{{.Premium.Percent }}% ",
          "foreground": "#111111",
          "background": "#C06EFF",
          "options": {
            "http_timeout": 1000
          },
          "cache": {
            "duration": "5m",
            "strategy": "session"
          }
        },
        {
          "type": "time",
          "style": "diamond",
          "template": " \uf017  {{ .CurrentDate | date .Format }} ",
          "foreground": "#FEF5ED",
          "background": "#d75f00",
          "trailing_diamond": "\ue0b4",
          "invert_powerline": true,
          "options": {
            "time_format": "15:04:05"
          }
        }
      ]
    },
    {
      "type": "prompt",
      "alignment": "left",
      "newline": true,
      "segments": [
        {
          "type": "text",
          "style": "plain",
          "template": " \u2570\u2500",
          "foreground": "#d75f00"
        },
        {
          "type": "kubectl",
          "style": "powerline",
          "template": " \udb84\udcfe : {{.Context}}{{if .Namespace}} :: {{.Namespace}}{{end}} ",
          "foreground": "#FEF5ED",
          "cache": {
            "duration": "30s",
            "strategy": "session"
          }
        },
        {
          "type": "text",
          "style": "plain",
          "template": "||",
          "foreground": "#d75f00"
        },
        {
          "type": "az",
          "style": "powerline",
          "template": " \uebd8 : {{ .Name }} ",
          "foreground": "#FEF5ED",
          "cache": {
            "duration": "30s",
            "strategy": "session"
          }
        },
        {
          "type": "text",
          "style": "plain",
          "template": "||",
          "foreground": "#d75f00"
        },
        {
          "type": "az",
          "style": "powerline",
          "template": " \ue683 : {{ .Name }} ",
          "foreground": "#FEF5ED",
          "cache": {
            "duration": "30s",
            "strategy": "session"
          },
          "options": {
            "source": "pwsh"
          }
        },
        {
          "type": "text",
          "style": "plain",
          "template": "||",
          "foreground": "#d75f00"
        },
        {
          "type": "aws",
          "style": "powerline",
          "template": " \udb83\ude0f : {{.Profile}}{{ if .Region }}@{{ .Region }}{{ end }}",
          "foreground": "#FEF5ED",
          "cache": {
            "duration": "30s",
            "strategy": "session"
          }
        }
      ]
    },
    {
      "type": "prompt",
      "alignment": "left",
      "newline": true,
      "segments": [
        {
          "type": "text",
          "style": "plain",
          "template": "#",
          "foreground": "#d75f00"
        }
      ]
    }
  ]
}

Final Thoughts

Oh My Posh is one of those tools that rewards small, regular tweaks. You don’t need to reinvent your prompt every month — but giving it a yearly refresh keeps it aligned with how you actually work, not how you worked six projects ago.

FOr some more useful reading, You can check out the following links

Here’s to fewer broken shells, faster prompts, and better caffeine-fuelled terminals in 2026 ☕️🚀

Share with your network!

Built with Hugo - Theme Stack designed by Jimmy