Disclosure note QWN-1 · 27 October 2026

Qwen Code tells API-key users it collects nothing extra. It sends Alibaba Cloud a persistent ID for your installation anyway.

The short version

A model can't phone home. Its harness can.

Qwen Code is Alibaba's open-source coding agent. You can point it at any model provider with your own API key. For that mode, Qwen's privacy notice says: "API Key: No additional data is collected by Qwen Code beyond what your chosen API provider collects."

In our tests that was not true. We ran Qwen Code with a DeepSeek model and no Qwen or Alibaba Cloud account. Every run with default settings also sent usage reports to Alibaba Cloud's Real User Monitoring service. Each report carried a persistent ID that Qwen Code writes to your home directory, plus the model you use, the address of your model provider, your kernel version and a session ID. The same ID came back in every session on the same machine.

We found no prompts, code, file contents or credentials in these reports. The issue is that the notice says this data is not collected, and it is, by default, tied to an ID that identifies your installation. The setting that stops it works. The setting most people would try first, telemetry.enabled = false, does not.

What Qwen Code sends to Alibaba Cloud in API-key mode With a non-Alibaba model provider, Qwen Code sends model calls to that provider and, separately, usage reports to Alibaba Cloud Real User Monitoring carrying a persistent installation ID, the model name, the provider address, kernel version and session ID. The telemetry setting does not stop the reports; the usage statistics setting does. PLATE I · TWO DESTINATIONS, ONE OF THEM UNDISCLOSED YOUR MACHINE ~/.qwen/installation_id QWEN CODE(the harness) API-key mode,non-Alibaba model YOUR CHOSEN PROVIDERmodel calls (expected) ALIBABA CLOUD RUM user.id = your installation_id model name, provider address kernel version, session id no prompts, code or files seen 1 2 THE SWITCHES, TESTED (0.24.6; same behaviour in 0.25.3) default settingsreports sent, every run telemetry.enabled = falsereports still sent usageStatisticsEnabled = falseno reports, no ID file 3 1 the harness, not the model, sends the reports · 2 the notice says API-key mode collects nothing extra 3 the setting most people would try does not stop them FIG. 1 Captured on our machine, 26 and 27 Sep 2026 (0.24.6); 0.25.3 re-checked 19 Oct 2026. Notice quoted as live on 26 Oct 2026.
What we tested

The evidence.

Qwen Code 0.24.6, the npm latest release at the time, tested on 26 and 27 September 2026. API-key mode with an OpenAI-compatible provider: the base URL pointed at our local capture proxy, which forwarded model calls to DeepSeek. No Qwen or Alibaba Cloud account was used. Each run was a fresh throwaway Linux container with a new home directory, a TLS-intercepting proxy the client trusted and a full packet capture.

  • Every run with default settings, headless and interactive, sent HTTPS POST requests to gb4w8c3ygj-default-sea.rum.aliyuncs.com (Alibaba Cloud Real User Monitoring).
  • Each request body contained "user":{"id":"user-<UUID>"}, where the UUID is the content of ~/.qwen/installation_id. In all 19 test units that sent reports, the ID matched that unit's file.
  • Each body also contained the kernel version, the auth type, the configured model name, the configured model base URL and a session ID.
  • With privacy.usageStatisticsEnabled = false alone, no report was sent and no installation ID file was created.
  • With telemetry.enabled = false alone, the reports continued unchanged.

On 19 October we re-checked the latest release, 0.25.3. It still builds user.id from the persistent installation ID and includes the model, base URL and kernel version, and it still tries to reach the same endpoint (in that run our rig blocked the connection). privacy.usageStatisticsEnabled = false still stops it.

Statement and behaviour

Where they differ.

Qwen Code's Terms of Service and Privacy Notice, section "Usage Statistics and Telemetry", "Data Collection by Authentication Method" (live page, archived 27 Sep 2026): "API Key: No additional data is collected by Qwen Code beyond what your chosen API provider collects." The wording was unchanged on 26 October 2026.

The same section says Qwen Code "may collect anonymous usage statistics" and that collection "is optional and can be controlled through configuration settings". The reports we captured were on by default and carried an ID that persists across sessions.

How to turn it off

One setting does it.

Add this to ~/.qwen/settings.json:

{ "privacy": { "usageStatisticsEnabled": false } }

telemetry.enabled = false on its own does not stop these reports.

What we are not claiming

Limits.

  • We found no prompts, code, file contents or credentials in the reports.
  • We do not know how the data is used or how long it is kept, or whether the ID can be linked to a person.
  • We tested API-key mode only, on Linux, in the versions named.
  • The documented opt-out works as described.
Timeline

Disclosure timeline.

  • 27 Sep 2026: reported to privacy@qwen.com, with reproduction steps and the publication date.
  • 19 Oct 2026: latest release 0.25.3 re-checked; behaviour unchanged.
  • 27 Oct 2026: published. We have received no reply from Qwen. Any response will be added here.

Evidence and reproduction steps are available to Qwen and to researchers on request: research@agenticthinking.uk.