{
  "name": {
    "finding": "Qwen Code is an open-source AI coding agent for the terminal.",
    "quote": "An open-source AI coding agent that lives in your terminal.",
    "url": "https://github.com/QwenLM/qwen-code",
    "third_party": false
  },
  "repo": {
    "finding": "Official source repository: QwenLM/qwen-code.",
    "quote": "QwenLM / qwen-code",
    "url": "https://github.com/QwenLM/qwen-code",
    "third_party": false
  },
  "docs": {
    "finding": "Official documentation site.",
    "quote": "Qwen Code: AI Coding Agent Documentation",
    "url": "https://qwenlm.github.io/qwen-code-docs/",
    "third_party": false
  },
  "headless": {
    "finding": "Suitable for an unattended single run: `cd WORKDIR && qwen -p \"PROMPT\" --approval-mode yolo --output-format json` runs non-interactively and exits after completion. `-p`/`--prompt` accepts an argument; stdin is accepted (`echo ... | qwen`), and a prompt file can be piped (`cat file | qwen --prompt ...`). There is no normal CLI `--cwd` flag: select the workspace with the launcher process's cwd. Headless formats are text, json, and stream-json. `--yolo`/`--approval-mode=yolo` auto-approves all tool calls; `auto-edit` still requires shell approval, while `auto` classifier-evaluates actions. Documented exceptional exits are turn cap 53, budget 55, and SIGINT 130; no exhaustive exit-code table or dedicated prompt-file flag was found.",
    "quote": "Use the `--prompt` (or `-p`) flag to run in headless mode.",
    "url": [
      "https://qwenlm.github.io/qwen-code-docs/en/users/features/headless/",
      "https://raw.githubusercontent.com/QwenLM/qwen-code/main/packages/core/src/agents/arena/ArenaManager.ts"
    ],
    "third_party": false
  },
  "confinement": {
    "finding": "Tool access has approval modes and rule lists: `permissions.allow`, `ask`, and `deny` can match Bash, Read, Edit, and WebFetch patterns; deny takes effect before Auto-mode classification. Default/Ask prompts for edits and shell; auto-edit approves edits but prompts for shell; auto classifier-evaluates shell, network calls, and out-of-workspace edits; yolo auto-approves all, including shell/write/edit, so it must be combined with isolation. Linux execution sandbox can use Bubblewrap with `filesystem: \"workspace-write\"` and `network: \"closed\"`; closed networking blocks ordinary external connections from commands. It also supports Landlock with limits, Docker/Podman, and macOS Seatbelt profiles; a local proxy can supply an outbound allowlist. `--sandbox`/`-s` or `QWEN_SANDBOX` enables the whole-CLI sandbox. The docs warn that bwrap mode leaves host reads broad, so this is not secret isolation.",
    "quote": "With bwrap, `network: closed` blocks ordinary host/external IP connections from commands.",
    "url": [
      "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/settings/",
      "https://qwenlm.github.io/qwen-code-docs/en/users/features/approval-mode/",
      "https://qwenlm.github.io/qwen-code-docs/en/users/features/sandbox/"
    ],
    "third_party": false
  },
  "token_reporting": {
    "finding": "Yes. `--output-format json` returns structured output; its source-defined per-message usage has `input_tokens`, `output_tokens`, optional `cache_read_input_tokens`, `cache_creation_input_tokens`, and `total_tokens`. It does not define a cost field or a reasoning field in that JSON Usage interface. Separately, official source persists JSONL token records named `token-usage-<month>.jsonl`; each API-call record includes session/model/auth/source plus `inputTokens`, `outputTokens`, `cachedTokens`, `thoughtsTokens`, `totalTokens`, and `apiDurationMs`. OpenTelemetry also exposes token types input/output/thought/cache. The public sources checked do not establish a headless per-run cost total.",
    "quote": "inputTokens: number; outputTokens: number; cachedTokens: number; thoughtsTokens: number; totalTokens: number.",
    "url": [
      "https://qwenlm.github.io/qwen-code-docs/en/users/features/headless/",
      "https://raw.githubusercontent.com/QwenLM/qwen-code/main/packages/cli/src/nonInteractive/types.ts",
      "https://raw.githubusercontent.com/QwenLM/qwen-code/main/packages/core/src/services/tokenUsageService.ts",
      "https://qwenlm.github.io/qwen-code-docs/en/developers/development/telemetry/"
    ],
    "third_party": false
  },
  "parallelism": {
    "finding": "Yes. The Agent tool can delegate to configured subagents; named subagents default to background and forks are detached. Multiple Agent calls in one message can run concurrently. Forks cannot recursively spawn subagents, and concurrent forks share a working directory, so simultaneous writes can conflict. Agent Team coordination can assign up to three independent workstreams; its documented writer arrangement is one worktree writer, with read-only teammates otherwise. Configure named agents as Markdown/YAML under `.qwen/agents/` (or user/extension locations), including tool allow/deny lists and `background`/`run_in_background` behavior.",
    "quote": "You can launch multiple subagents concurrently by calling the Agent tool multiple times in a single message.",
    "url": [
      "https://qwenlm.github.io/qwen-code-docs/en/developers/tools/task/",
      "https://qwenlm.github.io/qwen-code-docs/en/users/features/sub-agents/",
      "https://qwenlm.github.io/qwen-code-docs/en/users/features/multi-agent-coordination/"
    ],
    "third_party": false
  },
  "providers": {
    "finding": "Built-in protocols are OpenAI-compatible (including OpenAI Responses), Anthropic, Gemini, Qwen OAuth, and Vertex AI; custom provider IDs may map to one of those protocols. The official provider guide explicitly describes local OpenAI-compatible vLLM, Ollama, and LM Studio endpoints. Its authentication guide names OpenAI, Azure OpenAI, OpenRouter, Requesty, ModelScope, Alibaba Cloud, and any OpenAI-compatible endpoint; its `/auth` third-party menu lists DeepSeek, Grok, MiniMax, Z.AI, Kimi, Idealab, ModelScope, OpenRouter, and Requesty.",
    "quote": "Most local inference servers (vLLM, Ollama, LM Studio, etc.) provide an OpenAI-compatible API endpoint.",
    "url": [
      "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/model-providers/",
      "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/auth/"
    ],
    "third_party": false
  },
  "subscription_login": {
    "finding": "A vendor subscription is supported through QwenCloud Token Plan (monthly Credit quota) and Alibaba ModelStudio Coding Plan (fixed monthly fee/weekly quota), but both headless setups require a subscription API key, not a subscription OAuth/device login. Qwen OAuth historically used browser login but its free tier was discontinued on 2026-04-15 and new requests are rejected. No official source checked documents using ChatGPT, Claude, Gemini, or GitHub Copilot subscription login instead of an API key. Vertex AI may use keyless Google Application Default Credentials, which is not described as a consumer subscription login.",
    "quote": "configure Qwen Code to use the dedicated endpoint and your subscription API key.",
    "url": [
      "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/auth/",
      "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/model-providers/"
    ],
    "third_party": false
  },
  "license": {
    "finding": "Apache-2.0 (the SPDX identifier for the LICENSE file's Apache License, Version 2.0).",
    "quote": "Apache License, Version 2.0, January 2004",
    "url": "https://raw.githubusercontent.com/QwenLM/qwen-code/main/LICENSE",
    "third_party": false
  },
  "latest_stable": {
    "finding": "Latest stable Qwen Code release tag: v0.26.1, published 2026-10-24T15:47:58Z (ISO date 2026-10-24). npm package `@qwen-code/qwen-code` latest version: 0.26.1, published 2026-10-24T15:52:45.694Z.",
    "quote": "\"tag_name\": \"v0.26.1\", \"published_at\": \"2026-10-24T15:47:58Z\"",
    "url": [
      "https://api.github.com/repos/QwenLM/qwen-code/releases",
      "https://registry.npmjs.org/@qwen-code/qwen-code"
    ],
    "third_party": false
  },
  "latest_prerelease": {
    "finding": "Newest-version prerelease tag returned by the GitHub Releases API: v0.26.2-preview.0, published 2026-10-26T18:25:27Z (ISO date 2026-10-26).",
    "quote": "\"tag_name\": \"v0.26.2-preview.0\", \"prerelease\": true, \"published_at\": \"2026-10-26T18:25:27Z\"",
    "url": "https://api.github.com/repos/QwenLM/qwen-code/releases",
    "third_party": false
  },
  "last_commit": {
    "finding": "Default branch `main` last-commit timestamp: 2026-10-27T03:54:25Z (ISO date 2026-10-27).",
    "quote": "\"date\": \"2026-10-27T03:54:25Z\"",
    "url": "https://api.github.com/repos/QwenLM/qwen-code/commits/main",
    "third_party": false
  },
  "fork_of": {
    "finding": "The repository is not marked as a GitHub fork, but the project says it was originally based on Google Gemini CLI v0.8.2 and stopped syncing upstream from Qwen Code v0.1.",
    "quote": "This project was originally based on Google Gemini CLI v0.8.2. Starting from Qwen Code v0.1, we stopped syncing with upstream.",
    "url": [
      "https://github.com/QwenLM/qwen-code",
      "https://api.github.com/repos/QwenLM/qwen-code"
    ],
    "third_party": false
  },
  "maintenance": {
    "finding": "Not archived or marked unmaintained in the official repository metadata checked: GitHub API reports `archived: false`, and the README says the project is actively iterating.",
    "quote": "\"archived\": false",
    "url": [
      "https://api.github.com/repos/QwenLM/qwen-code",
      "https://github.com/QwenLM/qwen-code"
    ],
    "third_party": false
  },
  "gaps": {
    "finding": "not found: an official exhaustive normal/success exit-code table; a dedicated headless prompt-file option; official proof of a per-run headless cost field; and official support for ChatGPT, Claude, Gemini, or GitHub Copilot subscription login. Checked Headless Mode, Approval Mode, Model Providers, Authentication, source CLI JSON types, and releases/API pages.",
    "quote": "No exhaustive exit-code table, prompt-file flag, per-run cost field, or named external subscription-login support appears in the checked official pages/source.",
    "url": [
      "https://qwenlm.github.io/qwen-code-docs/en/users/features/headless/",
      "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/auth/",
      "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/model-providers/",
      "https://raw.githubusercontent.com/QwenLM/qwen-code/main/packages/cli/src/nonInteractive/types.ts"
    ],
    "third_party": false
  },
  "sources": [
    "https://github.com/QwenLM/qwen-code",
    "https://qwenlm.github.io/qwen-code-docs/",
    "https://qwenlm.github.io/qwen-code-docs/en/users/features/headless/",
    "https://qwenlm.github.io/qwen-code-docs/en/users/features/approval-mode/",
    "https://qwenlm.github.io/qwen-code-docs/en/users/features/sandbox/",
    "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/settings/",
    "https://qwenlm.github.io/qwen-code-docs/en/users/features/sub-agents/",
    "https://qwenlm.github.io/qwen-code-docs/en/developers/tools/task/",
    "https://qwenlm.github.io/qwen-code-docs/en/users/features/multi-agent-coordination/",
    "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/model-providers/",
    "https://qwenlm.github.io/qwen-code-docs/en/users/configuration/auth/",
    "https://qwenlm.github.io/qwen-code-docs/en/developers/development/telemetry/",
    "https://raw.githubusercontent.com/QwenLM/qwen-code/main/LICENSE",
    "https://raw.githubusercontent.com/QwenLM/qwen-code/main/packages/core/src/agents/arena/ArenaManager.ts",
    "https://raw.githubusercontent.com/QwenLM/qwen-code/main/packages/cli/src/nonInteractive/types.ts",
    "https://raw.githubusercontent.com/QwenLM/qwen-code/main/packages/core/src/services/tokenUsageService.ts",
    "https://api.github.com/repos/QwenLM/qwen-code",
    "https://api.github.com/repos/QwenLM/qwen-code/releases",
    "https://api.github.com/repos/QwenLM/qwen-code/commits/main",
    "https://registry.npmjs.org/@qwen-code/qwen-code"
  ]
}
