The Render CLI

Manage your Render resources from the command line.

Render CLIv2.26.0

Use the Render CLI to manage your Render services and datastores directly from your terminal:

Among many other capabilities, the CLI supports:

  • Creating, updating, and cloning services
  • Triggering service deploys, restarts, and one-off jobs
  • Opening a psql session to your database
  • Viewing and filtering live service logs
  • Validating render.yaml files for Render Blueprints
  • Installing Render agent skills for AI coding tools

The CLI also supports non-interactive use in scripts and CI/CD.

Please submit bugs and feature requests on the CLI's public GitHub repository.

Setup

1. Install or Upgrade

Use any of the following methods to install the Render CLI or upgrade to the latest version:

Homebrew installation

Run the following commands:

WinGet installation

Run the following command:

Installing with curl

Run the following command:

Direct download
  1. Open the CLI's GitHub releases page.
  2. Download the executable that corresponds to your system's architecture.

If you use an architecture besides those provided, you can build from source instead.

Building from source

We recommend building from source only if no other installation method works for your system.

  1. Install the Go programming language if you haven't already.

  2. Clone and build the CLI project with the following commands:

After installation completes, open a new terminal tab and run render with no arguments to confirm.

2. Log in

The Render CLI uses a CLI token to authenticate with the Render platform. Generate a token with the following steps:

  1. Run the following command:

    Your browser opens a confirmation page in the Render Dashboard.

  2. Click Authorize CLI.

    The CLI saves the generated token to its local configuration file.

  3. When you see the success message in your browser, close the tab and return to your terminal.

  4. The CLI prompts you to set your active workspace.

    You can switch workspaces at any time with render workspace set.

You're ready to go!

Common commands

This is not an exhaustive list of commands.

  • See the full generated command reference.
  • You can also:
    • Run render with no arguments for a list of all available commands.
    • Run render help <command> for details about the specified command.
CommandDescription

login

Opens your browser to authorize the Render CLI for your account. Authorizing generates a CLI token that's saved locally.

If the CLI already has a valid CLI token or API key, this command instead exits with a zero status.

workspaces

Lists the Render workspaces your account belongs to.

In non-interactive mode, set the output format with -o json, -o yaml, or -o text.

workspace set

Sets the CLI's active workspace. CLI commands always operate on the active workspace.

services

Lists all services and datastores in the active workspace. Select a service to perform actions like deploying, viewing logs, or opening an SSH/psql session.

services create

Creates a new service in the active workspace. This command only runs in non-interactive mode.

Provide a source for a new service (--repo or --image), or clone an existing service configuration with --from. For all available options, see the services create reference.

deploys list
[SERVICE_ID]

Lists deploys for the specified service. Select a deploy to view its logs or open its details in the Render Dashboard.

If you don't provide a service ID in interactive mode, the CLI prompts you to select a service.

deploys create
[SERVICE_ID]

Triggers a deploy for the specified service.

If you don't provide a service ID in interactive mode, the CLI prompts you to select a service.

In non-interactive mode, helpful options include:

  • --wait to block until the deploy completes (a failed deploy exits with a non-zero status)
  • --commit [SHA] to deploy a specific commit (Git-backed services only)
  • --image [URL] to deploy a specific Docker image tag or digest (image-backed services only)

psql
[DATABASE_ID]

Opens a psql session to the specified Render Postgres database.

If you don't provide a database ID in interactive mode, the CLI prompts you to select a database.

In non-interactive mode, helpful options include:

  • -c / --command to run the specified query and exit.
    • Set the output format with -o json, -o yaml, or -o text.
  • -- [args] to pass additional flags through to psql. Examples:
    • -- --csv
    • -- -t -A

ssh
[SERVICE_ID]

Opens an SSH session to a running instance of the specified service.

If you don't provide a service ID in interactive mode, the CLI prompts you to select a service.

Use --ephemeral / -e to create and connect to an ephemeral, isolated shell instance instead of an existing running instance. Render does not run your service's start command for an ephemeral instance.

blueprints validate
[BLUEPRINT_FILE]

Validates the structure of the specified render.yaml file for use with Render Blueprints. Exits with a non-zero status if the file fails validation.

If you don't provide a file path, the CLI defaults to ./render.yaml.

skills
[install | update |
remove | list]

Manages Render agent skills for AI coding tools such as Claude Code, Codex, OpenCode, and Cursor. Run skills with no subcommand to open an interactive menu.

See Using Render with Coding Agents for details on available skills and installation options.

Non-interactive mode

