Upstash CLI
Agent-friendly CLI for managing & debugging Upstash resources from your terminal. Docs.
npm i -g @upstash/cli
For agents, pair the CLI with the Upstash Skill, it bundles Upstash docs alongside docs for the upstash CLI.
npx skills add upstash/skills
If you are an AI agent (or just want to try things out) and need a Redis DB to use or experiment with, you don't need an Upstash account:
upstash start-redis
This prints markdown with credentials and a quickstart. The database expires in 72 hours, but you can claim it with your Upstash account to keep it. Pass --id <database-id> to re-fetch the credentials of a database you created earlier. Every command that touches your Upstash account needs authentication — only start-redis and the login/logout credential helpers do not.
If you are an agent, identify yourself with --user-agent on every start-redis call, so we can see which agents are creating databases:
upstash start-redis --user-agent claude-code # or cursor, codex, opencode, ...
Grab a Developer API key from the Upstash Console, then save it once per machine:
upstash login
Or set UPSTASH_EMAIL and UPSTASH_API_KEY in your shell or a .env file. See the auth docs for env files, per-command flags, and precedence rules.
Every command that returns account data outputs JSON, so you can pipe to jq. The exceptions are start-redis, which prints markdown, and login/logout, which print a plain-text confirmation. Use --dry-run to preview destructive commands.
…
Run upstash --help (or --help on any subcommand) to discover everything else, and check the full docs for the complete catalog. upstash blob credentials returns temporary S3 credentials for use with AWS CLI, rclone, or an S3 SDK.
The CLI identifies itself to the Upstash API on each request, so we can see which clients our endpoints are serving. It sends three headers and nothing else:
| Header | Example |
|---|---|
Upstash-Telemetry-Sdk |
@upstash/[email protected] |
Upstash-Telemetry-Runtime |
[email protected] |
Upstash-Telemetry-Platform |
darwin |
That is the CLI version, the JS runtime, and the OS platform. No command arguments, credentials, resource names, or file paths are collected.
To turn it off:
upstash telemetry disable # saved to your config file
upstash telemetry status # check the current setting
upstash telemetry enable # turn it back on
Or set the environment variable every Upstash SDK honors, which also works from
a .env file and takes precedence over the saved setting:
export UPSTASH_DISABLE_TELEMETRY=1
Disabling telemetry never affects what the CLI can do. upstash logout keeps
the setting, so signing out does not quietly turn it back on.
npm install
npm run build
node dist/cli.js --help # try your build
npm link # or expose it as `upstash` globally
Open an issue, send a PR, or join us on Discord.
No open issues yet, or sync has not completed.