agent-help, completion, and update utility commands. None of them need an authenticated profile.
omni config init
Interactively create a new configuration profile. Prompts for a profile name, API endpoint, and authentication method. See CLI authentication for more details about OAuth and API token authentication.- OAuth opens a browser-based login flow. Approving the verified Omni CLI application creates a user-scoped credential for the profile.
- API token stores the token in the profile. You can also set
OMNI_API_TOKENor pass--tokento override the profile token.
omni config login
Authenticate a profile with browser-based OAuth. If you don’t provide a profile name, the CLI uses the default profile.omni config logout
Clear OAuth tokens from a profile. If you don’t provide a profile name, the CLI uses the default profile.omni config show
Display the current configuration. Tokens are redacted in the output.omni config use
Switch the default profile.omni config list
List configured profiles.omni config rename
Rename a profile.omni config delete
Delete a profile.omni config set-format
Set the profile’s default output format, overriding the built-inauto default. Format must be one of json, human, auto.
See output formats for more information.
omni agent-help
Print a concise usage guide formatted for AI agents.omni completion
Generate a shell autocompletion script forbash, fish, powershell, or zsh.
omni completion <shell> --help for that shell’s install instructions.
omni update check
Check whether a newer Omni CLI release is available.check is the only omni update subcommand - the CLI doesn’t upgrade itself.
--format json for a machine-readable answer. It reports the current and latest versions, the release URL, and the upgrade command for your install method. On failure it writes the standard JSON error envelope to stderr and exits non-zero.
See installing the Omni CLI for how to upgrade.
Automatic update notices
The CLI also checks in the background and prints a notice onstderr after a successful command. The notice never touches stdout, so pipelines are unaffected.
The check is throttled to one successful check every 24 hours across every process on the machine, coordinated through a lock file next to update.json in your OS user cache directory. A failed or cancelled attempt backs off for 15 minutes instead of retrying on the next command.
Notices are suppressed for:
- Output that isn’t human format, including
--format json,--schemarequests, andomni config show - Non-interactive invocations, where
stdoutorstderrisn’t a terminal - The
omni updateandomni completioncommand groups - The
CIandOMNI_NO_UPDATE_NOTIFIERenvironment variables, when either is set - Builds that aren’t a tagged release
brew update && brew upgrade omni. Run brew update first: without it, brew upgrade can report that omni is up to date right after a release. Because the formula can lag the release, Homebrew users aren’t notified about a release in its first 24 hours. Windows users are pointed at the release downloads, because install.sh doesn’t run there.
Every command in this group also accepts the global flags, including
--token, --profile, --format, and --compact.