By default, the Render CLI uses interactive, menu-based navigation. This default is great for manual use, but not for scripting or automation.

Configure the CLI for non-interactive use in CI/CD and other automated environments with the following steps:

1. Authenticate via API key

The Render CLI can authenticate using an API key instead of render login. Unlike CLI tokens, API keys do not periodically expire. For security, use this authentication method only for automated environments.

  1. Generate an API key with these steps.

  2. In your automation's environment, set the RENDER_API_KEY environment variable to your API key:

If you provide an API key this way, it always takes precedence over CLI tokens you generate with render login.

2. Set non-interactive command options

Set the following options for all commands you run in non-interactive mode:

FlagDescription
-o / --output

Sets the output format. Supported values are json, yaml, text, and interactive (default for TTY environments).

In non-TTY environments (including piped output), the CLI defaults to text output. The order of precedence for specifying output format is:

  1. The value of a command's --output / -o flag
  2. The value of the RENDER_OUTPUT environment variable
  3. Auto-detection based on TTY/CI signals
--confirm

Skips any confirmation prompts that the command would otherwise display.

For example, to list the active workspace's services in JSON format:

You can also set the output format globally with the RENDER_OUTPUT environment variable:

Example: GitHub Actions

This example action provides similar functionality to Render's automatic Git deploys. You could disable auto-deploys and customize this action to trigger deploys with different conditions.

To use this action, first set the following secrets in your repository:

SecretDescription
RENDER_API_KEYA valid Render API key
RENDER_SERVICE_IDThe ID of the service you want to deploy

Local directory

The Render CLI creates a local directory for storing files:

This directory contains:

  • cli.yaml, the CLI configuration file.
  • state/, a directory that stores data for usage telemetry.
  • skills.yaml, a record of your installed skills.

You can change the directory where the Render CLI stores state/ and cli.yaml by setting the RENDER_CLI_CONFIG_DIR environment variable:

This setting does not affect skills.yaml, which stays in $HOME/.render/.

Usage telemetry

The Render CLI enables usage telemetry by default in version 2.26.0 and later.

The Render CLI collects usage telemetry to help us understand common use cases and improve user experience.

What Render collects

Telemetry includes the following:

  • Commands run (e.g., render services list)
  • Command performance and completion status
  • CLI version
  • System information
  • Execution context

The Render CLI does not collect sensitive user data, such as command arguments, environment variable values, passwords, or the contents of your files.

To see exactly what usage data the Render CLI generates, set the RENDER_LOG_ANALYTICS environment variable to 1:

With RENDER_LOG_ANALYTICS enabled, the CLI prints each telemetry event after a command completes:

Each telemetry event includes the following fields:

Show telemetry fields
FieldDescription
agent_signals

Allow-listed environment variable names that indicate the CLI ran inside an AI coding agent (e.g., CLAUDECODE).

arch

The CPU architecture the CLI ran on.

ci_signals

Allow-listed environment variable names that indicate the CLI ran in a CI environment (e.g., CI).

cli_version

The Render CLI version that generated this event.

command

The CLI command that was invoked (e.g., render services list). Does not include arguments or flag values.

completion_kind

How the command ended (e.g., success or execution_error).

duration_ms

How long the command took to run, in milliseconds.

exit_code

The command's exit code.

installation_id

A random UUID that the CLI generates and stores to identify this installation.

is_stderr_tty

Whether stderr was attached to an interactive terminal session.

is_stdin_tty

Whether stdin was attached to an interactive terminal session.

is_stdout_tty

Whether stdout was attached to an interactive terminal session.

is_term_dumb

Whether the TERM environment variable was set to dumb.

launched_full_screen_tui

Whether the CLI attempted to open a full-screen interface in interactive mode.

os

The operating system the CLI ran on.

output_format

The output format of this command.

started_at

An RFC 3339 UTC timestamp of when the command started, based on the client's clock.

For the most up-to-date list of data collected, see the telemetry event model.

Disabling telemetry

You can disable telemetry at any time by setting RENDER_CLI_DISABLE_ANALYTICS to 1:

The Render CLI honors the DO_NOT_TRACK standard, so you can also disable telemetry by setting DO_NOT_TRACK to 1:

Managing CLI tokens

For security, CLI tokens periodically expire. If you don't use the Render CLI for a while, you might need to re-authenticate with render login.

View a list of your active CLI tokens from your Account Settings page in the Render Dashboard. You can manually revoke a CLI token that you no longer need or that might be compromised. Expired and revoked tokens do not appear in the list.

Release history

View on GitHub