Powerlevel10k is designed to be a seamless drop-in replacement for Powerlevel9k. EveryDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/romkatv/powerlevel10k/llms.txt
Use this file to discover all available pages before exploring further.
POWERLEVEL9K_* parameter you have already defined continues to work without modification, and your prompt will look virtually identical — only much faster. If you are migrating from Powerlevel9k, you do not need to touch your existing configuration; just swap the theme and restart Zsh.
Relationship Between Powerlevel9k and Powerlevel10k
Powerlevel10k was forked from Powerlevel9k in March 2019 following a week-long discussion in powerlevel9k#1170. At the time, Powerlevel9k was already a mature project with a large user base and a release cycle measured in months. Powerlevel10k was spun off to iterate on performance improvements and new features at a much higher pace. The two are now fully independent projects. When using one you should not have the other installed, and issues should be filed against whichever project you actually use. Over time, virtually all code in Powerlevel10k has been rewritten — there is currently no meaningful overlap between the two implementations. All bug fixes and new features committed to the Powerlevel9k repository are ported to Powerlevel10k. Powerlevel10k is committed to maintaining backward compatibility with all configs indefinitely. This commitment covers every configuration parameter recognized by Powerlevel9k as well as additional parameters that only Powerlevel10k understands. For consistency, all parameter names in Powerlevel10k begin withPOWERLEVEL9K_.
Migrating from Powerlevel9k with Oh My Zsh
If you are currently running Powerlevel9k inside Oh My Zsh, the entire migration is a single shell session: clone the repository into your Oh My Zsh custom themes directory, update the theme name in~/.zshrc, and restart Zsh.
Replace the theme name in ~/.zshrc
The command below replaces every occurrence of
powerlevel9k with powerlevel10k in your ~/.zshrc (a .bak backup is created automatically):Optional: run the configuration wizard
Install the recommended Meslo Nerd Font and then run
p10k configure to choose a prompt style that takes full advantage of Powerlevel10k’s capabilities.Do not remove your existing
POWERLEVEL9K_* parameters. Powerlevel10k will pick them up automatically and reproduce the same prompt you are used to.Differences: Not Perfectly Identical
Powerlevel10k strives to be bug-compatible with Powerlevel9k, but it intentionally diverges in a handful of areas — mostly to correct longstanding bugs or to behave more correctly by default. The differences described below are the ones most commonly encountered when migrating.Only the git VCS Backend Is Enabled by Default
Powerlevel10k enables only the git VCS backend out of the box. If you need svn or hg support, add them explicitly:
POWERLEVEL9K_VCS_SHOW_SUBMODULE_DIRTY=true Is Not Supported
Powerlevel10k does not support the POWERLEVEL9K_VCS_SHOW_SUBMODULE_DIRTY=true parameter. If you have this set in your config, remove it.
POWERLEVEL9K_MODE Behavior
Powerlevel9k ignores POWERLEVEL9K_MODE when it is set before the theme is sourced. Powerlevel10k respects it in all cases. If you see different icons in Powerlevel10k compared to Powerlevel9k, you likely have POWERLEVEL9K_MODE defined in ~/.zshrc before the theme is sourced. Remove that parameter to restore the icon appearance you had with Powerlevel9k.
ZLE_RPROMPT_INDENT Behavior
Powerlevel9k ignores the standard Zsh parameter ZLE_RPROMPT_INDENT, which controls the indentation between the right prompt and the right edge of the screen. Powerlevel10k respects it. Because the default value is 1, right prompt in Powerlevel10k can appear to have an extra trailing space compared to Powerlevel9k.
Add
ZLE_RPROMPT_INDENT=0 to ~/.zshrc to reproduce the right-edge spacing you had with Powerlevel9k.Icon Spacing
Powerlevel9k has inconsistent spacing around icons — a side-effect of bugs in its rendering logic. Powerlevel10k fixes this inconsistency by default, which means your prompt may have slightly different spacing around some icons after migration.Add
POWERLEVEL9K_LEGACY_ICON_SPACING=true to ~/.zshrc to replicate Powerlevel9k’s original (inconsistent) icon spacing exactly.Quick Fix: Extra or Missing Spaces
If your migrated prompt has extra or missing spaces compared to what you had in Powerlevel9k, the following two lines in~/.zshrc will restore the original appearance:
Backward Compatibility Commitment
Powerlevel10k will never break existing configurations. AllPOWERLEVEL9K_* parameters — including those that originated in Powerlevel9k and those that are unique to Powerlevel10k — will continue to be recognized and honored indefinitely. You can migrate today and update Powerlevel10k freely without worrying about your prompt configuration becoming invalid in a future release.