Render CLI Reference
Look up supported commands and options.
This reference is automatically generated from the Render CLI source.
View documentation for any command in the CLI itself by running the following:
Global options
| Option | Description |
|---|---|
|
|
Skip all confirmation prompts |
|
|
Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set) |
Top-level commands
docs
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:
Global options only
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:
Global options only
login
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
The direction to query the logs. Can be 'forward' or 'backward' |
|
|
The end time of the logs to query |
|
|
A list of comma separated hosts to query |
|
|
A list of comma separated instance IDs to query |
|
|
A list of comma separated log levels to query |
|
|
The maximum number of logs to return |
|
|
A list of comma separated HTTP methods to query |
|
|
A list of comma separated paths to query |
|
|
A list of comma separated resource IDs to query. Required in non-interactive mode. |
|
|
The start time of the logs to query |
|
|
A list of comma separated status codes to query |
|
|
Stream new logs |
|
|
A list of comma separated task IDs to query |
|
|
A list of comma separated task run IDs to query |
|
|
A list of comma separated strings to search for in the logs |
|
|
A list of comma separated log types to query |
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:
Global options only
projects
List projects for the active workspace. In interactive mode you can view the environments for a project.
Usage:
Options:
Global options only
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
SQL command to execute (enables non-interactive mode) |
restart [resourceID]
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
connect to ephemeral instance |
whoami
workspaces
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
Workspace ID to validate against (defaults to current workspace) |
Deploys
deploys cancel <serviceID> <deployID>
deploys create [serviceID]
Trigger a service deploy and tail logs
Usage:
Options:
Global options, plus:
| Option | Description |
|---|---|
|
|
Clear build cache before deploying |
|
|
The commit ID to deploy |
|
|
The Docker image URL to deploy |
|
|
Wait for deploy to finish. Returns non-zero exit code if deploy fails |
deploys list [serviceID]
Jobs
jobs cancel <serviceID> <jobID>
jobs create [serviceID]
Create a new job for a service
Usage:
Options:
Global options, plus:
| Option | Description |
|---|---|
|
|
The plan ID for the job (optional) |
|
|
The command to run for the job |
jobs list [serviceID]
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:
| Command | Description |
|---|---|
| [`create`](#services-create) | Create a new service |
| [`instances`](#services-instances) | List instances for a service |
| [`update`](#services-update) | Update a service |
Examples:
Options:
Global options, plus:
| Option | Description |
|---|---|
|
|
Filter services by environment IDs |
|
|
Include preview environments |
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
Enable auto-deploy |
|
|
Git branch |
|
|
Build command |
|
|
Build filter ignored path (can be specified multiple times) |
|
|
Build filter path (can be specified multiple times) |
|
|
Cron command |
|
|
Cron schedule |
|
|
Environment variable in |
|
|
Environment ID |
|
|
Clone configuration from existing service (ID or name). Other flags override cloned values. |
|
|
Health check path |
|
|
Docker image URL |
|
|
IP allow list entry in |
|
|
Enable maintenance mode |
|
|
Maintenance mode URI |
|
|
Max shutdown delay in seconds |
|
|
Service name |
|
|
Number of instances |
|
|
Service plan |
|
|
Pre-deploy command |
|
|
Preview generation mode |
|
|
Publish directory |
|
|
Deployment region |
|
|
Registry credential |
|
|
Git repository URL |
|
|
Root directory |
|
|
Runtime environment |
|
|
Secret file in NAME: |
|
|
Start command |
|
|
Service type |
services instances [serviceID]
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
Enable auto-deploy |
|
|
Git branch |
|
|
Build command |
|
|
Build filter ignored path (can be specified multiple times) |
|
|
Build filter path (can be specified multiple times) |
|
|
Cron command |
|
|
Cron schedule |
|
|
Health check path |
|
|
Docker image URL |
|
|
IP allow list entry in |
|
|
Enable maintenance mode |
|
|
Maintenance mode URI |
|
|
Max shutdown delay in seconds |
|
|
Service name |
|
|
Number of instances |
|
|
Service plan |
|
|
Pre-deploy command |
|
|
Preview generation mode |
|
|
Publish directory |
|
|
Registry credential |
|
|
Git repository URL |
|
|
Root directory |
|
|
Runtime environment |
|
|
Start command |
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:
| Command | Description |
|---|---|
| [`install`](#skills-install) | Install Render skills to AI coding tools |
| [`list`](#skills-list) | List installed Render skills and detected tools |
| [`remove`](#skills-remove) | Remove installed Render skills from AI coding tools |
| [`update`](#skills-update) | Update previously installed Render skills |
Options:
Global options only
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
show what would be installed without making changes |
|
|
installation scope: user (default) or project |
|
|
install specific skills only (e.g. |
|
|
install to a specific tool only (claude, codex, opencode, cursor) |
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
filter by scope: user or project |
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
remove all installed Render skills |
|
|
remove from specific scope: user or project |
|
|
remove specific skills (e.g. |
|
|
remove from a specific tool only (claude, codex, opencode, cursor) |
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
reinstall all skills even if already up to date |
|
|
update skills at specific scope: user or project |
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
--localflag with other task commands (e.g., 'render workflows tasks list--local') -
Or set
RENDER_USE_LOCAL_DEV=truewhen using the workflow client SDK
To use a different port:
-
Specify
--portwhen starting the dev server -
Then use
--portwith other task commands, or setRENDER_LOCAL_DEV_URLin the SDK
Usage:
Examples:
Options:
Global options, plus:
| Option | Description |
|---|---|
|
|
Print detailed workflow task execution events |
|
|
Port of the local task server (8120 when not specified) |
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
Output directory (default: ./workflows-demo) |
|
|
Initialize a Git repository |
|
|
Install the Workflows agent skill for detected AI coding tools |
|
|
Install dependencies after scaffolding |
|
|
Language for the workflows project (python, node) |
|
|
Template to scaffold (defaults to the repo's default template) |
workflows list
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:
| Command | Description |
|---|---|
| [`list`](#workflows-runs-list) | List task runs for a task |
| [`show`](#workflows-runs-show) | Show detailed information about a task run |
Options:
Global options, plus:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
workflows tasks
Manage tasks
Usage:
Available commands:
| Command | Description |
|---|---|
| [`list`](#workflows-tasks-list) | List tasks in a workflow version |
| [`start`](#workflows-tasks-start) | Start a task run with the provided input |
Options:
Global options, plus:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
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:
-
--inputwith inline JSON -
--input-filewith a path to a JSON file
In interactive mode, you will be prompted to select the task and provide the input.
Usage:
Examples:
Options:
Global options, plus:
| Option | Description |
|---|---|
|
|
JSON array input to pass to the task (e.g., '["arg1", "arg2"]') |
|
|
File containing JSON input to pass to the task |
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
workflows versions
Manage workflow versions
Usage:
Available commands:
| Command | Description |
|---|---|
| [`list`](#workflows-versions-list) | List versions of a workflow |
| [`release`](#workflows-versions-release) | Release a new workflow version |
Options:
Global options only
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:
Global options only
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:
-
Pulls the latest code from your repository (or a specific commit)
-
Builds your workflow service
-
Registers all tasks it finds in the service
-
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:
Global options, plus:
| Option | Description |
|---|---|
|
|
The commit ID to release |
|
|
Wait for release to finish. Returns non-zero exit code if release fails |
Workspace
workspace current
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:
Global options only