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:
Top-level commands
docs
Open the Render docs in your browser
Usage:
Options:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| 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 |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
SQL command to execute (enables non-interactive mode) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set) |
restart [resourceID]
Restart a service
Usage:
Options:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
connect to ephemeral instance |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set) |
workspaces
List workspaces
Usage:
Options:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
Workspace ID to validate against (defaults to current workspace) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| 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 |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
The plan ID for the job (optional) |
|
|
The command to run for the job |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Command | Description |
|---|---|
create | Create a new service |
instances | List instances for a service |
update | Update a service |
Examples:
Options:
| Option | Description |
|---|---|
|
|
Filter services by environment IDs |
|
|
Include preview environments |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| 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 |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| 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 |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Command | Description |
|---|---|
install | Install Render skills to AI coding tools |
list | List installed Render skills and detected tools |
remove | Remove installed Render skills from AI coding tools |
update | Update previously installed Render skills |
Options:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| 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) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
filter by scope: user or project |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| 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) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
reinstall all skills even if already up to date |
|
|
update skills at specific scope: user or project |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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
--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:
| Option | Description |
|---|---|
|
|
Print detailed workflow task execution events |
|
|
Port of the local task server (8120 when not specified) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| 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) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set) |
workflows list
List workflows
Usage:
Options:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
Options:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set) |
workflows tasks
Manage tasks
Usage:
Available commands:
Options:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
|
|
Run against the server spawned by the task dev command |
|
|
Port of the local task server (8120 when not specified) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
-
--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:
| 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) |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set) |
workflows versions
Manage workflow versions
Usage:
Available commands:
Options:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
-
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:
| Option | Description |
|---|---|
|
|
The commit ID to release |
|
|
Wait for release to finish. Returns non-zero exit code if release fails |
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
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:
| Option | Description |
|---|---|
| Global options | |
|
|
Skip all confirmation prompts |
|
|
Output format: interactive, json, yaml, or text (auto: text in non-TTY contexts unless explicitly set) |