Render CLI Reference

Look up supported commands and options.

Render CLIv2.15.1

This reference is automatically generated from the Render CLI source.

View documentation for any command in the CLI itself by running the following:

Top-level commands

docs

Open the Render docs in your browser

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

environments <projectID>

List environments for a specified project in the active workspace. In interactive mode you can view each environment's individual services.

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

kv-cli [keyValueID|keyValueName]

Open a redis-cli or valkey-cli session to a Key Value instance. Optionally pass the key value id or name as an argument. To pass arguments to redis-cli or valkey-cli, use the following syntax: render kv-cli [keyValueID|keyValueName] -- [redis-cli args]

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

login

Login to Render using the dashboard

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

logs

View logs for services and datastores.

Use flags to filter logs by resource, instance, time, text, level, type, host, status code, method, or path. Unlike in the dashboard, you can view logs for multiple resources at once. Set --tail=true to stream new logs (currently only in interactive mode).

In interactive mode you can update the filters and view logs in real time.

Usage:

Options:

OptionDescription

--direction

The direction to query the logs. Can be 'forward' or 'backward'

--end

The end time of the logs to query

--host

A list of comma separated hosts to query

--instance

A list of comma separated instance IDs to query

--level

A list of comma separated log levels to query

--limit

The maximum number of logs to return

--method

A list of comma separated HTTP methods to query

--path

A list of comma separated paths to query

--resources, -r

A list of comma separated resource IDs to query. Required in non-interactive mode.

--start

The start time of the logs to query

--status-code

A list of comma separated status codes to query

--tail

Stream new logs

--task-id

A list of comma separated task IDs to query

--task-run-id

A list of comma separated task run IDs to query

--text

A list of comma separated strings to search for in the logs

--type

A list of comma separated log types to query

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

pgcli [postgresID|postgresName]

Open a pgcli session to a PostgreSQL database. Optionally pass the database id or name as an argument. To pass arguments to pgcli, use the following syntax: render pgcli [postgresID|postgresName] -- [pgcli args]

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

projects

List projects for the active workspace. In interactive mode you can view the environments for a project.

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

psql [postgresID|postgresName]

Open a psql session to a PostgreSQL database. Optionally pass the database id or name as an argument. To pass arguments to psql, use the following syntax: render psql [postgresID|postgresName] -- [psql args]

For non-interactive usage, use the --command flag: render psql [postgresID|postgresName] -c "SELECT * FROM users;" -o text

Additional psql flags can be passed after --: render psql [postgresID|postgresName] -c "SELECT 1;" -o json -- --csv -q

Usage:

Options:

OptionDescription

--command, -c

SQL command to execute (enables non-interactive mode)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

restart [resourceID]

Restart a service

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

ssh [serviceID|serviceName|instanceID]

SSH into a service instance. You can specify the service ID, service name, or specific instance ID as an argument.

To pass arguments to ssh, use the following syntax: render ssh [serviceID|serviceName|instanceID] -- [ssh args]

Usage:

Options:

OptionDescription

--ephemeral, -e

connect to ephemeral instance

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

whoami

Display information about the current user

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workspaces

List workspaces

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

Blueprints

blueprints validate [file]

Validate a render.yaml Blueprint file for errors before committing.

Validates:

  • YAML syntax
  • Schema validation (required fields, types)
  • Semantic validation (valid plans, regions, etc.)
  • Conflict checking against existing resources

Usage:

Examples:

Options:

OptionDescription

--workspace, -w

Workspace ID to validate against (defaults to current workspace)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

Deploys

deploys cancel <serviceID> <deployID>

Cancel a running deploy

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

deploys create [serviceID]

Trigger a service deploy and tail logs

Usage:

Options:

OptionDescription

--clear-cache

Clear build cache before deploying

--commit

The commit ID to deploy

--image

The Docker image URL to deploy

--wait

Wait for deploy to finish. Returns non-zero exit code if deploy fails

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

deploys list [serviceID]

