
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
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, set-expiration, 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, and table. The default is table. Table output may be limited. The json and yaml output formats show all data.
neonctl me --output json
Specifies the path to the neonctl configuration directory. To view the default configuration directory containing you credentials.json file, run neonctl --help. The credentials file is created when you authenticate using the neonctl auth command. This option is only necessary if you move your neonctl 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 for neonctl, a neonctl command, or a neonctl 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:
bun install
bun run build
To develop continuously:
bun run watch
To run commands from the local build, replace the neonctl command with node dist; for example:
node dist branches --help
FAQs
CLI tool for NeonDB Cloud management
The npm package neonctl receives a total of 37,908 weekly downloads. As such, neonctl popularity was classified as popular.
We found that neonctl demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.