Install
NPM
Get QStash token
Follow the instructions here to get your QStash token and signing keys.
Usage
The token is optional. If you leave it out, the client reads QSTASH_TOKEN,
QSTASH_URL and their region-prefixed variants
from the environment, and only warns when it finds nothing:
Use Client.fromEnv() if you would rather fail fast:
fromEnv reads process.env, so on runtimes where credentials only exist as
bindings (Cloudflare Workers) pass the token to new Client() instead.
No credentials at all? You don’t need any while developing — see
Local development below.
RetryConfig
You can configure the retry policy of the client by passing the configuration to the client constructor.
Note: This is for sending the request to QStash, not for the retry policy of QStash.
The default number of attempts is 6 and the default backoff function is (retry_count) => (Math.exp(retry_count) * 50).
You can also pass in false to disable retrying.
Local development
Pass devMode: true (or set QSTASH_DEV=true) to have the SDK download, start, and manage a local QStash dev server for you. No tokens or signing keys required — the SDK injects deterministic dev credentials.
The same flag works on the receiving side — pass devMode: true to Receiver or verifySignature* to verify signatures with the dev server’s keys. See Local Development for the full walkthrough, including the registerQStashDev() helper for Next.js edge routes.
Telemetry
This sdk sends anonymous telemetry headers to help us improve your experience.
We collect the following:
- SDK version
- Platform (Cloudflare, AWS or Vercel)
- Runtime version (node@18.x)
You can opt out by setting the UPSTASH_DISABLE_TELEMETRY environment variable
to any truthy value. Or setting enableTelemetry: false in the client options.