Files
openclaw/docs/cli/completion.md
T
2026-08-17 04:31:21 -07:00

3.6 KiB

summary, read_when, title
summary read_when title
CLI reference for `openclaw completion` (generate/install shell completion scripts)
You want shell completions for zsh/bash/fish/PowerShell
You need to cache completion scripts under OpenClaw state
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 script
openclaw completion --shell fish             # print fish script
openclaw completion --write-state            # cache scripts for all shells
openclaw completion --write-state --install  # cache, then install in one step
openclaw completion --shell bash --write-state

Options

  • -s, --shell <shell>: shell target (zsh, bash, powershell, fish; 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 --shell 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 it 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.

Notes

  • Without --install or --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.
  • openclaw update refreshes the completion cache automatically after a successful update; openclaw doctor can repair missing or stale completion setups.