Before validating anything, make sure you're on the latest version of Oh My Posh and your terminal and shell are up-to-date.
You can use the
oh-my-posh debug functionality to see where Oh My Posh spends its time.
In case there's no clear culprit (timings indicate everything's OK), chances are some modules are the culprit.
We bootstrap a few PowerShell modules to maximise compatibility, but sometimes these can introduce unwanted side-effects.
The modules we support are:
You can use Oh My Posh's built-in debug functionality to identify slow segments.
Whenever there's a segment that spikes, see if there might be updates to the underlying functionality (usually shell commands).
If only your Git repo paths are slow, then try running
git gc to clean up and optimize the local repository.
If nothing seems to resolve the issue, feel free to create an issue.
The font you're using doesn't have the needed standard extended glyph set like Nerd Font does.
Windows Terminal ships with Cascadia Code by default which has a powerline patched variant called Cascadia Code PL,
but also that one misses certain interesting icons. You can fall back to any theme with the
or make use of a Nerd Font. Have a look at the font section for more context in case you're using all the right conditions.
They need to work on their terminal, somehow it only supports UTF-8 and not UTF-16. An issue is available for a follow-up here.
You need to migrate using the following guide.
This issue occurs when you're using plain ZSH in combination with Oh My Posh.
You fix this by can adding the right configuration to
You're here because you've seen the following message:
When running PowerShell in ConstrainedLanguage mode, we can't set the console to UTF-8. This will cause the prompt to be rendered incorrectly. There's a few options to set the console to UTF-8 from an OS perspective on Windows, other systems shouldn't be impacted.
To remove the message after manual configuration, you can add the following to your
$PROFILE before importing Oh My Posh:
Conda will automatically prepend the prompt with the name of the environment you're in. To solely rely on Oh My Posh to set the prompt, you can configure the following setting to hide it:
Virtual environments created with
venv add the active environment's name to the prompt automatically.
To disable this behaviour, set
VIRTUAL_ENV_DISABLE_PROMPT environment variable to
1 on your system. Example files:
Note: Tilde (~) in paths refers to your user's home directory.
The text decoration styles are based on your terminal emulator's capabilities.
A quick way to check if your terminal supports a specific style escape sequence is to take a look at the
terminfo database, on Linux.
Refer this page on ArchWiki.
The issue is that PowerShell on Windows doesn't yet default to UTF8. Resolve the issue by adding the following line
to the top of your