estuary-flowctl-setup · git:20260505.8873932 · 2026-05-05 · sha256 51a9199c7bc41947
estuary-flowctl-setup git:20260505.8873932A
Immutable. This exact content is served forever at /api/v1/blob/51a9199c7bc41947.
--- name: estuary-flowctl-setup description: Install and authenticate the flowctl CLI for Estuary. Use when setting up flowctl for the first time, troubleshooting authentication, upgrading to the latest version, or configuring programmatic access for CI/CD. Use when user says "install flowctl", "set up flowctl", "flowctl auth", "how to authenticate", "token expired", "not authenticated", "FLOW_AUTH_TOKEN", "CI/CD setup", "programmatic access", "upgrade flowctl", "flowctl not found", "command not found flowctl", "Exec format error", or "flowctl on Windows". --- # flowctl Setup — Install, Authenticate, and Update **flowctl** is Estuary's CLI for managing captures, materializations, collections, and derivations from the command line. ## Install ### Mac (Homebrew — recommended) ```bash brew tap estuary/flowctl brew install flowctl ``` ### Mac (direct download) ```bash sudo curl -o /usr/local/bin/flowctl -L 'https://github.com/estuary/flow/releases/latest/download/flowctl-multiarch-macos' && sudo chmod +x /usr/local/bin/flowctl ``` ### Linux (x86-64) ```bash sudo curl -o /usr/local/bin/flowctl -L 'https://github.com/estuary/flow/releases/latest/download/flowctl-x86_64-linux' && sudo chmod +x /usr/local/bin/flowctl ``` ### Windows No native Windows build exists. Use one of: 1. **WSL (recommended)** — Install [Windows Subsystem for Linux](https://learn.microsoft.com/en-us/windows/wsl/), then use the Linux install command above inside your WSL shell. 2. **Remote dev environment** — Run flowctl on a cloud Linux VM and connect via your IDE's remote development features. **Note:** On ARM-based Windows machines (e.g., Snapdragon/aarch64 under WSL), the x86-64 binary won't work (`Exec format error`). There is no official ARM build yet — use a remote x86-64 environment or build from source. ## Authenticate ### Interactive login (local development) ```bash flowctl auth login ``` This opens your browser to the Estuary dashboard's CLI-API tab. Copy the access token and paste it into the terminal. **Note:** Access tokens are short-lived (~1 hour). You'll need to repeat this when the token expires. ### Programmatic access (CI/CD and automation) For non-interactive environments, use a long-lived refresh token: 1. Go to https://dashboard.estuary.dev/admin/api and generate a **refresh token** 2. Set the environment variable: ```bash export FLOW_AUTH_TOKEN=<your-refresh-token> ``` 3. Run flowctl commands normally — authentication is handled automatically **Important:** If a config file exists for the current profile, flowctl ignores `FLOW_AUTH_TOKEN`. Use a separate profile to avoid conflicts: ```bash flowctl --profile ci catalog list ``` The refresh token expires after 90 days of inactivity — each use resets the clock. **Common CI mistake:** Don't run `flowctl auth token --token $FLOW_AUTH_TOKEN` in your scripts — that command is for interactive token exchange only. Just set the env var and run flowctl commands directly. ## Verify Installation ```bash flowctl --version ``` Quick test that authentication works: ```bash flowctl catalog list --output json | head -5 ``` ## Update ### Homebrew ```bash brew update && brew upgrade flowctl ``` ### Direct download Re-run the install command for your platform — it overwrites the existing binary. ## Troubleshooting | Problem | Solution | |---------|----------| | `command not found: flowctl` | Re-run the install command, or check that `/usr/local/bin` is in your `PATH` | | `You are not authenticated` | Run `flowctl auth login` — your token likely expired | | `Exec format error` | Wrong binary for your architecture — ARM machines need an x86-64 environment (see Windows section) | | `FLOW_AUTH_TOKEN` ignored | An existing profile config takes precedence — use `flowctl --profile ci <command>` | | `Header of type authorization was missing` | Token didn't save correctly — re-run `flowctl auth login` and paste carefully | | `Failed to locate sops` | Only needed for local secret encryption — install [sops](https://github.com/getsops/sops/releases) if using encrypted configs | Check for the latest releases and changelogs: https://github.com/estuary/flow/releases ## Related Skills - **estuary-logs** — Search and analyze task logs with flowctl - **estuary-catalog-status** — Check whether tasks are running, disabled, or failed - **estuary-connector-restart** — Pause and restart connectors via flowctl