The Neon CLI is a command-line interface that lets you manage Neon Serverless Postgres directly from the terminal. For the complete documentation, see Neon CLI.
npm
npm i -g neonctl
Requires Node.js 18.0 or higher.
Howebrew
brew install neonctl
Binary (macOS, Linux, Windows)
Download a binary file here.
npm
npm update -g neonctl
Requires Node.js 18.0 or higher.
Howebrew
brew upgrade neonctl
Binary (macOS, Linux, Windows)
To upgrade a binary version, download the latest binary file, as described above, and replace your old binary with the new one.
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 |
ip-allow | list , add , remove , reset |
Manage IP Allow |
me | Show current user | |
branches | list , create , rename , add-compute , set-default , 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 | |
set-context | Set context for session | |
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
To run the CLI locally, execute the build command after making changes:
npm run build
To develop continuously:
npm run watch
To run commands from the local build, replace the neonctl
command with node dist
; for example:
node dist branches --help