'Tried to install oh-my-posh but it tells me that "the term is not recognized as..."

So I tried installing oh-my-posh for windows with

Install-Module oh-my-posh -Scope CurrentUser

and typed

Get-PoshThemes

to see the available themes which I downloaded. But I got this message

Get-PoshThemes : The term 'Get-PoshThemes' is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At line:1 char:1
+ Get-PoshThemes
+ ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Get-PoshThemes:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

Can anyone help me?



Solution 1:[1]

Solution

(Note: I'm running PowerShell 7.1 LTS)

First, install a Nerd Font:

[skip if you've already done so]

Instructions for installing a Nerd Font:

https://docs.microsoft.com/en-us/windows/terminal/tutorials/custom-prompt-setup#install-a-nerd-font


Then, install oh-my-posh:

1. Install: posh-git oh-my-posh:

   # This first step isn't included in the Microsoft Docs page:
   Install-Module posh-git -Scope CurrentUser
   
   # ...though this one is:
   Install-Module oh-my-posh -Scope CurrentUser

2. ...follow the rest of the instructions here:

https://github.com/JanDeDobbeleer/oh-my-posh2#installation

3. ...finally, try the command again:

   # Set the prompt theme (defaults to 'agnoster' for me)
   # ! Note: You have to do this step first (or it still won't work)
   Set-PoshPrompt

   # List the available themes (should work now)
   # ! Note: this will attempt to render a bunch of graphics in your shell
   Get-PoshThemes
   
   # ! Note: use the -List option to avoid a bunch of graphics in your shell
   # This will list the paths to the themes (in plaintext):
   Get-PoshThemes -List

Optional

To avoid manually entering Set-PoshPrompt, include the command in your PowerShell $PROFILE:

    # ...e.g. to use the included 'zash' theme:
    Set-PoshPrompt zash

...you should see your PowerShell prompt change when you open a start shell instance (i.e. new PowerShell tab or window).


Closing thoughts (side-note)

Before I got it to work, I originally followed the instructions here:

https://docs.microsoft.com/en-us/windows/terminal/tutorials/custom-prompt-setup#install-a-nerd-font

...no mention of the posh-git module or the Set-PoshPrompt command (as of 12/30/2021).

Solution 2:[2]

I kept getting the cmdlet not found error even after following the guide by Robbie. For some reason a fresh install did not fix it for me but an update did:

Update-Module oh-my-posh

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Brad C