Turbo Mode
Summary
Section titled “Summary”Turbo mode defers plugin and snippet loading until after the first prompt is drawn, yielding 50–80% faster Zsh startup. It is activated by the wait ice modifier.
Details
Section titled “Details”Without Turbo mode every plugin is sourced synchronously during .zshrc evaluation, blocking the prompt. With wait'' (or wait"0"), Zinit schedules the load to happen asynchronously after the prompt appears. The shell becomes interactive immediately, and plugins load in the background within milliseconds.
wait accepts several forms:
wait/wait"0"— load on the next event loop tick after the prompt.wait"2"— load 2 seconds after the prompt.wait"[[ condition ]]"/wait"(( expr ))"— load when the condition becomes true.wait"!..."— load and reset the prompt afterwards (so prompt plugins display correctly).
Because loaded plugins may print output below the prompt, the companion lucid ice suppresses the “Loaded …” confirmation message to keep the terminal clean.
Zinit is documented as the only plugin manager that provides Turbo mode, with benchmarks showing startup times up to 5× faster when many plugins are used. Performance gains become more pronounced as the number of deferred plugins grows.
Examples
Section titled “Examples”# Minimal — load on next tick after promptzinit ice waitzinit load zdharma-continuum/history-search-multi-word
# Load 2 seconds after promptzinit ice wait"2"zinit load zdharma-continuum/history-search-multi-word
# Quiet load — suppress "Loaded …" messagezinit ice wait lucidzinit load zdharma-continuum/history-search-multi-word
# Turbo with prompt reset (needed for prompt/theme plugins)zinit ice wait"!" lucidzinit load romkatv/powerlevel10k
# Snippet also supports Turbozinit ice waitzinit snippet https://gist.githubusercontent.com/hightemp/5071909/raw/
# for-syntax with turbo and lucidzinit lucid wait for \ zsh-users/zsh-autosuggestions \ zdharma-continuum/fast-syntax-highlightingCaveats / Common Mistakes
Section titled “Caveats / Common Mistakes”- Completions loaded in Turbo mode require a different
compinitpattern — callzicompinitandzicdreplayinside anatinitoratloadhook on the last completion-related plugin rather than callingcompinitdirectly in.zshrc. See completions-management. - Prompt/theme plugins loaded with
waitmust usewait"!"orreset-promptice so that the prompt re-renders after the plugin loads. - Setting
ZINIT[OPTIMIZE_OUT_DISK_ACCESSES]=1can shave ~10 ms more but skips the existence check — only safe after all plugins are already installed.