Estuary flowctl setup
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".From its SKILL.md
npx -y skills add estuary/agent-skills --skill estuary-flowctl-setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
4 things to look at
- reads credentialsReads from 1 credential source: `FLOW_AUTH_TOKEN`.
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `brew tap estuary/flowctl` and 7 more.
- fetches URLsInstructs the agent to fetch 2 URLs, including https://github.com/estuary/flow/releases/latest/download/flowctl-multiarch-macos and 1 more.
SKILL.md
4.4 KB, 919 tokens by cl100k_base, as published. Nobody here has run it
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)
brew tap estuary/flowctl
brew install flowctl
Mac (direct download)
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)
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:
- WSL (recommended) — Install Windows Subsystem for Linux, then use the Linux install command above inside your WSL shell.
- 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)
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:
- Go to https://dashboard.estuary.dev/admin/api and generate a refresh token
- Set the environment variable:
export FLOW_AUTH_TOKEN=<your-refresh-token> - 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:
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
flowctl --version
Quick test that authentication works:
flowctl catalog list --output json | head -5
Update
Homebrew
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 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
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most project setup skills give in 919 tokens
Counted across 1,553 of the 3,091 authors here whose files we hold, read 2026-09-06
- Write the configuration filein 36 of 1553
- Create the directory structurein 35 of 1553, across 33 files
- Verify the setupin 31 of 1553, across 28 files
- Run the setup scriptin 30 of 1553, across 29 files
- Pre-determine the required sample sizein 29 of 1553, across 12 files
- Check if the configuration already existsin 29 of 1553
- Document every testin 26 of 1553, across 10 files
- Start with a hypothesisin 26 of 1553, across 11 files
- Ask one question at a timein 22 of 1553
- Test a single variable per testin 21 of 1553, across 9 files
- Read product marketing context before asking questionsin 19 of 1553, across 8 files
- Do not peek and stop earlyin 18 of 1553, across 7 files
Said here and by no other author read
- Install flowctl using Homebrew or direct download
- Run flowctl auth login for interactive authentication
- Set FLOW_AUTH_TOKEN for programmatic access
- Verify installation with flowctl version
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.