Installation#
Squirro CLI runs as a Docker container. A small wrapper script places a squirro command on your system path and runs the container for you, so the tool behaves as though it were installed natively.
Before starting, see the Squirro CLI page for what the tool does and how it is meant to be used.
Prerequisites#
A Squirro ID with Squirro Registry access
Squirro CLI is published to the Squirro Registry, which requires a Squirro ID. If you do not have one, see the How to Register for a Squirro ID page. Access to Squirro CLI is granted to selected customers and partners, so request it early: visit the Squirro Support website and submit a technical support request for Squirro Registry access.
Docker
Install Docker for your operating system from the Docker website. Docker must be running before any
squirrocommand works.An internet connection
Required to authenticate with the Squirro Registry and to download the image on first use.
A Squirro instance URL and API token
Take the API token from the user menu of the instance web interface. The instance must run version 3.16.4 or later.
Log In to the Squirro Registry#
Authenticate with the Squirro Registry.
docker login registry.squirro.com
Docker prompts for a username and a password. Use the Registry username associated with your Squirro ID, and your Registry CLI secret as the password. Both are shown in your user profile after you log in to the Squirro Registry website.
You only need to do that once, because Docker stores the credentials locally.
Install the squirro Command#
Squirro CLI is a client. Install it on the machine you work from, such as your own workstation or a build agent, and not on a Squirro server. It reaches the instance over HTTPS using the cluster URL and token that the active profile carries, so it needs no access to the machines the platform runs on.
The wrapper script goes in /usr/local/bin/, which requires sudo access. If you do not have sudo access, ask your system administrator to install it for you.
On Linux and macOS, run the following commands.
sudo curl -fsSL https://mirror.squirro.net/extras/squirro-cli-docker.sh -o /usr/local/bin/squirro
sudo chmod +x /usr/local/bin/squirro
The script mounts two paths into the container:
~/.squirro, which holds your user-scoped profiles.The directory you run the command from.
Important
The container sees only the directory you ran the command from. Run any command that touches configuration files, such as config pull, config apply, and config validate, from inside your configuration directory. Run them elsewhere and Squirro CLI has no access to those files.
Verify the Installation#
squirro --help
The first run downloads the image, which takes a few minutes depending on your connection speed. A list of command groups confirms that the installation works.
Commands:
api Universal access to Squirro API endpoints.
chat Chat with Squirro AI agents.
config Manage Squirro configuration.
connection Test connection to all configured platforms (GenAI and...
init Initialize a new unified Squirro project.
load Load a local FILE into a file-based source.
logs Fetch logs from Squirro Studio log_files plugin.
permissions Manage Squirro permissions and access control.
profile Manage Squirro connection profiles.
project Manage Squirro projects.
search Search functionality commands.
secret Manage secrets for the current profile.
test Test Squirro configurations and connections.
ui Build and deploy custom Squirro UI (forwards to the neo-ui...
squirro --help lists the global options above that. Adding a group name describes that one group and the subcommands it holds.
squirro config --help
Usage: squirro config [OPTIONS] COMMAND [ARGS]...
Manage Squirro configuration.
Options:
--help Show this message and exit.
Commands:
apply Apply configuration from file(s).
list List all supported configuration types.
pull Pull configuration from Squirro to file(s).
schema Generate JSON schema for configuration files.
validate Validate configuration, showing the changes an apply would make.
For what each group does, and which of them carry less than their name suggests, see the Main Commands page.
The following command reports which build you are running and the minimum instance version it supports.
squirro --version
That prints the build tag and the minimum version.
squirro-cli 0.2026.09.08.68 (squirro >= 3.16.4)
Move to a New Build#
The image is cached locally and does not update on its own, so you decide when to move to a newer build.
squirro self update
That command is handled by the wrapper script rather than by the CLI. It refreshes the script itself from mirror.squirro.net, logs in to the Squirro Registry, then pulls the current image.
It can therefore ask for two different passwords, so read which one is being requested:
Updating the script may need elevated permissions, in which case
sudoshows aPassword:prompt. That one wants your computer login password.The Registry login is usually silent, because Docker has stored your credentials. It prompts for
Username:andPassword:only when those credentials have gone, after a rotated Registry CLI secret for example. That one wants your Squirro Registry username and CLI secret, and the update stops there if it fails.
You can also pull the image without touching the wrapper script.
docker pull registry.squirro.com/squirro-cli/squirro-cli:latest
The wrapper script does not change. It uses the newly pulled image the next time you run a command.
A new build can ship newer assistant assets and a newer configuration schema, so run the following command once in each configuration directory you keep.
squirro init --update
That refreshes the bundled CLAUDE.md, skills, and tool definitions, and applies any pending schema migrations. It leaves your profiles, your configuration, and README.md alone, and keeps any skills and tools you added yourself, so review the result with git diff before committing. For more information, see the Configuration Directory page.
Pull a Specific Build#
Every build receives two tags. The latest tag points at the most recent build, and a calendar version tag points at that one build permanently.
0.<year>.<month>.<day>.<build>
The calendar version is also what squirro --version reports, so that command tells you which build you are on. To browse the available builds, log in to the Squirro Registry website and open the Squirro CLI repository.
docker pull registry.squirro.com/squirro-cli/squirro-cli:0.2026.09.08.68
Docker stores each tagged image separately, so pulling a build-tagged image leaves your latest image untouched. The wrapper script always uses latest, so to run a specific build, call docker run directly.
docker run --rm \
-it \
--user "$UID:$(id -g)" \
--env "HOME=$HOME" \
-v "${HOME}/.squirro:${HOME}/.squirro" \
-v "$(pwd):$(pwd)" \
-w "$(pwd)" \
registry.squirro.com/squirro-cli/squirro-cli:0.2026.09.08.68 \
[command]
Next Steps#
With the CLI installed, create a configuration directory and connect it to your instance. For more information, see the Configuration Directory page.