List deploys for a service

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

Jobs

jobs cancel <serviceID> <jobID>

Cancel a running job

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

jobs create [serviceID]

Create a new job for a service

Usage:

Options:

OptionDescription

--plan-id

The plan ID for the job (optional)

--start-command

The command to run for the job

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

jobs list [serviceID]

List jobs for a service

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

Services

services

Lists all services and datastores for the active workspace. In interactive mode, you can view logs, restart services, trigger deploys, SSH into instances, and connect to PostgreSQL and Key Value datastores.

Usage:

Aliases: service

Available commands:

CommandDescription
createCreate a new service
instancesList instances for a service
updateUpdate a service

Examples:

Options:

OptionDescription

--environment-ids, -e

Filter services by environment IDs

--include-previews

Include preview environments

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

services create

Create a new service on Render.

This command currently runs in non-interactive mode only. Provide all config with flags.

Usage:

Examples:

Options:

OptionDescription

--auto-deploy

Enable auto-deploy

--branch

Git branch

--build-command

Build command

--build-filter-ignored-path

Build filter ignored path (can be specified multiple times)

--build-filter-path

Build filter path (can be specified multiple times)

--cron-command

Cron command

--cron-schedule

Cron schedule

--env-var

Environment variable in KEY=VALUE format (can be specified multiple times)

--environment-id

Environment ID

--from

Clone configuration from existing service (ID or name). Other flags override cloned values.

--health-check-path

Health check path

--image

Docker image URL

--ip-allow-list

IP allow list entry in cidr=...,description=... format (can be specified multiple times)

--maintenance-mode

Enable maintenance mode

--maintenance-mode-uri

Maintenance mode URI

--max-shutdown-delay

Max shutdown delay in seconds

--name

Service name

--num-instances

Number of instances

--plan

Service plan

--pre-deploy-command

Pre-deploy command

--previews

Preview generation mode

--publish-directory

Publish directory

--region

Deployment region

--registry-credential

Registry credential

--repo

Git repository URL

--root-directory

Root directory

--runtime

Runtime environment

--secret-file

Secret file in NAME:LOCAL_PATH format (can be specified multiple times)

--start-command

Start command

--type

Service type

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

services instances [serviceID]

List instances for a service

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

services update [service]

Update a service on Render.

This command currently runs in non-interactive mode only. Provide all updates with flags.

Usage:

Examples:

Options:

OptionDescription

--auto-deploy

Enable auto-deploy

--branch

Git branch

--build-command

Build command

--build-filter-ignored-path

Build filter ignored path (can be specified multiple times)

--build-filter-path

Build filter path (can be specified multiple times)

--cron-command

Cron command

--cron-schedule

Cron schedule

--health-check-path

Health check path

--image

Docker image URL

--ip-allow-list

IP allow list entry in cidr=...,description=... format (can be specified multiple times)

--maintenance-mode

Enable maintenance mode

--maintenance-mode-uri

Maintenance mode URI

--max-shutdown-delay

Max shutdown delay in seconds

--name

Service name

--num-instances

Number of instances

--plan

Service plan

--pre-deploy-command

Pre-deploy command

--previews

Preview generation mode

--publish-directory

Publish directory

--registry-credential

Registry credential

--repo

Git repository URL

--root-directory

Root directory

--runtime

Runtime environment

--start-command

Start command

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

Skills

skills

Install and manage Render agent skills for AI coding tools such as Claude Code, Codex, OpenCode, and Cursor.

Skills add deployment, debugging, and monitoring capabilities to your AI coding assistant.

Usage:

Available commands:

CommandDescription
installInstall Render skills to AI coding tools
listList installed Render skills and detected tools
removeRemove installed Render skills from AI coding tools
updateUpdate previously installed Render skills

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

skills install

Install Render agent skills from https://github.com/render-oss/skills to detected AI coding tools.

Supported tools: Claude Code, Codex, OpenCode, Cursor.

