Skip to content

CLI Reference

The octopus CLI has two layers: a thin shim that manages versions (install, update, doctor, version) and the workflow CLI that runs everything else. octopus help lists both β€” the list is generated from a single registry, so it never drifts from what the CLI actually accepts. This page is the reference for the surface that help summarises.

Discovering commands

Terminal window
octopus help # global + workflow commands
octopus help <command> # one-line summary of a command
octopus list # command names, one per line (for scripting)
octopus completions bash # shell completion: bash, zsh, or fish

Global commands

These live in the shim and manage the installed version:

CommandWhat it does
install [--version <tag>] [--latest]Install a release into the local cache
update [--version <tag>] [--latest] [--pin]Update to a version; --pin writes a lockfile
setupConfigure Octopus in the current repository (flags below)
uninstall [--scope]Remove Octopus artifacts from the repo or user account
doctorInspect the cached installation and report health
version Β· --versionPrint the installed version

setup flags

octopus setup is interactive by default. It scans the repo for language and database signals and pre-selects the matching stack and database profiles in the picker β€” you confirm or deselect them before anything is written. For CI or scripting, every choice has a flag:

FlagEffect
--scopeConfigure this repository (repo, the default) or the user account (user)
--reconfigureRe-open the picker to edit an existing configuration
--dry-runPrint what would change without writing anything
--bundle <name>Preselect a bundle or profile (repeatable)
--stack <name>Preselect a stack profile: dotnet β†’ stack-csharp, node β†’ stack-typescript, python β†’ stack-python
--no-detectSkip automatic stack and database detection; start the picker with no profiles pre-selected
--reviewers <list>Preset the PR reviewers
--no-hooksSkip hook installation
--no-workflowSkip the workflow command set

release subcommands

octopus release drives a versioned release. The subcommands are the building blocks the release workflow orchestrates:

SubcommandWhat it does
suggest-version [from-ref]Suggest the next semver from the commit history
list-commits [from-ref]List commits since the last tag
commit-changelog <version>Commit CHANGELOG.md and sync README version references
create-tag <version> <file>Create the annotated tag from a notes file
create-gh-release <version> <file>Publish the GitHub Release

Configuration β€” environment variables

The CLI reads these at startup; all are optional:

VariableDefaultPurpose
OCTOPUS_CLI_CACHE_ROOT~/.octopus-cliWhere releases are cached
OCTOPUS_RELEASE_OWNERleocostaGitHub owner for release lookups
OCTOPUS_RELEASE_NAMEoctopusGitHub repository name for release lookups
OCTOPUS_API_ENDPOINTGitHub releases APIOverride the release-metadata endpoint
OCTOPUS_DRY_RUNunsetWhen true, setup and delivery print instead of writing
OCTOPUS_DISABLED_HOOKSunsetComma-separated hook ids to skip at setup