edgedb — Interactive Shell

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.


Show all available connection options

-V, --version

Print version.


Disable version check.

-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 location of <edgedb_config_dir> on your machine.

This option overrides host and port.


Specifies the DSN for EdgeDB to connect to.

This option overrides all other options except password.

--credentials-file /path/to/file

Path to JSON file containing credentials.

-H hostname, --host=hostname

Specifies the host name of the machine on which the server is running. Defaults to the value of the EDGEDB_HOST environment variable.

-P port, --port=port

Specifies the TCP port on which the server is listening for connections. Defaults to the value of the EDGEDB_PORT environment variable or, if not set, to 5656.

-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.

-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.

--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.

--tls-ca-file /path/to/cert

Certificate to match server against.

This might either be full self-signed server certificate or certificate authority (CA) certificate that server certificate is signed with.

--tls-security mode

Set the TLS security mode.


Resolves to strict if no custom certificate is supplied via --tls-ca-file, environment variable, etc. Otherwise, resolves to no_host_verification.


Verify TLS certificate and hostname.


This allows using any certificate for any hostname. However, certificate must be present and match the root certificate specified with --tls-ca-file, credentials file, or system root certificates.


Disable all TLS security measures.


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


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.