taskcluster-client is the official JavaScript client library for interfacing with Taskcluster components, providing a comprehensive asynchronous interface for all Taskcluster API methods. Primarily designed for server-side Node.js applications, it is deeply integrated into the Taskcluster ecosystem for inter-service communication. The current stable version, as per recent releases, is v99.1.1. The package maintains an active release cadence, frequently incorporating patch and minor updates that include critical Node.js (currently requiring v24.15.0 or later) and Go security upgrades, along with enhancements to worker deployment and monitoring. Key differentiators include robust retry mechanisms for transient network errors and flexible authentication options supporting both environment variables and direct credential provision, ensuring secure and reliable interaction with Taskcluster services.
npm install taskcluster-clientVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to instantiate a Taskcluster client, configure it with credentials (from env vars or directly), and use the Queue service to list recent tasks. It highlights error handling for common authentication issues.
Consult the Taskcluster documentation for the new `taskcluster/websocktunnel` Docker image tagging scheme and update your Dockerfile or deployment configurations accordingly.
Review any Taskcluster task definitions that use absolute paths in `mounts` or artifact `path` properties. Ensure they are compatible with the corrected path evaluation behavior. Adjust paths if they were inadvertently relying on the previous incorrect behavior.
When using `taskcluster.fromEnvVars()` inside a Taskcluster task that should use the proxy, explicitly set the `rootUrl` option to `process.env.TASKCLUSTER_PROXY_URL` in your client instantiation, e.g., `new taskcluster.Auth({ ...taskcluster.fromEnvVars(), rootUrl: process.env.TASKCLUSTER_PROXY_URL })`.Regularly check the latest changelogs and `engines` field in `package.json` for the required Node.js version. Upgrade your Node.js runtime environment to meet the latest requirements (currently Node.js v24.15.0 for v99.1.1).
Upgrade to `taskcluster-client` v99.1.1 or newer. For affected deployments, manually verify and deprovision any Azure resources that correspond to stuck workers.
Ensure `credentials.clientId` and `credentials.accessToken` are correctly provided and the associated client has the necessary scopes for the API calls being made. For temporary credentials, also verify `credentials.certificate`.
Verify that the `rootUrl` is correct and the Taskcluster instance it points to is accessible from where your client code is running. Check network connectivity or firewall rules.
For operations involving large artifacts (e.g., GitHub service log streaming), ensure your `taskcluster-client` version is up-to-date (>=98.0.1) as recent versions include fixes to stream artifacts rather than downloading them entirely into memory. For custom logic, implement streaming where possible.