Oh My Zsh CLI
Oh My Zsh is a shell configuration framework that keeps the old .zshrc separately so users can carry over functions and paths.
- 190,327 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Installation changes shell settings, and plugins run with user permissions in terminal sessions.
Install
Manual install
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"First curl option in Basic Installation. Inspect install.sh and preserve settings first.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Installation changes shell settings, and plugins run with user permissions in terminal sessions.
This is third-party code. Review the repository files before installing.
What it does
Oh My Zsh is a Zsh configuration manager that loads selected plugins and a theme when a terminal session starts. Users get completions and aliases and add their own functions. The built-in `omz` command maintains the installation. Setup keeps the previous configuration in a separate file so users can carry over functions and paths themselves. Settings apply to the regular shell, including terminal work alongside coding agents. The collection has no dedicated MCP interface; plugins operate inside Zsh.
Who it is for. Zsh users managing terminal plugins, a theme and personal settings together.
Good fit when
- A Zsh user enables command completions for their tools.
- Settings for several plugins are collected in shell configuration.
- After changing themes, a user carries custom functions over from the old file.
- A terminal-environment maintainer chooses update frequency and cooldown.
Not a fit when
- The working shell is not Zsh and cannot be changed.
- No third-party plugins may execute at shell startup.
- Automation relies on command names that aliases could override.
Example request
Propose a minimal Oh My Zsh setup for Git after reviewing my aliases and preserving the old .zshrc.Limitations
Zsh, Git and curl or wget are required beforehand; the collection does not replace the shell itself. Installation changes `.zshrc` while preserving the old file, so review settings to carry over. Plugins and aliases load into the user session and can change command behavior, including terminal scripts. Updates change installed extension code; review update frequency and cooldown settings and verify important shell functions after applying them.
How to disable. Use the documented `uninstall_oh_my_zsh` and inspect restored settings before the next shell session.
FAQ
Must Zsh be installed first?
Yes. Check `zsh --version` and install the shell separately if needed.
Where is the old .zshrc?
In `.zshrc.pre-oh-my-zsh`. Review it before carrying settings over.
How do I enable a plugin?
Add its name to `plugins` in `.zshrc`, then start a new session.
How do I update it?
Run `omz update` for the installed collection. Configure automatic-update frequency and the cooldown for new releases separately.
Where do I add a custom plugin?
Place a file named like XYZ.plugin.zsh under `custom/plugins/` following the project structure, then enable it in `plugins`. If its name matches a bundled plugin, Oh My Zsh loads the custom version instead.
Discussion
No questions or reviews yet.
Related
CLI toolszoxide is a directory-jump tool with interactive zi selection when a short name matches more than one folder.
A set of 24 slash commands for the Claude Code CLI: commits, review, refactoring, tests and cleanup without repeating the same prompts
ZCF
ZCF - Zero-Config Code Flow
A CLI that sets up Claude Code and Codex in one run: workflows, agents, skills, MCP and a provider choice
nnn manages files in a terminal with selection, batch renaming, disk analysis, bookmarks and optional plugin extensions.
A configurator that reads your repo and sets up agents, skills, MCP servers and rules for its stack across several assistants
inshellisense adds command and option suggestions to shells with configurable keys and optional startup integration.
README in short
The update cooldown is set in days. Users can wait for that period before receiving newly released extension changes.