CLI commands
Completion
openclaw completion
Generate shell completion scripts, cache them under OpenClaw state, and optionally install them into your shell profile.
Usage
openclaw completion # print the detected shell's scriptopenclaw completion --shell fish # print fish scriptopenclaw completion --write-state # cache scripts for all shellsopenclaw completion --write-state --install # cache, then install in one stepopenclaw completion --shell bash --write-stateOptions
-s, --shell <shell>: shell target, one ofzsh,bash,powershell, orfish. Detected from$SHELL, otherwise PowerShell on Windows and zsh elsewhere.-i, --install: install completion by adding a source line for the cached script to your shell profile--write-state: write completion script(s) to$OPENCLAW_STATE_DIR/completions(default~/.openclaw/completions) without printing to stdout. With--shellit writes only that shell, otherwise all four.-y, --yes: skip install confirmation prompts (non-interactive)
Install flow
--install points your profile at the cached script, so the cache must exist first. If the cache is missing, the command fails and tells you to run openclaw completion --write-state. Combine --write-state --install to do both in one step. Without --shell, the command preserves a recognized $SHELL. When $SHELL is missing or unrecognized, it defaults to PowerShell on Windows and zsh elsewhere.
The install writes a small # OpenClaw Completion block into your shell profile and replaces any older slow source <(openclaw completion ...) lines with the cached source line:
| Shell | Profile |
|---|---|
| bash | ~/.bashrc (falls back to ~/.bash_profile when ~/.bashrc is missing) |
| fish | ~/.config/fish/config.fish |
| powershell | ~/.config/powershell/Microsoft.PowerShell_profile.ps1 (on Windows: Documents/PowerShell/Microsoft.PowerShell_profile.ps1, or Documents/WindowsPowerShell/... for Windows PowerShell) |
| zsh | $ZDOTDIR/.zshrc when ZDOTDIR is defined; otherwise ~/.zshrc (an empty ZDOTDIR resolves to /.zshrc) |
Profile changes are staged beside the destination and atomically replace it only after a complete durable write. A failed install leaves an existing profile unchanged.
Installed source lines preserve literal cache paths, including spaces, quotes, dollar signs, and backslashes. Reinstalling replaces OpenClaw's previous source line after the state directory changes.
A user-managed portable hook for the same cached script (for example [[ -f "${HOME}/.openclaw/completions/openclaw.bash" ]] && source "${HOME}/.openclaw/completions/openclaw.bash", as a dotfile manager would write) is recognized as completion being configured. Doctor and completion --install leave such managed lines byte-for-byte untouched instead of appending a duplicate literal-path block.
Permission failures
If Doctor or onboarding cannot update your shell profile, completion remains optional and setup continues. When a cache is available, the warning includes a command to load that cache in your current matching shell session. Run the complete command as printed. This does not install completion for future shell sessions.
For persistent installation, resolve the reported permission or read-only error
before retrying openclaw completion --install. The failure location may be a
staging directory or a symlink target, not the profile itself. Atomic replacement
also needs write access to the destination directory. The installer uses the
profile selected in the table above. It has no profile-file destination option.
Notes
- Without
--installor--write-state, the command prints the script to stdout. - Completion generation eagerly loads the full command tree, including plugin CLI commands, so nested subcommands are included.
- If invalid configuration prevents plugin discovery, generation warns and still includes core commands. Repair the configuration and regenerate to include plugin commands.
- Bash completion supports both
--flag valueand--flag=value, including named profiles before nested commands and single-quoted, double-quoted, or backslash-escaped value prefixes. openclaw updaterefreshes the completion cache automatically after a successful update.openclaw doctorcan repair missing or stale completion setups.