Skip to main content

QAWOLF_API_KEY is not set

Cause: The CLI could not find an API key in the environment, the system keychain, or the local config file. Check:
  • the QAWOLF_API_KEY environment variable is set in the current shell
  • credentials have been stored locally with qawolf auth login
  • the value has not been overwritten by another shell profile

QA Wolf API rejected the request (HTTP 401)

Cause: The API key is invalid or has been revoked. Check:
  • the key matches one issued for the current workspace
  • the key was not truncated or copied with surrounding whitespace
  • qawolf auth whoami returns the expected workspace

QA Wolf API rejected the request (HTTP 403)

Cause: The API key is valid but does not have access to the requested environment. Check:
  • the key was issued for a workspace that contains this environment
  • the environment ID matches one returned by the platform — see where to find it

Could not reach the QA Wolf API

Cause: The CLI could not connect to the platform at QAWOLF_API_URL. Check:
  • the network can reach https://app.qawolf.com (or the URL configured in QAWOLF_API_URL)
  • QAWOLF_API_URL does not contain a typo or unexpected trailing path
  • corporate proxy and VPN settings allow outbound HTTPS
Cause: The signed URL the CLI received from the platform expired before it downloaded the bundle. Check:
  • re-run qawolf flows pull --env <env_id> to fetch a fresh link
  • network conditions are not slowing the download past the link’s expiration window

Android SDK not found

Cause: qawolf install android could not locate the Android SDK at the path given by ANDROID_HOME or ANDROID_SDK_ROOT. Check:
  • ANDROID_HOME is exported in the current shell and points at the SDK root
  • the SDK is installed via Android Studio or via the standalone cmdline-tools package
  • sdkmanager exists at $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager

iOS targets are not supported

Cause: The selected flow targets an iOS device. The CLI does not yet support iOS execution. Check:
  • the flow’s target is set to a web or Android value
  • iOS flows are filtered out of the run with a pattern argument

Could not load @qawolf/testkit

Cause: The runner could not resolve @qawolf/testkit from the project directory. Check:
  • @qawolf/testkit is listed in package.json and installed
  • the command is being run from the project root, or from a directory inside a pulled environment

Android flows are not supported with --workers > 1

Cause: --workers <n> was greater than 1 while the run included at least one Android flow. Check:
  • rerun the Android flows with --workers 1
  • split the run into a web-only invocation with --workers <n> and an Android-only invocation with --workers 1

Basic target flow cannot be executed

Cause: The flow targets "Basic", the Node-only platform type. The CLI does not execute Basic flows. Check:
  • the flow has been ported to a supported target, or
  • the flow is excluded from the run with a pattern argument
Last modified on September 16, 2026