LinuxmacOS

Where Does Oh My Zsh Store Customizations?

Oh My Zsh files user customizations in a custom folder inside its install, keeping updates from touching your edits.

Last updated

Oh My Zsh draws a bright line between framework and personal. The install directory holds the updater managed core, themes, and plugins. The custom folder inside it holds everything you added, immune to updates by design.

Your .zshrc sources the framework and lists enabled plugins, while actual custom code lives in custom files. New machines need the framework installed first, then the custom transplant. Absolute paths in old configs are the usual migration casualty.

Where Oh My Zsh stores this, by platform

Linux
~/.oh-my-zsh/custom

Custom themes, plugins, and snippets live here, safe from updater overwrites. Copy this folder plus .zshrc for migrations.

macOS
~/.oh-my-zsh/custom

Same layout as Linux whether installed by curl, wget, or a package manager. The custom folder contract holds everywhere.

Frequently asked questions

How do I migrate my setup?

Copy the custom folder plus .zshrc to the new machine after installing. Themes and plugins ride in custom, while the core updates independently. Repoint any absolute paths inside afterwards.

Do updates overwrite my changes?

Yes. The update script merges upstream into the core directories only. Files under custom never get touched, which is the entire reason the folder exists. Local overrides beat reinstalls.

Notice an outdated path? Let us know.