← RenderCONTENT HISTORY

Update to Render

Snapshot Sep 30, 2026 · 22:43 UTC · version 1.0.1

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "name": "render-cli",
  "description": "Installs and uses the Render CLI for deploys, logs, SSH, psql, Blueprint validation, and automation. Use when the user needs to run Render CLI commands, script deploys in CI/CD, authenticate with an API key, query services non-interactively, or troubleshoot CLI auth issues. Trigger terms: render CLI, render login, render deploys, render logs, render ssh, render psql, render blueprints validate, render skills, RENDER_API_KEY, non-interactive, CI/CD deploy.",
  "included_files": [
    {
      "relative_path": "references/command-cheatsheet.md",
      "size_in_bytes": 2965
    }
  ],
  "skill_md_contents": "---\nname: render-cli\ndescription: >-\n  Installs and uses the Render CLI for deploys, logs, SSH, psql, Blueprint\n  validation, and automation. Use when the user needs to run Render CLI\n  commands, script deploys in CI/CD, authenticate with an API key, query\n  services non-interactively, or troubleshoot CLI auth issues.\n  Trigger terms: render CLI, render login, render deploys, render logs,\n  render ssh, render psql, render blueprints validate, render skills,\n  RENDER_API_KEY, non-interactive, CI/CD deploy.\nlicense: MIT\ncompatibility: Render CLI v2.7.0+ (Homebrew, Linux/macOS, direct download)\nmetadata:\n  author: Render\n  version: \"1.0.0\"\n  category: operations\n---\n\n# Render CLI\n\nThe Render CLI manages services, databases, and deployments from the terminal. Supports interactive use, non-interactive scripting, and CI/CD automation.\n\n## When to Use\n\n- **Deploying** a service from the terminal or CI/CD\n- **Tailing logs** in real time\n- **Opening psql** to a Render Postgres database\n- **SSHing** into a running service or launching an ephemeral shell\n- **Validating** a `render.yaml` Blueprint\n- **Scripting** Render operations in CI/CD pipelines\n- **Installing** agent skills for AI coding tools\n\n## Installation\n\n| Method | Command |\n|--------|---------|\n| **Homebrew** | `brew update && brew install render` |\n| **Linux/macOS** | `curl -fsSL https://raw.githubusercontent.com/render-oss/cli/refs/heads/main/bin/install.sh \\| sh` |\n| **Direct download** | [GitHub releases](https://github.com/render-oss/cli/releases/) |\n| **Build from source** | `git clone git@github.com:render-oss/cli.git && cd cli && go build -o render` |\n\nAfter install, run `render` with no arguments to confirm.\n\n## Authentication\n\n### Interactive (local dev)\n\n```bash\nrender login\n```\n\nOpens the browser to generate a CLI token. Token is saved to `~/.render/cli.yaml`. Tokens expire periodically—re-run `render login` when prompted.\n\n### Non-interactive (CI/CD)\n\n```bash\nexport RENDER_API_KEY=rnd_...\n```\n\nAPI keys do not expire. Generate one from **Account Settings > API Keys** in the Dashboard. The API key takes precedence over CLI tokens when set.\n\nSet the active workspace:\n\n```bash\nrender workspace set\n```\n\n## Command Reference\n\n### Core commands\n\n| Command | Purpose | Key flags |\n|---------|---------|-----------|\n| `render login` | Authenticate via browser | — |\n| `render workspace set` | Set active workspace | — |\n| `render services` | List all services and datastores | `-o json` for scripting |\n| `render deploys create [SVC]` | Trigger a deploy | `--wait`, `--commit SHA`, `--image URL` |\n| `render deploys list [SVC]` | List deploys for a service | `-o json` |\n| `render logs -r [SVC]` | View logs | `--tail` for streaming |\n| `render psql [DB]` | Open psql session | `-c \"SQL\"`, `-o json`, `-- --csv` |\n| `render ssh [SVC]` | SSH into running instance | `--ephemeral` / `-e` for isolated shell |\n| `render blueprints validate` | Validate `render.yaml` | Defaults to `./render.yaml` |\n| `render skills [install\\|update\\|list]` | Manage agent skills | — |\n| `render workspaces` | List workspaces | `-o json` |\n\n### Non-interactive mode\n\nFor CI/CD and scripts, always set:\n\n| Flag | Purpose |\n|------|---------|\n| `-o json` (or `yaml`, `text`) | Machine-readable output |\n| `--confirm` | Skip confirmation prompts |\n\nOutput format precedence: `--output` flag > `RENDER_OUTPUT` env var > auto-detect (TTY → interactive, pipe → text).\n\n```bash\nexport RENDER_OUTPUT=json\nrender services --confirm\n```\n\n### Deploy patterns\n\n```bash\n# Deploy and wait for completion (exits non-zero on failure)\nrender deploys create srv-xxx --wait --confirm -o json\n\n# Deploy a specific commit\nrender deploys create srv-xxx --commit abc123 --wait --confirm\n\n# Deploy a specific Docker image\nrender deploys create srv-xxx --image ghcr.io/org/app:v1.2.3 --wait --confirm\n```\n\n### Database queries\n\n```bash\n# Single query, JSON output\nrender psql db-xxx -c \"SELECT NOW();\" -o json\n\n# CSV output via psql passthrough\nrender psql db-xxx -c \"SELECT id, email FROM users;\" -o text -- --csv\n```\n\n## CI/CD Example (GitHub Actions)\n\n```yaml\nname: Deploy to Render\non:\n  push:\n    branches: [main]\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Install Render CLI\n        run: |\n          curl -L https://github.com/render-oss/cli/releases/download/v1.1.0/cli_1.1.0_linux_amd64.zip -o render.zip\n          unzip render.zip\n          sudo mv cli_v1.1.0 /usr/local/bin/render\n      - name: Deploy\n        env:\n          RENDER_API_KEY: ${{ secrets.RENDER_API_KEY }}\n        run: render deploys create ${{ secrets.RENDER_SERVICE_ID }} --wait --confirm -o json\n```\n\nPin to a specific CLI version in CI to avoid breaking changes.\n\n## Local Config\n\nConfig file: `~/.render/cli.yaml`\n\nOverride with `RENDER_CLI_CONFIG_PATH` env var.\n\n## Common Mistakes\n\n| Mistake | Fix |\n|---------|-----|\n| Token expired | Re-run `render login` |\n| Wrong workspace | Run `render workspace set` to switch |\n| Missing `--confirm` in CI | Add `--confirm` to skip interactive prompts |\n| Using `--output interactive` in CI | Use `-o json` or `-o text` in non-TTY environments |\n| Deploying without `--wait` in CI | Add `--wait` so the job fails on deploy failure |\n\n## References\n\n| Document | Contents |\n|----------|----------|\n| `references/command-cheatsheet.md` | Full command list with flags, output examples, and scripting patterns |\n\n## Related Skills\n\n- **render-deploy** — End-to-end deploy flows, MCP operations, Dashboard deeplinks\n- **render-blueprints** — `render.yaml` authoring and validation\n- **render-postgres** — Database connections, `render psql` usage\n- **render-debug** — Using `render logs` and `render ssh` for troubleshooting\n"
}

SHA-256: e659ef5643c06c06c72394df2c3dc5d759036c94ca4fb5dfa8a90c1ce5d78b07