The EdgeDB CLI

The edgedb command-line interface (CLI) provides an idiomatic way to install EdgeDB, spin up local instances, open a REPL, execute queries, manage auth roles, introspect schema, create migrations, and more.

You can install it with one shell command.


On Linux or MacOS, run the following in your terminal and follow the on-screen instructions:

curl --proto '=https' --tlsv1.2 -sSf | sh

For Windows, the installation script is:

iwr -useb | iex
  • The script, inspired by rustup, will detect the OS and download the appropriate build of the EdgeDB CLI tool, edgedb.

  • The edgedb command is a single executable (it’s open source!)

  • Once installed, the edgedb command can be used to install, uninstall, upgrade, and interact with EdgeDB server instances.

  • You can uninstall EdgeDB server or remove the edgedb command at any time.

Connection options

All commands respect a common set of connection options, which let you specify a target instance. This instance can be local to your machine or hosted remotely.

Nightly version

To install the nightly version of the CLI (not to be confused with the nightly version of EdgeDB itself!) use this command:

curl --proto '=https' --tlsv1.2 -sSf | \
sh -s -- --nightly


Command-line tools contain just one binary, so to remove it on Linux or macOS run:

rm "$(which edgedb)"

To remove all configuration files, run edgedb info to list the directories where EdgeDB stores data, then use rf -rf <dir> to delete those directories.

If the command-line tool was installed by the user (recommended) then it will also remove the binary.

If you’ve used edgedb commands you can also delete instances and server packages, prior to removing the tool:

edgedb instance destroy <instance_name>

To list instances and server versions use the following commands respectively:

edgedb instance status
edgedb server list-versions --installed-only

Configure CLI and REPL

You can customize the behavior of the edgedb CLI and REPL with a global configuration file. The file is called cli.toml and its location differs between operating systems. Use edgedb info to find the “Config” directory on your system.

The cli.toml has the following structure. All fields are optional:

expand-strings = true         # Stop escaping newlines in quoted strings
history-size = 10000          # Set number of entries retained in history
implicit-properties = false   # Print implicit properties of objects
limit = 100                   # Set implicit LIMIT
                              # Defaults to 100, specify 0 to disable
input-mode = "emacs"          # Set input mode. One of: vi, emacs
output-format = "default"     # Set output format.
                              # One of: default, json, json-pretty,
                              # json-lines
print-stats = "off"           # Print statistics on each query.
                              # One of: off, query, detailed
verbose-errors = false        # Print all errors with maximum verbosity

Notes on network usage