The page describes how to install and use the Upsolver command line interface (CLI).
Upsolver CLI is a command line client that provides a terminal-based interactive shell for running queries. It connects to Upsolver to execute SQL statements and perform all DDL and DML operations, including loading data as a continuous stream to various data destinations.
Upsolver CLI provides a command line interface to interact with the Upsolver API service over HTTP.

Install Upsolver CLI

Install using Brew (MacOS only)

brew tap upsolver/cli
brew install upsolver-cli

Install using pip

python 3.8+ is required for installing Upsolver CLI.
Make sure you have Python 3.8+ installed, and then use pip or brew to install the CLI tool:
pip3 install -U upsolver-cli
You can grab the latest archive link from

Use Upsolver CLI


For a complete description of every command and its flags, you can run it without any arguments or with a --help flag.


> upsolver
# Help will be displayed
> upsolver --help
# Help will be displayed
> upsolver execute
# Help will be displayed
> upsolver execute --help
# Help will be displayed


To execute a SQL statement, you should provide an API token. You can choose whether to provide a file or a command to run.


Run an inline command:
> upsolver execute \
-t mytoken
-c 'CREATE TABLE default_glue_catalog.upsolver_samples.orders_raw_data()'
# Result will be displayed
Run command from a file:
> upsolver execute -t mytoken -f create_table_command.usql
# Result will be displayed
If you want to avoid passing the token (and perhaps other optional flags) on every command, you can create a profile with the configure command.


You can use the configure command to save a configuration file, so you won't have to provide a token and other optional flags to the execute command every time.
upsolver configure -t <token>
The configuration profile will be located under ~/.upsolver/config.


Create a default profile with an API token and CSV as output format:
> upsolver configure -t mytoken -o csv
> cat ~/.upsolver/config
token = mytoken
output = CSV
Create another profile with an API URL and a different token:
> upsolver -p anotherpofile configure -t anothertoken -u
> cat ~/.upsolver/config
token = mytoken
output = CSV
token = anothertoken
base_url =

Using Profiles

You can perform execute command using different profiles by passing the -p or --profile flag to the upsolver command.


upsolver -p anotherpofile execute -c 'CREATE TABLE default_glue_catalog.upsolver_samples.orders_raw_data()'
Without the -p flag the default profile will be used:
> upsolver execute -c 'CREATE TABLE default_glue_catalog.upsolver_samples.orders_raw_data()'
Last modified 2mo ago