Skills can be installed at two scopes:

  • user: Install to ~/.{tool}/skills/ (default, current user only)
  • project: Install to ./.{tool}/skills/ (committed to git, all collaborators)

By default an interactive prompt lets you pick scope, tools, and skills. Use --scope, --tool, and --skill flags to skip the prompts (useful for CI).

Usage:

Options:

OptionDescription

--dry-run

show what would be installed without making changes

--scope

installation scope: user (default) or project

--skill

install specific skills only (e.g. --skill render-deploy --skill render-debug)

--tool

install to a specific tool only (claude, codex, opencode, cursor)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

skills list

Show which Render skills are currently installed and which AI coding tools they are installed to. This reads from local state only — no network access is required.

Use --scope to filter by installation scope (user or project).

Usage:

Options:

OptionDescription

--scope

filter by scope: user or project

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

skills remove

Remove previously installed Render skills from detected AI coding tools.

By default an interactive prompt lets you pick which skills to remove. Use --skill and --all flags to skip the prompts.

Use --scope to remove from a specific scope (user or project).

Usage:

Options:

OptionDescription

--all

remove all installed Render skills

--scope

remove from specific scope: user or project

--skill

remove specific skills (e.g. --skill render-deploy --skill render-debug)

--tool

remove from a specific tool only (claude, codex, opencode, cursor)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

skills update

Re-install Render skills using the tool and skill selections saved by a previous "render skills install" run.

This fetches the latest version of each selected skill from the skills repository, compares with installed versions, and updates any that have changed.

Use --scope to update skills at a specific scope (user or project).

Usage:

Options:

OptionDescription

--force

reinstall all skills even if already up to date

--scope

update skills at specific scope: user or project

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

Workflows

workflows dev -- <command to start a workflow service>

Start a workflow service in development mode for local testing.

This command runs your workflow service locally on port 8120, allowing you to list and run tasks without deploying to Render. Task runs and their logs are stored in memory, so you can query them after tasks complete.

The command will spawn a new subprocess with your specified command whenever it needs to run a task or list the defined tasks.

To interact with the local task server:

  • Use the --local flag with other task commands (e.g., 'render workflows tasks list --local')

  • Or set RENDER_USE_LOCAL_DEV=true when using the workflow client SDK

To use a different port:

  • Specify --port when starting the dev server

  • Then use --port with other task commands, or set RENDER_LOCAL_DEV_URL in the SDK

Usage:

Examples:

Options:

OptionDescription

--debug

Print detailed workflow task execution events

--port

Port of the local task server (8120 when not specified)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows init

Scaffold a new workflows project with example tasks.

Creates a working example project with task definitions, dependencies, and a README with instructions for local development and Client SDK integration.

In interactive mode you'll be prompted to select a language, template, output directory, and optional features. Use --confirm to skip all prompts and accept defaults, or pass individual flags to skip specific prompts.

Usage:

Examples:

Options:

OptionDescription

--dir

Output directory (default: ./workflows-demo)

--git

Initialize a Git repository

--install-agent-skill

Install the Workflows agent skill for detected AI coding tools

--install-deps

Install dependencies after scaffolding

--language

Language for the workflows project (python, node)

--template

