Built-in commands
Command launcher built-in commands
config
Get or set the Command Launcher configuration.
Use cola config to list all configuration entries.
Use cola config [key] to get one configuration entry.
Use cola config [key] [value] to set one configuration entry.
completion
Set up auto completion. See help to get instructions:
cola completion --help
login
Store your credentials securely and pass them to managed commands when requested and under your agreements. For more details see: Managed resources
update
Check updates for the Command Launcher and any managed commands.
version
Return Command Launcher version information.
package
A collection of commands to manage installed packages and commands
package list
List installed packages and commands.
# list all local and dropin packages (default)
cola package list
# list local installed packages
cola package list --local
# list local installed packages and commands
cola package list --local --include-cmd
# list dropin packages
cola package list --dropin
# list local dropin packages and commands
cola package list --dropin --include-cmd
# list workspace packages (available in 1.15+)
cola package list --workspace
# list remote packages
cola package list --remote
package install
Install a dropin package from a git repo or from a zip file.
# install a dropin package from git repository
cola package install --git https://github.com/criteo/command-launcher-package-example
# install a dropin package from zip file
cola package install --file https://github.com/criteo/command-launcher/raw/main/examples/remote-repo/command-launcher-demo-1.0.0.pkg
package delete
Remove a dropin package from the package name defined in the manifest.
cola package delete command-launcher-example-package
package inspect
available in 1.15+
Show detailed information about an installed package, including its source, version, local path, pause status, and commands.
cola package inspect my-package
The output includes:
- Full name (
<package>@<source>) - Version
- Source (dropin, managed, workspace, etc.)
- Whether the package is managed
- Remote URL, registry, and sync policy (for managed packages)
- Local path
- Update pause status and expiration (for managed packages)
- List of commands in the package
package pause
available in 1.15+
Pause automatic updates for a managed package. This prevents the package from being updated during auto-update cycles. The pause lasts 24 hours by default. After the pause expires, the package will resume normal auto-update behavior.
A package is also automatically paused when its update fails, to avoid repeated failures.
cola package pause my-package
You can check whether a package is paused (and when the pause expires) with package inspect.
package setup
Manually trigger the package setup hook.
cola package setup command-launcher-example-package
remote
A collection of commands to manage extra remote registries. A registry is a URI that hosts multiple packages. The list of available packages of the registry is defined in its /index.json endpoint.
remote list
List remote registries.
cola remote list
remote add
Add a new remote registry. Command launcher will synchronize from this remote registry once added.
cola remote add myregistry https://raw.githubusercontent.com/criteo/command-launcher/main/examples/remote-repo
# optionally specify a sync policy (defaults to "always")
cola remote add myregistry https://example.com/repo --sync-policy daily
remote set
available in 1.15+
Update settings for an existing remote registry. Currently supports updating the sync policy.
# update the sync policy of a remote
cola remote set myregistry --sync-policy daily
Valid sync policies: never, always, hourly, daily, weekly, monthly.
Note: the
defaultremote cannot be modified with this command.
remote delete
Delete a remote registry by its name.
cola remote delete myregistry
rename
rename
Rename a command into a different name.
To avoid command conflicts, each command has a unique full name in the form of [name]@[group]@[package]@[repository]. For group commands and root level commands, their group is empty. For example: hello@@my-package@dropin is the full name of the command hello in my-package package, which can be found in the dropin repository.
Usually, such command is launched through: cola [group] [name]. You can rename the group and the name of the command to a different name, so that you can call it through: cola [new group] [new name]
To rename a command to a different name, use the following commands:
# To change the group name:
cola rename [group]@@[package]@[repository] [new group]
# To change the command name:
cola rename [name]@[group]@[package]@[repository] [new name]
For example, you can rename the hello command to bonjour using following rename command:
cola rename hello@@my-package@dropin bonjour
# now calling it from cola will trigger the original hello command
cola bonjour
rename –list
available in 1.10.0+
List all renamed commands.
The Command Launcher keeps track of all renamed commands. You can list all renamed commands using the following command:
cola rename --list
rename –delete
Delete a renamed command name, reverting back to the original name.
cola rename --delete [command full name]
Now you have to use its original name to call the command.