EdgeDB interactive shell:

edgedb [connection-option...]

It’s also possible to run an EdgeQL script by piping it into the EdgeDB shell. The shell will then run in non-interactive mode and print all the responses into the standard output:

cat myscript.edgeql | edgedb [connection-option...]

edgedb is a terminal-based front-end to EdgeDB. It allows running queries and seeing results interactively.

-h, --help

Show help about the command and exit.

-j, --json

Turn on JSON output for the queries (single JSON list per query).

-t, --tab-separated

Turn on tab-separated output mode for the queries. This only works with shallow (without nested shapes) object shapes.

-V, --version

Print version.


Disable version check.

-c query

Execute a query instead of starting REPL (alias to edgedb query)

-I name, --instance=name

Specifies the named instance to connect to. The actual connection parameters are stored in <edgedb_config_dir>/credentials and are usually created by edgedb instance create or similar commands. Run edgedb info to see the path of <edgedb_config_dir> on your machine.

This option overrides host and port.

-d dbname, --database=dbname

Specifies the name of the database to connect to. Default to the value of the EDGEDB_DATABASE environment variable, or, if not set, to the calculated value of username.


Specifies the DSN for EdgeDB to connect to.

This option overrides all other options except password.

-H hostname, --host=hostname

Specifies the host name of the machine on which the server is running. If hostname begins with a slash (/), it is used as the directory where the command looks for the server Unix-domain socket. Defaults to the value of the EDGEDB_HOST environment variable.

-P port, --port=port

Specifies the TCP port or the local Unix-domain socket file extension on which the server is listening for connections. Defaults to the value of the EDGEDB_PORT environment variable or, if not set, to 5656.

--password | --no-password

If --password is specified, force edgedb to prompt for a password before connecting to the database. This is usually not necessary, since edgedb will prompt for a password automatically if the server requires it.

Specifying --no-password disables all password prompts.


Use the first line of standard input as the password.

-u username, --user=username

Connect to the database as the user username. Defaults to the value of the EDGEDB_USER environment variable, or, if not set, to the login name of the current OS user.


Specifies a timeout period. In case EdgeDB doesn’t respond for this period the command will fail (or retry if --wait-until-available is also specified). The timeout value must be given using time units (e.g. hr, min, sec, ms, etc.). The default value is 10s.


In case EdgeDB connection can’t be established, keep retrying up to wait_time (e.g. 30s).