Template to scaffold (defaults to the repo's default template)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows list

List workflows

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows runs

View task run executions.

A task run represents a single execution of a task with specific input parameters. Use these commands to view task run history and inspect details.

To start a new task run, use 'render workflows tasks start'.

Usage:

Available commands:

CommandDescription
listList task runs for a task
showShow detailed information about a task run

Options:

OptionDescription

--local

Run against the server spawned by the task dev command

--port

Port of the local task server (8120 when not specified)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows runs list [taskID]

List all execution runs for a specific task.

A task run represents a single execution of a task with specific input parameters. This command shows the history of all runs for a given task.

You can specify the task by its workflow slug and task name (e.g., my-workflow/my-task)

In interactive mode, you will be prompted to select a task if not provided.

Usage:

Examples:

Options:

OptionDescription

--local

Run against the server spawned by the task dev command

--port

Port of the local task server (8120 when not specified)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows runs show [taskRunID]

Display detailed information about a specific task run execution.

This command shows comprehensive information about a task run, including:

  • Task run ID and status

  • Input parameters provided

  • Output or error result

  • Start and completion timestamps

The task run ID is returned when you execute a task with 'render workflows tasks start'.

In interactive mode, you will be prompted to select a task run if not provided.

Usage:

Examples:

Options:

OptionDescription

--local

Run against the server spawned by the task dev command

--port

Port of the local task server (8120 when not specified)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows tasks

Manage tasks

Usage:

Available commands:

CommandDescription
listList tasks in a workflow version
startStart a task run with the provided input

Options:

OptionDescription

--local

Run against the server spawned by the task dev command

--port

Port of the local task server (8120 when not specified)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows tasks list [workflowVersionID]

List all tasks defined in a workflow version.

Tasks are user-defined functions registered with the Render workflow SDK. Each time you release a workflow service, Render creates a new workflow version and registers all tasks it finds in that version.

In interactive mode, you will be prompted to select a workflow if not provided.

Local Development: When using the --local flag, you don't need to provide a workflow version ID. Instead, the command connects to your local dev server (default port 8120) to list tasks from your running workflow service. Start the dev server with 'render workflows dev' first.

Usage:

Examples:

Options:

OptionDescription

--local

Run against the server spawned by the task dev command

--port

Port of the local task server (8120 when not specified)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows tasks start [task-slug] --input=<json>

Start a task with the provided input.

You can specify the task by its workflow slug and task name (e.g., my-workflow/my-task)

Input Format: The input should be a JSON array where each element is an argument to the task. For example, if your task takes two arguments, provide: ["arg1", "arg2"]

You can provide input via:

  • --input with inline JSON

  • --input-file with a path to a JSON file

In interactive mode, you will be prompted to select the task and provide the input.

Usage:

Examples:

Options:

OptionDescription

--input

JSON array input to pass to the task (e.g., '["arg1", "arg2"]')

--input-file

File containing JSON input to pass to the task

--local

Run against the server spawned by the task dev command

--port

Port of the local task server (8120 when not specified)

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows versions

Manage workflow versions

Usage:

Available commands:

CommandDescription
listList versions of a workflow
releaseRelease a new workflow version

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows versions list [workflowID]

List all versions of a workflow service.

Each time you release a workflow service, Render creates a new workflow version. A version represents a specific snapshot of your workflow service code and its registered tasks at the time of release.

This command displays all versions for a workflow, showing:

  • Version ID

  • Creation timestamp

  • Associated tasks

In interactive mode, you will be prompted to select a workflow if not provided.

Usage:

Examples:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workflows versions release [workflowID]

Release a new version of a workflow service.

This command triggers a new release of your workflow service on Render. When you release, Render:

  1. Pulls the latest code from your repository (or a specific commit)

  2. Builds your workflow service

  3. Registers all tasks it finds in the service

  4. Creates a new workflow version

You can optionally specify a commit ID to release a specific version of your code.

Flags: --commit Specify a commit ID to release (optional) --wait Wait for the release to complete before returning (optional) Returns a non-zero exit code if the release fails

In interactive mode, you will be prompted to:

  • Select a workflow if not provided

  • Confirm the release

Usage:

Examples:

Options:

OptionDescription

--commit

The commit ID to release

--wait

Wait for release to finish. Returns non-zero exit code if release fails

Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

Workspace

workspace current

Show the currently selected workspace

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)

workspace set [workspaceName|workspaceID]

Set the CLI's active workspace. All CLI commands run against the active workspace.

The active workspace is saved in a config file specified by the RENDER_CLI_CONFIG_PATH environment variable. If unspecified, the config file is saved in $HOME/.render/cli.yaml.

Usage:

Options:

OptionDescription
Global options

--confirm

Skip all confirmation prompts

--output, -o

Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set)