Last Updated: Jan 13, 2021
This page provides information about the Globus CLI, a standalone application that can be installed on the user’s machine and used to access the Globus service.
The CLI provides an interface to Globus services from the shell, and is suited to both interactive and simple scripting use cases.
It is open source and available at https://github.com/globus/globus-cli
The Globus CLI is available as a python package from PyPI.
It can be installed with
We enthusiastically recommend using pipx to install the Globus CLI. It provides an isolated environment to keep your CLI installation running smoothly, and it’s resilient to changes in your system’s python installation.
pipx install globus-cli
After that, you can use
pipx to manage your installation.
Some time later, upgrade your installed version:
pipx upgrade globus-cli
Reinstall the entire CLI in the event something about your python has changed:
pipx reinstall globus-cli
pip install globus-cli
This is supported anywhere that
pip works. For example, in an activated
pip install --useror
sudo pip install. There are known issues with these installation methods.
The Globus CLI provides a shell completer for tab completion, supporting both the
zsh and bash shells. To setup completion, you must run a shell function
provided by the
The following snippets are suitable for inclusion in a
to setup completion whenever a shell starts and the Globus CLI is installed:
if type globus > /dev/null 2>&1; then eval "$(globus --bash-completer)" fi
The completer requires Bash version 4.4 or newer. If you are using an older version of Bash, you may have success writing the completer to a file and editing it, e.g.
globus --bash-completer | sed 's/nosort/nospace/' > ~/.globus_bash_completion.sh
and then sourcing it in your
if type globus > /dev/null 2>&1; then eval "$(globus --zsh-completer)" fi
--completer flag can be used in either bash or zsh. It will detect your
current shell from the
SHELL environment variable. You can use it if you use
multiple shells and want to share config:
if type globus > /dev/null 2>&1; then eval "$(globus --completer)" fi
If you are wary of putting a subshell invocation inside of
redirecting the output to a file, reading the file to see what it does, and
then sourcing it.
Note that we recommend checking for changes whenever upgrading the CLI if you use this approach, as we may modify the output of the completer to fix bugs and issues.
Full reference documentation for all CLI commands is available on our documentation site.
You can also view help for any command by passing the
--help flag to that command.
That will show you any subcommands and options supported by that command.
globus --help to get started.
Other useful pieces of documentation include…
- QuickStart Guide
Once you install, you may want to try running through the QuickStart to see basic login and usage info.
- Environment Variables
Environment variables with special meanings to the Globus CLI.
- Collection vs Endpoint Handling
How the Globus CLI handles the distinction between Collections and Endpoints.
- Reference Documentation
A complete reference to all Globus CLI commands.
- Usage Examples
In addition to the documentation, we have some examples of simple and common tasks as performed using the CLI.