The Neon CLI supports numerous operations, such as authentication and management of Neon projects, branches, compute endpoints, databases, roles, and more.
The Neon CLI command name is neonctl
. The GitHub repository for the Neon CLI is found here.
This section describes how to install the Neon CLI.
Before installing, ensure that you have met the following prerequisites:
-
Node.js 16.0 or higher. To check if you already have Node.js, run the following command:
node -v
-
The
npm
package manager. To check if you already havenpm
, run the following command:npm -v
If you need to install
Node.js
ornpm
, refer to instructions on the official nodejs page or use the Node version manager.
To install the Neon CLI, run the following command:
npm i -g neonctl
To upgrade to the latest version of the Neon CLI, run the npm i -g neonctl
command again.
Run the following command to authenticate a connection to Neon:
neonctl auth
The auth
command launches a browser window where you can authorize the Neon CLI to access your Neon account. Running a Neon CLI command without authenticating with neonctl auth automatically launches the browser authentication process.
Alternatively, you can authenticate a connection with a Neon API key using the --api-key
option when running a Neon CLI command. For example, an API key is used with the following neonctl projects list
command:
neonctl projects list --api-key <neon_api_key>
For information about obtaining an Neon API key, see Authentication, in the Neon API Reference.
The Neon CLI supports autocompletion, which you can configure in a few easy steps. See Neon CLI commands — completion for instructions.
Command | Subcommands | Description |
---|---|---|
auth | Authenticate | |
projects | list , create , update , delete , get |
Manage projects |
me | Show current user | |
branches | list , create , rename , add-compute , set-primary , delete , get |
Manage branches |
databases | list , create , delete |
Manage databases |
roles | list , create , delete |
Manage roles |
operations | list |
Manage operations |
connection-string | Get connection string | |
completion | Generate a completion script |
Global options are supported with any Neon CLI command.
Option | Description | Type | Default |
---|---|---|---|
-o, --output | Set the Neon CLI output format (json , yaml , or table ) |
string | table |
--config-dir | Path to the Neon CLI configuration directory | string | /home/<user>/.config/neonctl |
--api-key | Neon API key | string | "" |
--analytics | Manage analytics | boolean | true |
-v, --version | Show the Neon CLI version number | boolean | - |
-h, --help | Show the Neon CLI help | boolean | - |
-
Sets the output format. Supported options are
json
,yaml
, andtable
. The default istable
. Table output may be limited. Thejson
andyaml
output formats show all data.neonctl me --output json
-
Specifies the path to the
neonctl
configuration directory. To view the default configuration directory containing youcredentials.json
file, runneonctl --help
. The credentials file is created when you authenticate using theneonctl auth
command. This option is only necessary if you move yourneonctl
configuration file to a location other than the default.neonctl projects list --config-dir /home/dtprice/.config/neonctl
-
Specifies your Neon API key. You can authenticate using a Neon API key when running a Neon CLI command instead of using
neonctl auth
. For information about obtaining an Neon API key, see Authentication, in the Neon API Reference.neonctl <command> --api-key <neon_api_key>
-
Analytics are enabled by default to gather information about the CLI commands and options that are used by our customers. This data collection assists in offering support, and allows for a better understanding of typical usage patterns so that we can improve user experience. Neon does not collect user-defined data, such as project IDs or command payloads. To opt-out of analytics data collection, specify
--no-analytics
or--analytics false
. -
Shows the Neon CLI version number.
$ neonctl --version 1.15.0
-
Shows the
neonctl
command-line help. You can view help forneonctl
, aneonctl
command, or aneonctl
subcommand, as shown in the following examples:neonctl --help neonctl branches --help neonctl branches create --help