{
  "items": [
    {
      "title": "Agent Plugins failure isolation",
      "description": "Reject invalid components narrowly without disabling valid components in the same package. This is tracked as an independent compatibility claim.",
      "slug": "agent-plugin-failure-isolation",
      "locale": "en",
      "seoTitle": "Agent Plugins failure isolation compatibility — Can My Agent Use",
      "socialTitle": "Agent Plugins failure isolation",
      "socialDescription": "Reject invalid components narrowly without disabling valid components in the same package. Unreviewed product cells remain unknown.",
      "llmSummary": "Agent Plugins failure isolation is atomic and does not follow automatically from broader plugins support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "plugins"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Reject invalid components narrowly without disabling valid components in the same package.",
      "specLabel": "Agent Plugins 1.0",
      "specification": {
        "id": "agent-plugins",
        "revision": "1.0.0",
        "maturity": "published convention",
        "role": "component validation",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agent-plugins.org/specification/1.0"
      },
      "aliases": [
        "plugin failure isolation"
      ],
      "capabilityKind": "atomic",
      "parent": "plugins",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Claude Code documents component-scoped validation behavior: invalid frontmatter affects that file, and invalid hooks JSON loads the plugin without those hooks."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Agent Plugins failure isolation reference",
          "href": "https://agent-plugins.org/specification/1.0",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-plugin-validation",
          "title": "Anthropic — Create and distribute a Claude Code plugin marketplace",
          "href": "https://code.claude.com/docs/en/plugin-marketplaces",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Validate plugins and marketplaces — read the validation results"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code plugin marketplace documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "invalid skill, agent, or command frontmatter is scoped to that component, and invalid hooks JSON loads the plugin without those hooks; manifest-level failures remain fatal"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-plugin-validation",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/agent-plugin-failure-isolation",
      "markdown": "/features/agent-plugin-failure-isolation.md",
      "json": "/api/v1/features/agent-plugin-failure-isolation.json"
    },
    {
      "title": "Agent Plugins packaged MCP",
      "description": "Load MCP server configuration contained in an Agent Plugins package. This is tracked as an independent compatibility claim.",
      "slug": "agent-plugin-mcp",
      "locale": "en",
      "seoTitle": "Agent Plugins packaged MCP compatibility — Can My Agent Use",
      "socialTitle": "Agent Plugins packaged MCP",
      "socialDescription": "Load MCP server configuration contained in an Agent Plugins package. Unreviewed product cells remain unknown.",
      "llmSummary": "Agent Plugins packaged MCP is atomic and does not follow automatically from broader plugins support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "plugins"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Load MCP server configuration contained in an Agent Plugins package.",
      "specLabel": "Agent Plugins 1.0",
      "specification": {
        "id": "agent-plugins",
        "revision": "1.0.0",
        "maturity": "published convention",
        "role": "packaged MCP configuration",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agent-plugins.org/specification/1.0"
      },
      "aliases": [
        "plugin mcp.json"
      ],
      "capabilityKind": "atomic",
      "parent": "plugins",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: the Agent Plugins compatible-client registry lists Grok Bot as a portable client with MCP stdio, Streamable HTTP, and legacy SSE transport support. This is registry evidence, not an independent runtime conformance test."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Agent Plugins packaged MCP reference",
          "href": "https://agent-plugins.org/specification/1.0",
          "kind": "spec"
        },
        {
          "id": "agent-plugins-grok-bot-client",
          "title": "Agent Plugins — Compatible clients",
          "href": "https://agent-plugins.org/compatible-clients",
          "kind": "spec",
          "publisher": "Agent Plugins",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28",
          "locator": "Grok Bot"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Agent Plugins compatible-client listing",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "the listing names stdio, Streamable HTTP, and legacy SSE"
                },
                {
                  "type": "runtime",
                  "value": "support is registry-listed and was not independently conformance-tested by Can My Agent Use"
                }
              ],
              "evidence": [
                {
                  "resourceId": "agent-plugins-grok-bot-client",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/agent-plugin-mcp",
      "markdown": "/features/agent-plugin-mcp.md",
      "json": "/api/v1/features/agent-plugin-mcp.json"
    },
    {
      "title": "Agent Plugins packaged skills",
      "description": "Load portable Agent Skills contained in an Agent Plugins package. This is tracked as an independent compatibility claim.",
      "slug": "agent-plugin-skills",
      "locale": "en",
      "seoTitle": "Agent Plugins packaged skills compatibility — Can My Agent Use",
      "socialTitle": "Agent Plugins packaged skills",
      "socialDescription": "Load portable Agent Skills contained in an Agent Plugins package. Unreviewed product cells remain unknown.",
      "llmSummary": "Agent Plugins packaged skills is atomic and does not follow automatically from broader plugins support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "plugins"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Load portable Agent Skills contained in an Agent Plugins package.",
      "specLabel": "Agent Plugins 1.0",
      "specification": {
        "id": "agent-plugins",
        "revision": "1.0.0",
        "maturity": "published convention",
        "role": "packaged skills",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agent-plugins.org/specification/1.0"
      },
      "aliases": [
        "plugin skills"
      ],
      "capabilityKind": "atomic",
      "parent": "plugins",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: the Agent Plugins compatible-client registry lists Grok Bot as a portable client that loads Agent Skills. This is registry evidence, not an independent runtime conformance test."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Agent Plugins packaged skills reference",
          "href": "https://agent-plugins.org/specification/1.0",
          "kind": "spec"
        },
        {
          "id": "agent-plugins-grok-bot-client",
          "title": "Agent Plugins — Compatible clients",
          "href": "https://agent-plugins.org/compatible-clients",
          "kind": "spec",
          "publisher": "Agent Plugins",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28",
          "locator": "Grok Bot"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Agent Plugins compatible-client listing",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "support is registry-listed and was not independently conformance-tested by Can My Agent Use"
                }
              ],
              "evidence": [
                {
                  "resourceId": "agent-plugins-grok-bot-client",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/agent-plugin-skills",
      "markdown": "/features/agent-plugin-skills.md",
      "json": "/api/v1/features/agent-plugin-skills.json"
    },
    {
      "title": "Agent Plugins portable manifest",
      "description": "Load the published portable plugin.json manifest and its core components. This is tracked as an independent compatibility claim.",
      "slug": "agent-plugin-core",
      "locale": "en",
      "seoTitle": "Agent Plugins portable manifest compatibility — Can My Agent Use",
      "socialTitle": "Agent Plugins portable manifest",
      "socialDescription": "Load the published portable plugin.json manifest and its core components. Unreviewed product cells remain unknown.",
      "llmSummary": "Agent Plugins portable manifest is atomic and does not follow automatically from broader plugins support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "plugins"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Load the published portable plugin.json manifest and its core components.",
      "specLabel": "Agent Plugins 1.0",
      "specification": {
        "id": "agent-plugins",
        "revision": "1.0.0",
        "maturity": "published convention",
        "role": "portable manifest",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agent-plugins.org/specification/1.0"
      },
      "aliases": [
        "plugin.json"
      ],
      "capabilityKind": "atomic",
      "parent": "plugins",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: the Agent Plugins compatible-client registry lists Grok Bot among clients that support the portable Agent Plugins format. This is registry evidence, not an independent runtime conformance test."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Agent Plugins portable manifest reference",
          "href": "https://agent-plugins.org/specification/1.0",
          "kind": "spec"
        },
        {
          "id": "agent-plugins-grok-bot-client",
          "title": "Agent Plugins — Compatible clients",
          "href": "https://agent-plugins.org/compatible-clients",
          "kind": "spec",
          "publisher": "Agent Plugins",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28",
          "locator": "Grok Bot"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Agent Plugins compatible-client listing",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "support is registry-listed and was not independently conformance-tested by Can My Agent Use"
                }
              ],
              "evidence": [
                {
                  "resourceId": "agent-plugins-grok-bot-client",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/agent-plugin-core",
      "markdown": "/features/agent-plugin-core.md",
      "json": "/api/v1/features/agent-plugin-core.json"
    },
    {
      "title": "Agent Skills",
      "description": "Compare discovery, progressive loading, scripts, references, manual invocation, and installation scopes independently.",
      "slug": "agent-skills",
      "locale": "en",
      "seoTitle": "Agent Skills capability coverage — Can My Agent Use",
      "socialTitle": "Which Agent Skills capabilities can my agent use?",
      "socialDescription": "Compare Agent Skills discovery, loading, components, invocation, and scopes independently.",
      "llmSummary": "Agent Skills support is derived from atomic discovery, progressive loading, component, invocation, and scope claims.",
      "audience": "Engineers comparing portable skill-package behavior.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "skills",
        "instructions",
        "packaging"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Track every important Agent Skills behavior independently.",
      "specLabel": "Agent Skills specification",
      "specification": {
        "id": "agent-skills",
        "revision": "living",
        "maturity": "open standard",
        "role": "consuming agent or host",
        "authority": "Agent Skills maintainers",
        "canonicalUrl": "https://agentskills.io/specification"
      },
      "aliases": [
        "SKILL.md support",
        "skills compatibility"
      ],
      "capabilityKind": "family",
      "related": [
        "plugins",
        "instructions"
      ],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Agent Skills specification",
          "href": "https://agentskills.io/specification",
          "kind": "spec"
        }
      ],
      "support": [],
      "html": "/features/agent-skills",
      "markdown": "/features/agent-skills.md",
      "json": "/api/v1/features/agent-skills.json"
    },
    {
      "title": "Agent Skills core and discovery",
      "description": "Discover and load standard SKILL.md packages, with current-track evidence for selected chat and coding harnesses.",
      "slug": "skills",
      "locale": "en",
      "seoTitle": "Agent Skills core and discovery compatibility — Can My Agent Use",
      "socialTitle": "Can my agent discover Agent Skills?",
      "socialDescription": "Current-track Agent Skills core discovery by exact harness surface, with dated public evidence.",
      "llmSummary": "This atomic row covers recognizing, discovering, and loading standard SKILL.md packages. Scripts, assets, invocation, and scopes have separate sibling rows.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "skills",
        "instructions",
        "packaging"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Recognize, discover, and load reusable instruction packages centered on SKILL.md.",
      "specLabel": "Agent Skills specification",
      "specification": {
        "id": "agent-skills",
        "revision": "living",
        "maturity": "open standard",
        "role": "consuming agent or host",
        "authority": "Agent Skills maintainers",
        "canonicalUrl": "https://agentskills.io/specification"
      },
      "aliases": [
        "SKILL.md",
        "skill packs",
        "reusable workflows"
      ],
      "capabilityKind": "atomic",
      "parent": "agent-skills",
      "related": [
        "custom-instructions",
        "plugins"
      ],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: ChatGPT supports OpenAI Skills following the Agent Skills open standard, but personal skill availability and administration vary by plan, workspace, and surface."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude can dynamically load Agent Skills across plans when code execution is enabled; organization controls and feature prerequisites still apply."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude Code supports Agent Skills in beta, so the CLI cell is conditional rather than unqualified support."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor documents automatic discovery, manual invocation, progressive loading, and project or user skill directories."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: OpenAI documents skills as reusable capabilities for Codex across its local agent surfaces, including CLI workflows."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents skill discovery tiers, installation, activation, and the Agent Skills directory structure."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: VS Code documents Agent Skills as generally available for GitHub Copilot in VS Code with project and personal directories and progressive loading."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop documents SKILL.md creation, import, sharing, organization installation, and workspace loading through its OpenCode-backed runtime."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: xAI documents saved and packaged skills in Grok Bot, and the Agent Plugins compatible-client registry lists Grok Bot as loading Agent Skills. The cell establishes core discovery and loading, not every optional Agent Skills behavior."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "openai-chatgpt-skills",
          "title": "OpenAI — Skills in ChatGPT",
          "href": "https://help.openai.com/en/articles/20001066",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-skills",
          "title": "Anthropic — What are skills?",
          "href": "https://support.claude.com/en/articles/12512176-what-are-skills",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-use-skills",
          "title": "Anthropic — Use skills in Claude",
          "href": "https://support.claude.com/en/articles/12512180-use-skills-in-claude",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-skills",
          "title": "Cursor — Agent Skills",
          "href": "https://prod.cursor.com/docs/skills",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openai-codex-skills",
          "title": "OpenAI — Introducing the Codex app",
          "href": "https://openai.com/index/introducing-the-codex-app/",
          "kind": "note",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "gemini-skills",
          "title": "Gemini CLI — Managing Agent Skills",
          "href": "https://geminicli.com/docs/cli/using-agent-skills/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-skills",
          "title": "Visual Studio Code — Use Agent Skills",
          "href": "https://code.visualstudio.com/docs/agent-customization/agent-skills",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openwork-skills",
          "title": "OpenWork — Import a skill",
          "href": "https://openworklabs.com/docs/start-here/do-work-with-it/import-a-skill",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-skills",
          "title": "xAI — Grok Bot skills and routines",
          "href": "https://docs.x.ai/grok-bot/skills-routines-and-automations",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "agent-plugins-grok-bot-client",
          "title": "Agent Plugins — Compatible clients",
          "href": "https://agent-plugins.org/compatible-clients",
          "kind": "spec",
          "publisher": "Agent Plugins",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28",
          "locator": "Grok Bot"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 hosted documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "personal availability is limited to eligible plans"
                },
                {
                  "type": "policy",
                  "value": "workspace administrators control enablement and sharing"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-chatgpt-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 hosted documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "code execution must be enabled"
                },
                {
                  "type": "policy",
                  "value": "organization controls can govern availability"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "Claude Code support is beta"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-use-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cursor-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "openai-codex-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "gemini-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork skill documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "native workspace path is .opencode/skills"
                },
                {
                  "type": "policy",
                  "value": "organization skill installation requires OpenWork Cloud"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation and compatible-client listing",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "saved skills are available across Bots and packaged or private skills are managed through the desktop Plugins area"
                },
                {
                  "type": "policy",
                  "value": "connector or login prerequisites and per-Bot enablement can limit a skill at runtime"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "agent-plugins-grok-bot-client",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/skills",
      "markdown": "/features/skills.md",
      "json": "/api/v1/features/skills.json"
    },
    {
      "title": "Agent Skills manual invocation",
      "description": "Let a user or agent explicitly select and activate a named skill. This is tracked as an independent compatibility claim.",
      "slug": "skill-manual-invocation",
      "locale": "en",
      "seoTitle": "Agent Skills manual invocation compatibility — Can My Agent Use",
      "socialTitle": "Agent Skills manual invocation",
      "socialDescription": "Let a user or agent explicitly select and activate a named skill. Unreviewed product cells remain unknown.",
      "llmSummary": "Agent Skills manual invocation is atomic and does not follow automatically from broader agent-skills support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "agent-skills"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Let a user or agent explicitly select and activate a named skill.",
      "specLabel": "Agent Skills specification",
      "specification": {
        "id": "agent-skills",
        "revision": "living",
        "maturity": "published convention",
        "role": "activation",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agentskills.io/specification"
      },
      "aliases": [
        "manual skill invocation"
      ],
      "capabilityKind": "atomic",
      "parent": "agent-skills",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code exposes discovered skills as `/skill-name` commands and supports `disable-model-invocation: true` for user-only activation."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor lets users invoke a discovered skill by selecting `/skill-name` in Agent chat and can disable automatic model invocation."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI lets users list, enable, disable, reload, and link named skills, and requires user consent whenever a matched skill activates; the reviewed guide does not document a direct `/skill-name` invocation form."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code lists skills in the `/` menu, accepts `/skill-name` with optional context, and supports manual-only skills through `disable-model-invocation`."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Agent Skills manual invocation reference",
          "href": "https://agentskills.io/specification",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-skills",
          "title": "Anthropic — Extend Claude with skills",
          "href": "https://code.claude.com/docs/en/slash-commands",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Control who invokes a skill"
        },
        {
          "id": "cursor-agent-skills",
          "title": "Cursor — Agent Skills",
          "href": "https://prod.cursor.com/docs/skills",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How skills work; disabling automatic invocation"
        },
        {
          "id": "gemini-agent-skills",
          "title": "Gemini CLI — Managing Agent Skills",
          "href": "https://geminicli.com/docs/cli/using-agent-skills/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "In-session management; security and consent"
        },
        {
          "id": "vscode-agent-skills",
          "title": "Visual Studio Code — Use Agent Skills",
          "href": "https://code.visualstudio.com/docs/agent-customization/agent-skills",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use skills as slash commands"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "the catalog's Claude Code Agent Skills core row remains qualified as beta"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cursor-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "named enable, disable, reload, and link controls plus per-activation consent are documented; direct `/skill-name` invocation was not established by the reviewed guide"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/skill-manual-invocation",
      "markdown": "/features/skill-manual-invocation.md",
      "json": "/api/v1/features/skill-manual-invocation.json"
    },
    {
      "title": "Agent Skills progressive loading",
      "description": "Load skill metadata first and defer full instructions or resources until relevant. This is tracked as an independent compatibility claim.",
      "slug": "skill-progressive-loading",
      "locale": "en",
      "seoTitle": "Agent Skills progressive loading compatibility — Can My Agent Use",
      "socialTitle": "Agent Skills progressive loading",
      "socialDescription": "Load skill metadata first and defer full instructions or resources until relevant. Unreviewed product cells remain unknown.",
      "llmSummary": "Agent Skills progressive loading is atomic and does not follow automatically from broader agent-skills support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "agent-skills"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Load skill metadata first and defer full instructions or resources until relevant.",
      "specLabel": "Agent Skills specification",
      "specification": {
        "id": "agent-skills",
        "revision": "living",
        "maturity": "published convention",
        "role": "loading",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agentskills.io/specification"
      },
      "aliases": [
        "progressive disclosure"
      ],
      "capabilityKind": "atomic",
      "parent": "agent-skills",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code keeps skill descriptions available for discovery, loads the full `SKILL.md` body only on invocation, and reads supporting files on demand."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor documents on-demand loading for skill resources, keeping the main `SKILL.md` focused and loading optional resources only when needed."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents three loading levels: metadata always present, `SKILL.md` after activation, and bundled resources only as needed."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code documents three-level loading for skill metadata, the instruction body, and referenced resources."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Agent Skills progressive loading reference",
          "href": "https://agentskills.io/specification",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-skills",
          "title": "Anthropic — Extend Claude with skills",
          "href": "https://code.claude.com/docs/en/slash-commands",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Control who invokes a skill; add supporting files"
        },
        {
          "id": "cursor-agent-skills",
          "title": "Cursor — Agent Skills",
          "href": "https://prod.cursor.com/docs/skills",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What are skills; optional directories"
        },
        {
          "id": "gemini-agent-skills-best-practices",
          "title": "Gemini CLI — Agent Skill best practices",
          "href": "https://geminicli.com/docs/cli/skills-best-practices/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Progressive disclosure"
        },
        {
          "id": "vscode-agent-skills",
          "title": "Visual Studio Code — Use Agent Skills",
          "href": "https://code.visualstudio.com/docs/agent-customization/agent-skills",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How Copilot uses skills"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "the catalog's Claude Code Agent Skills core row remains qualified as beta"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cursor-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "gemini-agent-skills-best-practices",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/skill-progressive-loading",
      "markdown": "/features/skill-progressive-loading.md",
      "json": "/api/v1/features/skill-progressive-loading.json"
    },
    {
      "title": "Agent Skills references and assets",
      "description": "Resolve supporting reference files, templates, and assets from a skill package. This is tracked as an independent compatibility claim.",
      "slug": "skill-references-assets",
      "locale": "en",
      "seoTitle": "Agent Skills references and assets compatibility — Can My Agent Use",
      "socialTitle": "Agent Skills references and assets",
      "socialDescription": "Resolve supporting reference files, templates, and assets from a skill package. Unreviewed product cells remain unknown.",
      "llmSummary": "Agent Skills references and assets is atomic and does not follow automatically from broader agent-skills support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "agent-skills"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Resolve supporting reference files, templates, and assets from a skill package.",
      "specLabel": "Agent Skills specification",
      "specification": {
        "id": "agent-skills",
        "revision": "living",
        "maturity": "published convention",
        "role": "component",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agentskills.io/specification"
      },
      "aliases": [
        "skill assets"
      ],
      "capabilityKind": "atomic",
      "parent": "agent-skills",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code skills may include templates, examples, scripts, and detailed references addressed from `SKILL.md`; supporting files load only when needed."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor documents optional `references/` and `assets/` directories and loads referenced resources progressively."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents `references/` for on-demand documentation and `assets/` for templates and other non-executable resources."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code resolves relative references to files in a skill directory and loads referenced resources only when needed."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Agent Skills references and assets reference",
          "href": "https://agentskills.io/specification",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-skills",
          "title": "Anthropic — Extend Claude with skills",
          "href": "https://code.claude.com/docs/en/slash-commands",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Add supporting files"
        },
        {
          "id": "cursor-agent-skills",
          "title": "Cursor — Agent Skills",
          "href": "https://prod.cursor.com/docs/skills",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Optional directories"
        },
        {
          "id": "gemini-agent-skills-best-practices",
          "title": "Gemini CLI — Agent Skill best practices",
          "href": "https://geminicli.com/docs/cli/skills-best-practices/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Bundle resources effectively; anatomy of a great skill"
        },
        {
          "id": "vscode-agent-skills",
          "title": "Visual Studio Code — Use Agent Skills",
          "href": "https://code.visualstudio.com/docs/agent-customization/agent-skills",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Create a skill; how Copilot uses skills"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "the catalog's Claude Code Agent Skills core row remains qualified as beta"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cursor-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "the user must approve skill activation before it can access bundled resources"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-agent-skills-best-practices",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/skill-references-assets",
      "markdown": "/features/skill-references-assets.md",
      "json": "/api/v1/features/skill-references-assets.json"
    },
    {
      "title": "Agent Skills scripts",
      "description": "Resolve and execute optional scripts included with an Agent Skill under explicit runtime policy. This is tracked as an independent compatibility claim.",
      "slug": "skill-scripts",
      "locale": "en",
      "seoTitle": "Agent Skills scripts compatibility — Can My Agent Use",
      "socialTitle": "Agent Skills scripts",
      "socialDescription": "Resolve and execute optional scripts included with an Agent Skill under explicit runtime policy. Unreviewed product cells remain unknown.",
      "llmSummary": "Agent Skills scripts is atomic and does not follow automatically from broader agent-skills support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "agent-skills"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Resolve and execute optional scripts included with an Agent Skill under explicit runtime policy.",
      "specLabel": "Agent Skills specification",
      "specification": {
        "id": "agent-skills",
        "revision": "living",
        "maturity": "published convention",
        "role": "component",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agentskills.io/specification"
      },
      "aliases": [
        "skill scripts"
      ],
      "capabilityKind": "atomic",
      "parent": "agent-skills",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code skills can bundle executable scripts, reference them relative to the skill directory, and run them through Claude Code's permission-governed tools."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor documents executable `scripts/` contents in any language supported by the agent environment and shows the agent running referenced scripts."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents bundled executable scripts, per-activation user consent, and a worked example that executes a skill's JavaScript helper."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code documents skills containing scripts and points to terminal approval and allow-list controls for script execution."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Agent Skills scripts reference",
          "href": "https://agentskills.io/specification",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-skills",
          "title": "Anthropic — Extend Claude with skills",
          "href": "https://code.claude.com/docs/en/slash-commands",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Add supporting files; generate visual output"
        },
        {
          "id": "cursor-agent-skills",
          "title": "Cursor — Agent Skills",
          "href": "https://prod.cursor.com/docs/skills",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Including scripts in skills"
        },
        {
          "id": "gemini-creating-agent-skills",
          "title": "Gemini CLI — Creating Agent Skills",
          "href": "https://geminicli.com/docs/cli/creating-skills/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Add the tool logic; test the skill"
        },
        {
          "id": "vscode-agent-skills",
          "title": "Visual Studio Code — Use Agent Skills",
          "href": "https://code.visualstudio.com/docs/agent-customization/agent-skills",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Agent Skills versus custom instructions; use shared skills"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "the catalog's Claude Code Agent Skills core row remains qualified as beta"
                },
                {
                  "type": "policy",
                  "value": "script execution remains governed by the active tool permissions and workspace trust"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "actual execution depends on the agent's tool permissions and available language runtime"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "the user must approve each skill activation before the skill can execute scripts or access files"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-creating-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "script execution uses VS Code's terminal tool and remains subject to approval or configured allow-list controls"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/skill-scripts",
      "markdown": "/features/skill-scripts.md",
      "json": "/api/v1/features/skill-scripts.json"
    },
    {
      "title": "AGENTS.md root instructions",
      "description": "Discover and apply the cross-agent AGENTS.md convention at repository scope. This is tracked as an independent compatibility claim.",
      "slug": "agents-md",
      "locale": "en",
      "seoTitle": "AGENTS.md root instructions compatibility — Can My Agent Use",
      "socialTitle": "AGENTS.md root instructions",
      "socialDescription": "Discover and apply the cross-agent AGENTS.md convention at repository scope. Unreviewed product cells remain unknown.",
      "llmSummary": "AGENTS.md root instructions is atomic and does not follow automatically from broader instructions support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "instructions"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Discover and apply the cross-agent AGENTS.md convention at repository scope.",
      "specLabel": "AGENTS.md convention",
      "specification": {
        "id": "agents-md",
        "revision": "living",
        "maturity": "published convention",
        "role": "instruction file",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agents.md"
      },
      "aliases": [
        "AGENTS.md"
      ],
      "capabilityKind": "atomic",
      "parent": "instructions",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenAI documents automatic AGENTS.md discovery from the project root for Codex."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor documents AGENTS.md in the project root as an automatically applied plain-Markdown alternative to Cursor Rules."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Microsoft documents automatic AGENTS.md detection at the VS Code workspace root."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini CLI can load AGENTS.md through its configurable context.fileName setting; AGENTS.md is not the default filename."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: GitHub documents AGENTS.md discovery by Copilot CLI at the repository root and other standard locations."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Cline documents AGENTS.md as a detected cross-tool rule format at the workspace root."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Windsurf documents root AGENTS.md files as always-on workspace rules."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Zed documents project AGENTS.md as an automatically loaded project instruction file."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "AGENTS.md root instructions reference",
          "href": "https://agents.md",
          "kind": "spec"
        },
        {
          "id": "openai-codex-agents-md",
          "title": "OpenAI — Custom instructions with AGENTS.md",
          "href": "https://learn.chatgpt.com/docs/agent-configuration/agents-md",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How Codex discovers guidance"
        },
        {
          "id": "cursor-rules-agents-md",
          "title": "Cursor — Rules",
          "href": "https://prod.cursor.com/docs/rules",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "AGENTS.md"
        },
        {
          "id": "microsoft-vscode-custom-instructions",
          "title": "Microsoft — Use custom instructions in VS Code",
          "href": "https://code.visualstudio.com/docs/agent-customization/custom-instructions",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use an AGENTS.md file"
        },
        {
          "id": "google-gemini-context-files",
          "title": "Google — Provide context with GEMINI.md files",
          "href": "https://geminicli.com/docs/cli/gemini-md/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Customize the context file name"
        },
        {
          "id": "github-copilot-cli-custom-instructions",
          "title": "GitHub — Adding custom instructions for Copilot CLI",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported instruction locations"
        },
        {
          "id": "cline-rules-agents-md",
          "title": "Cline — Rules",
          "href": "https://docs.cline.bot/customization/cline-rules",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported rule types and where rules live"
        },
        {
          "id": "windsurf-rules-agents-md",
          "title": "Windsurf — Memories and Rules",
          "href": "https://docs.windsurf.com/windsurf/cascade/memories",
          "kind": "docs",
          "publisher": "Windsurf",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Rules scope table"
        },
        {
          "id": "zed-agent-instructions",
          "title": "Zed — Agent instructions",
          "href": "https://zed.dev/docs/ai/instructions",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Project Instructions and Instruction File Support"
        }
      ],
      "support": [
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex AGENTS.md documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "openai-codex-agents-md",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Cursor Agent in the desktop workbench"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-rules-agents-md",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code custom-instructions documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-custom-instructions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI context-file documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "requires adding AGENTS.md to context.fileName because GEMINI.md is the default context filename"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-context-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI custom-instructions documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-custom-instructions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to the Cline editor agent and workspace-root AGENTS.md discovery"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-rules-agents-md",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "windsurf",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Windsurf Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "windsurf-rules-agents-md",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed Agent instructions documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Zed Agent rather than external agents or terminal threads"
                },
                {
                  "type": "runtime",
                  "value": "Zed uses the first matching project instruction filename in its documented priority list, so a higher-priority compatible rules file can supersede AGENTS.md"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-agent-instructions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/agents-md",
      "markdown": "/features/agents-md.md",
      "json": "/api/v1/features/agents-md.json"
    },
    {
      "title": "Artifact export",
      "description": "Download generated files and other artifacts from an agent product.",
      "slug": "artifact-export",
      "locale": "en",
      "seoTitle": "Artifact export compatibility — Can My Agent Use",
      "socialTitle": "Artifact export",
      "socialDescription": "Compare downloading generated files and other agent artifacts.",
      "llmSummary": "Artifact export means a product lets the user download generated files or other documented outputs beyond the visible chat text.",
      "audience": "Teams moving agent output into durable systems and downstream workflows.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "collaboration",
        "portability",
        "artifacts",
        "export"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "collaboration",
      "summary": "Download generated files and other documented outputs.",
      "specLabel": "Common product term",
      "aliases": [
        "download artifacts",
        "generated files",
        "file export"
      ],
      "capabilityKind": "atomic",
      "parent": "collaboration-and-portability",
      "related": [
        "conversation-export",
        "git-pull-requests",
        "subagent-result-handoff"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Grok Bot can return documents, spreadsheets, slide decks, folders, screenshots, logs, and other generated files as conversation cards that the operator can preview and save; the reviewed page does not establish full workspace archive or provenance export."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: ChatGPT Work can create documents, presentations, spreadsheets, and PDFs in a task; the web surface supports review and download, while the desktop app provides artifact previews and local file access. Neither reviewed page establishes a complete workspace archive with checksums and provenance."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude can create and download XLSX, PPTX, DOCX, and PDF files on its web and desktop surfaces, subject to a 30 MB file limit. The reviewed page does not establish complete run-provenance or workspace-archive export."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openai-artifacts-viewer",
          "title": "OpenAI — Artifacts and previews in ChatGPT Work",
          "href": "https://learn.chatgpt.com/docs/artifacts-viewer",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Create files; review and download; preview capabilities"
        },
        {
          "id": "xai-grok-bot-files",
          "title": "xAI — Grok Bot files and results",
          "href": "https://docs.x.ai/grok-bot/files-and-results",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Preview generated work"
        },
        {
          "id": "anthropic-create-edit-files",
          "title": "Anthropic Help Center — Create and edit files with Claude",
          "href": "https://support.claude.com/en/articles/12111783-create-and-edit-files-with-claude",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported file types; download files"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supported generated files can be previewed and saved from conversation cards; a complete workspace archive or repository transfer is not documented"
                },
                {
                  "type": "policy",
                  "value": "citations, action logs, and source links must be requested or produced by the workflow and are not guaranteed metadata on every artifact"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "generated documents, presentations, spreadsheets, and PDFs can be reviewed and downloaded from the web artifact viewer"
                },
                {
                  "type": "policy",
                  "value": "a complete task or workspace archive with checksums, stable provenance, and re-import is not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-artifacts-viewer",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the desktop app previews generated documents, presentations, spreadsheets, PDFs, and HTML, with artifacts available as local task files"
                },
                {
                  "type": "policy",
                  "value": "a complete task or workspace archive with checksums, stable provenance, and re-import is not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-artifacts-viewer",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Claude can create and download XLSX, PPTX, DOCX, and PDF files, with a 30 MB per-file limit"
                },
                {
                  "type": "policy",
                  "value": "complete workspace transfer, checksums, and source or subagent provenance are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-create-edit-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Claude can create and download XLSX, PPTX, DOCX, and PDF files, with a 30 MB per-file limit"
                },
                {
                  "type": "policy",
                  "value": "complete workspace transfer, checksums, and source or subagent provenance are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-create-edit-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/artifact-export",
      "markdown": "/features/artifact-export.md",
      "json": "/api/v1/features/artifact-export.json"
    },
    {
      "title": "Audio file input",
      "description": "Upload recorded audio for use as model input.",
      "slug": "audio-file-input",
      "locale": "en",
      "seoTitle": "Audio file input compatibility — Can My Agent Use",
      "socialTitle": "Audio file input",
      "socialDescription": "Compare recorded-audio uploads, transcription support, and file limits.",
      "llmSummary": "Audio file input covers recorded uploads and is separate from realtime voice. Transcription, timestamps, speaker labels, and acoustic analysis are recorded as qualifiers only when documented.",
      "audience": "Engineers comparing recorded-audio and meeting workflows.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception",
        "audio",
        "uploads",
        "transcription"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Upload recorded audio for use as model input.",
      "specLabel": "Common product term",
      "aliases": [
        "audio input",
        "audio upload",
        "recording attachment",
        "speech transcription"
      ],
      "capabilityKind": "atomic",
      "parent": "file-inputs",
      "related": [
        "video-input",
        "realtime-voice",
        "upload-limits"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents direct audio uploads in Grok chats and describes transcription and interpretation of audio and video inputs; detailed formats, timing, diarization, and duration limits are not stated on the reviewed FAQ page."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot lists audio among common supported inputs and documents a 25 MB per-audio-file limit, but the reviewed page does not specify transcript, speaker, timing, or acoustic fidelity."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini Apps accept audio uploads and document total audio-duration limits of 10 minutes without a Google AI plan or 3 hours with Google AI Pro or Ultra. The reviewed page does not define diarization, timestamp, transcript, or acoustic-understanding fidelity."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Perplexity web file uploads accept MPEG, WAV, AIFF, OGG, FLAC, and MP3 audio, automatically transcribe spoken content, and can identify and label speakers. The general file-upload page documents a 40 MB per-file limit."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Gemini CLI custom commands encode a supported audio path referenced with @{...} and inject it as multimodal input. The reviewed page does not enumerate audio formats or establish transcript, timestamp, diarization, or acoustic-analysis fidelity."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-files-faq",
          "title": "xAI — Grok files and data FAQ",
          "href": "https://docs.x.ai/grok/faq",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Files & Data"
        },
        {
          "id": "xai-grok-bot-files",
          "title": "xAI — Grok Bot files and results",
          "href": "https://docs.x.ai/grok-bot/files-and-results",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Attach files"
        },
        {
          "id": "google-gemini-upload-files",
          "title": "Google Gemini Apps Help — Upload and analyze files",
          "href": "https://support.google.com/gemini/answer/14903178?co=GENIE.Platform%3DDesktop&hl=en",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Upload and analyze files; upload limits"
        },
        {
          "id": "perplexity-file-uploads",
          "title": "Perplexity Help Center — File uploads",
          "href": "https://www.perplexity.ai/help-center/en/articles/10354807-file-uploads",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Audio files; supported file types and size"
        },
        {
          "id": "gemini-cli-custom-commands",
          "title": "Gemini CLI — Custom commands",
          "href": "https://geminicli.com/docs/cli/custom-commands/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Injecting file content with @{...}; multimodal support"
        }
      ],
      "support": [
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "transcription and interpretation are documented, but accepted formats, diarization, timestamp, and native-audio fidelity are not specified on the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-files-faq",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "audio is a supported attachment up to 25 MB, but transcript, speaker, timing, and acoustic semantics are not documented on the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "direct audio upload and analysis are documented"
                },
                {
                  "type": "plan",
                  "value": "total audio is limited to 10 minutes without a Google AI plan and 3 hours with Google AI Pro or Ultra"
                },
                {
                  "type": "runtime",
                  "value": "accepted audio formats, diarization, timestamps, transcript fidelity, and native acoustic semantics are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "direct audio uploads are automatically transcribed; the documented formats are MPEG, WAV, AIFF, OGG, FLAC, and MP3, with a 40 MB general per-file limit"
                },
                {
                  "type": "runtime",
                  "value": "speaker identification and labels are documented, but timestamps and non-speech acoustic or prosody fidelity are not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-file-uploads",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI custom-command documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supported audio files referenced with @{...} inside a custom command are encoded and injected as multimodal input"
                },
                {
                  "type": "runtime",
                  "value": "accepted audio formats, ordinary-prompt attachment methods, transcripts, timestamps, diarization, and acoustic semantics are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-cli-custom-commands",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/audio-file-input",
      "markdown": "/features/audio-file-input.md",
      "json": "/api/v1/features/audio-file-input.json"
    },
    {
      "title": "Audit logs",
      "description": "Record security-relevant activity in an administrative audit log.",
      "slug": "audit-logs",
      "locale": "en",
      "seoTitle": "Audit log compatibility — Can My Agent Use",
      "socialTitle": "Audit logs",
      "socialDescription": "Compare documented administrative audit logs and their event coverage.",
      "llmSummary": "Audit logs are product-provided administrative records of security-relevant activity; ordinary conversation history is not automatically an audit log.",
      "audience": "Security operations, compliance, and platform teams.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "audit",
        "observability",
        "enterprise"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Record security-relevant activity in an administrative audit log.",
      "specLabel": "Common product term",
      "aliases": [
        "activity log",
        "security log",
        "admin audit"
      ],
      "capabilityKind": "atomic",
      "parent": "data-security-controls",
      "related": [
        "admin-policy-controls",
        "subagent-approval-boundaries",
        "conversation-export"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI's Grok Bot team documentation says spend and usage are visible in the dashboard but an audit view of Bot actions is still coming. Conversation transcripts expose activity but do not satisfy this row's exportable security-event audit-log definition."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: OpenAI's Enterprise Compliance API provides an append-only compliance log stream and JSONL download workflow for supported workspace records, including correlation with Codex activity. The live API reference—not the overview page—owns current event coverage, fields, retention, and permissions."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude Enterprise Owners can export the previous 180 days of organization audit events with actor, entity, IP, device, user-agent, and event fields. Chat and project content are excluded from audit logs, and customer-managed encryption key organizations use the Compliance API instead of the export button."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-bot-team-audit",
          "title": "xAI — Grok Bot for teams and enterprises",
          "href": "https://docs.x.ai/grok-bot/teams-and-enterprises",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Can I see what Bots did on behalf of my team?"
        },
        {
          "id": "openai-compliance-api",
          "title": "OpenAI — Compliance API and audit events",
          "href": "https://learn.chatgpt.com/docs/enterprise/compliance-api",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "When to use the Compliance API; download logs; administration boundaries"
        },
        {
          "id": "anthropic-audit-logs",
          "title": "Anthropic Help Center — Access audit logs",
          "href": "https://support.claude.com/en/articles/9970975-access-audit-logs",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Export logs; log structure; recorded events"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "spend and usage are visible today; the documented Bot-action audit view is not yet available"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-team-audit",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "planned"
            }
          ]
        },
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Enterprise documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise Compliance API access and appropriate administrator permissions are required"
                },
                {
                  "type": "runtime",
                  "value": "supported append-only compliance records can be collected continuously or downloaded as JSONL for a SIEM, data lake, investigation, retention, or legal-hold workflow"
                },
                {
                  "type": "policy",
                  "value": "exact event coverage, schemas, filters, retention, and request mechanics are delegated to the live API reference and are not established by the overview page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-compliance-api",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Enterprise documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise Compliance API access and appropriate administrator permissions are required"
                },
                {
                  "type": "policy",
                  "value": "coverage follows the workspace and products represented in the current API reference; this overview does not guarantee every local file, tool, approval, or subagent event"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-compliance-api",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Codex Enterprise documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise Compliance API access and ChatGPT workspace authentication are required; API-key-only Codex use follows separate Platform controls"
                },
                {
                  "type": "runtime",
                  "value": "the overview explicitly supports correlating Codex activity, but the current API reference owns exact local-client event coverage and retention"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-compliance-api",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise Owner or Primary Owner access is required; the export aggregates the prior 180 days and its download link remains active for 24 hours"
                },
                {
                  "type": "runtime",
                  "value": "logs include actor, event, entity, IP, device, user-agent, and related fields; chat and project titles and content are excluded and represented by identifiers"
                },
                {
                  "type": "policy",
                  "value": "organizations using customer-managed encryption keys must use Compliance API events instead of the Export logs button"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-audit-logs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise Owner or Primary Owner access is required; the organization export aggregates the prior 180 days"
                },
                {
                  "type": "runtime",
                  "value": "client and device metadata may appear when available, but chat content is excluded and the reviewed page does not establish complete local tool, approval, or subagent event coverage"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-audit-logs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/audit-logs",
      "markdown": "/features/audit-logs.md",
      "json": "/api/v1/features/audit-logs.json"
    },
    {
      "title": "Automatic context compaction",
      "description": "Continue a long-running session by summarizing, pruning, or otherwise compacting older context.",
      "slug": "automatic-context-compaction",
      "locale": "en",
      "seoTitle": "Automatic context compaction compatibility — Can My Agent Use",
      "socialTitle": "Automatic context compaction",
      "socialDescription": "Compare automatic summarization, pruning, and continuation of long-running sessions.",
      "llmSummary": "Automatic context compaction lets a harness reduce older context to continue a run; it must be distinguished from silent truncation and from user-triggered compaction.",
      "audience": "Engineers evaluating long-running agent reliability.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "context",
        "compaction",
        "summarization",
        "runtime"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Continue long sessions by automatically summarizing or pruning older context.",
      "specLabel": "Common product term",
      "aliases": [
        "context summarization",
        "auto compact",
        "conversation compression"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "context-window",
        "context-compaction-controls",
        "long-term-memory"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code documents auto-compaction that summarizes conversation history as context limits approach."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents automatic chat-history compression near the configured model's limit and exposes a configurable compression threshold."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI documents automatic background compaction beginning at roughly 80% context usage and waiting for completion if usage reaches roughly 95%."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code documents automatic conversation-history compaction when the context window fills."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cursor documents automatic summarization of older messages when a conversation exceeds the selected model's context window."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-code-costs",
          "title": "Anthropic — Manage Claude Code costs",
          "href": "https://code.claude.com/docs/en/costs",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-core",
          "title": "Google — Gemini CLI core",
          "href": "https://geminicli.com/docs/core/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-settings",
          "title": "Google — Gemini CLI settings",
          "href": "https://geminicli.com/docs/cli/settings/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-context-management",
          "title": "GitHub — Managing context in Copilot CLI",
          "href": "https://docs.github.com/en/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli/context-management",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "When compaction happens"
        },
        {
          "id": "microsoft-vscode-session-context",
          "title": "Microsoft — Manage agent sessions in VS Code",
          "href": "https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Compact conversation context"
        },
        {
          "id": "cursor-chat-summarization",
          "title": "Cursor — Summarization",
          "href": "https://docs.cursor.com/en/agent/chat/summarization",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Message summarization"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "auto-compaction summarizes history when approaching context limits; retained-state reliability still requires boundary testing"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-costs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the core automatically compresses chat history near the model limit; model.compressionThreshold controls the trigger and defaults to 0.5"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-core",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "google-gemini-cli-settings",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI context-management documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "background compaction begins at approximately 80% of the selected model's context window and the run can pause near 95% until compaction finishes"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-context-management",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code agent-session documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "automatic compaction occurs when context fills and can be disabled with github.copilot.chat.summarizeAgentConversationHistory.enabled"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-session-context",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor chat-summarization documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Cursor summarizes older messages as chats exceed the model context window and separately condenses oversized files and folders"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-chat-summarization",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/automatic-context-compaction",
      "markdown": "/features/automatic-context-compaction.md",
      "json": "/api/v1/features/automatic-context-compaction.json"
    },
    {
      "title": "Background agents",
      "description": "Keep a run going after the operator leaves the session.",
      "slug": "background-agents",
      "locale": "en",
      "seoTitle": "Background agents — Can My Agent Use",
      "socialTitle": "Background agents",
      "socialDescription": "Compare background execution by exact product surface.",
      "llmSummary": "Background agents continue running after the operator leaves the active session. Hosting, subscription, duration, and notification behavior are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Keep a run going after the operator leaves the session.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop can connect to hosted OpenWork Cloud workers; the background-run claim is conditional on that remote worker and an active Cloud subscription."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot runs from a persistent cloud computer, continues when the desktop preview or operator laptop is closed, and can run scheduled routines in the background."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor Desktop can start Cloud Agents in isolated hosted VMs that do not require the local machine to remain connected."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code can hand a task to a cloud agent on GitHub infrastructure, after which the operator can close VS Code and return later to the pull request."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Replit Agent supports plan-limited background tasks in isolated task threads, but the reviewed page does not explicitly promise continuation after the browser is closed."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Warp can hand work to Oz cloud agents that run in the background on hosted or customer infrastructure."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openwork-cloud-workers",
          "title": "OpenWork — Get started with OpenWork Cloud",
          "href": "https://openworklabs.com/docs/cloud/get-started",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-background",
          "title": "xAI — Grok Bot computer and apps",
          "href": "https://docs.x.ai/grok-bot/computer-and-apps",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Watch computer work"
        },
        {
          "id": "cursor-cloud-background",
          "title": "Cursor — Cloud Agents",
          "href": "https://cursor.com/docs/cloud-agent",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Why use Cloud Agents and how to access"
        },
        {
          "id": "vscode-cloud-background",
          "title": "Microsoft — Agent sessions and where agents run",
          "href": "https://code.visualstudio.com/learn/foundations/agent-sessions-and-where-agents-run",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Cloud agents"
        },
        {
          "id": "replit-background-tasks",
          "title": "Replit — Agent task system",
          "href": "https://docs.replit.com/core-concepts/agent/task-system",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Background-task availability and task states"
        },
        {
          "id": "warp-cloud-background",
          "title": "Warp — Getting started with Warp and Oz",
          "href": "https://docs.warp.dev/",
          "kind": "docs",
          "publisher": "Warp",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Oz cloud agents"
        }
      ],
      "support": [
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork Cloud documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "active OpenWork Cloud subscription required"
                },
                {
                  "type": "runtime",
                  "value": "work runs on a connected hosted worker rather than the local desktop process"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-cloud-workers",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "work runs on an account-scoped hosted computer and can continue after the desktop preview or operator laptop is closed"
                },
                {
                  "type": "plan",
                  "value": "an eligible SuperGrok or Cursor plan is required"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-background",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Cloud Agents documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Cursor Desktop starts a separate Cloud Agent VM; the default local desktop agent is not itself detached"
                },
                {
                  "type": "plan",
                  "value": "a paid Cursor plan and connected source-control account are required"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-cloud-background",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code cloud-agent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "continuation after closing VS Code is supplied by a cloud session on GitHub infrastructure rather than the local Copilot process"
                },
                {
                  "type": "policy",
                  "value": "availability depends on eligible account, repository, and organization settings"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-cloud-background",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "replit-agent",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Replit Agent task-system documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Core supports one active background task and Pro supports up to ten"
                },
                {
                  "type": "runtime",
                  "value": "background task isolation and queuing are documented, but continuation after closing the web session is not explicitly stated"
                }
              ],
              "evidence": [
                {
                  "resourceId": "replit-background-tasks",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "warp",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Warp and Oz documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "background execution is provided by an Oz cloud agent on Warp-hosted or customer infrastructure rather than the default local Warp agent"
                }
              ],
              "evidence": [
                {
                  "resourceId": "warp-cloud-background",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/background-agents",
      "markdown": "/features/background-agents.md",
      "json": "/api/v1/features/background-agents.json"
    },
    {
      "title": "Browser automation",
      "description": "Control a browser for navigation, clicks, forms, and page reading.",
      "slug": "browser-automation",
      "locale": "en",
      "seoTitle": "Browser automation — Can My Agent Use",
      "socialTitle": "Browser automation",
      "socialDescription": "Compare browser navigation, click, form, page-reading, and screenshot support.",
      "llmSummary": "Browser automation controls a web browser for navigation and page interaction. Browser-only automation is distinct from general operating-system control.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "tools"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Control a browser for navigation, clicks, forms, and page reading.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop can open pages, click, fill forms, read content, and take screenshots through the enabled first-party OpenWork Browser."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot's persistent cloud computer includes a browser that a Bot can navigate and use; the operator can watch clicks, typing, navigation, and status or take over for sensitive steps."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor Agent can navigate, click, type, scroll, and capture screenshots in its integrated browser."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code agents can navigate, read, screenshot, click, type, hover, drag, and handle dialogs in the integrated browser."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Devin provides native browser tools and a Chrome CDP endpoint for Playwright-driven navigation, form filling, clicks, and redirects inside its hosted session."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Replit Agent App Testing navigates, clicks, enters mock data, validates forms and workflows, and records browser replays for supported web-app types."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openwork-browser-automation",
          "title": "OpenWork — Control the browser",
          "href": "https://openworklabs.com/docs/start-here/do-work-with-it/control-the-browser",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-browser",
          "title": "xAI — Grok Bot computer and apps",
          "href": "https://docs.x.ai/grok-bot/computer-and-apps",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-browser-automation",
          "title": "Cursor — Browser tools",
          "href": "https://prod.cursor.com/docs/agent/tools/browser",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Browser actions"
        },
        {
          "id": "vscode-browser-automation",
          "title": "Microsoft — Use browser tools with agents",
          "href": "https://code.visualstudio.com/docs/agents/run/browser-tools",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Browser tools and interactions"
        },
        {
          "id": "devin-browser-automation",
          "title": "Devin — Computer Use",
          "href": "https://docs.devin.ai/work-with-devin/computer-use",
          "kind": "docs",
          "publisher": "Cognition",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Scripted browser use via Playwright"
        },
        {
          "id": "replit-browser-automation",
          "title": "Replit — App Testing",
          "href": "https://docs.replit.com/features/agent/app-testing",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Testing process and key capabilities"
        }
      ],
      "support": [
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork Browser documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "first-party OpenWork Browser only"
                },
                {
                  "type": "policy",
                  "value": "OpenWork Browser extension must be enabled"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-browser-automation",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "automation runs in the persistent cloud computer's browser rather than the operator's local browser"
                },
                {
                  "type": "policy",
                  "value": "passwords, passkeys, verification codes, CAPTCHAs, payments, and human-required steps should use operator takeover"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-browser",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor browser-tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "automation is scoped to Cursor's integrated browser rather than arbitrary desktop applications"
                },
                {
                  "type": "policy",
                  "value": "enterprise MCP origin policy can restrict browser access"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-browser-automation",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code browser-tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "automation is scoped to the VS Code integrated browser"
                },
                {
                  "type": "policy",
                  "value": "organization policy can disable browser tools"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-browser-automation",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "devin-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Devin Computer Use documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "actions run in Devin's hosted Chrome session, including native browser tools or Playwright attached through the documented CDP endpoint"
                },
                {
                  "type": "policy",
                  "value": "authentication, MFA, and CAPTCHA steps can require operator takeover"
                }
              ],
              "evidence": [
                {
                  "resourceId": "devin-browser-automation",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "replit-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Replit Agent App Testing documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "automation is limited to testing web applications built in the Replit project preview"
                },
                {
                  "type": "plan",
                  "value": "App Testing is enabled for Economy or Power mode and disabled in Lite mode"
                },
                {
                  "type": "policy",
                  "value": "currently limited to Full Stack JavaScript and Streamlit Python web applications; login or CAPTCHA roadblocks can require takeover"
                }
              ],
              "evidence": [
                {
                  "resourceId": "replit-browser-automation",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/browser-automation",
      "markdown": "/features/browser-automation.md",
      "json": "/api/v1/features/browser-automation.json"
    },
    {
      "title": "Code execution",
      "description": "Run generated code in a documented execution environment.",
      "slug": "code-execution",
      "locale": "en",
      "seoTitle": "Code execution — Can My Agent Use",
      "socialTitle": "Code execution",
      "socialDescription": "Compare documented code-execution environments, permissions, and isolation.",
      "llmSummary": "Code execution runs generated code in a product-provided environment. Sandbox isolation, workspace access, permissions, language support, and persistence are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "tools"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Run generated code in a documented execution environment.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop runs OpenCode and the OpenWork server against a selected workspace and documents shell execution as a permission-sensitive primitive; default sandbox isolation is not established."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openwork-code-execution",
          "title": "OpenWork — Architecture",
          "href": "https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork architecture documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "local workspace execution is documented; default sandbox isolation is not"
                },
                {
                  "type": "policy",
                  "value": "execution is constrained by workspace and approval configuration"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-code-execution",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/code-execution",
      "markdown": "/features/code-execution.md",
      "json": "/api/v1/features/code-execution.json"
    },
    {
      "title": "Collaboration",
      "description": "Group conversation sharing, shared workspaces, access control, and data export.",
      "slug": "collaboration-and-portability",
      "locale": "en",
      "seoTitle": "Collaboration feature coverage — Can My Agent Use",
      "socialTitle": "Collaboration feature coverage",
      "socialDescription": "Compare conversation sharing, shared workspaces, access control, and data export.",
      "llmSummary": "Collaboration is an internal catalog grouping for conversation sharing, shared workspaces, role-based access control, conversation export, and artifact export.",
      "audience": "Teams evaluating collaborative workflows and exit paths.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "collaboration",
        "sharing",
        "portability",
        "teams"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "collaboration",
      "summary": "Group sharing, shared workspace, access-control, and export questions.",
      "specLabel": "Catalog grouping",
      "aliases": [
        "team collaboration",
        "sharing and export"
      ],
      "capabilityKind": "family",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        }
      ],
      "support": [],
      "html": "/features/collaboration-and-portability",
      "markdown": "/features/collaboration-and-portability.md",
      "json": "/api/v1/features/collaboration-and-portability.json"
    },
    {
      "title": "Computer use",
      "description": "Interact with a visual interface using screenshots, clicks, typing, and navigation.",
      "slug": "computer-use",
      "locale": "en",
      "seoTitle": "Computer use compatibility — Can My Agent Use",
      "socialTitle": "Can my agent use a computer interface?",
      "socialDescription": "Compare screenshot-informed visual interaction by exact product surface.",
      "llmSummary": "Computer use is screenshot-informed interaction with a graphical interface through input actions. Browser-only and general desktop control are recorded separately.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "browser",
        "visual-interaction"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Inspect and act on a visual interface through screenshots and input actions.",
      "specLabel": "Common product term",
      "aliases": [
        "GUI automation",
        "visual browser",
        "browser control"
      ],
      "capabilityKind": "atomic",
      "related": [
        "browser-automation",
        "screenshots"
      ],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: ChatGPT Work can use a separate cloud browser to read pages, click, enter form data, and continue supported tasks, but access varies by paid plan, region, rollout, and workspace permission."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor Agent can navigate, click, type, scroll, and capture screenshots in its integrated browser; this is browser control, not general operating-system GUI control."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: VS Code agents can navigate, read, screenshot, click, type, hover, drag, and handle dialogs in the integrated browser; organization policy can disable the tools."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop's first-party browser can open pages, click, fill forms, read page content, and take screenshots; OpenWork explicitly distinguishes this from general operating-system control."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Grok Bot exposes a persistent hosted computer with browser and desktop tools. The operator can watch clicks, typing, and navigation, take over sensitive steps, and let work continue after closing the preview."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Devin's hosted session exposes a full desktop environment and native Computer Use for browser and desktop-app testing, including Electron applications."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Replit Agent visually clicks, navigates, enters mock data, and validates applications in a real browser preview; it does not establish general operating-system control."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "openai-cloud-browser",
          "title": "OpenAI — Using cloud browser in ChatGPT",
          "href": "https://help.openai.com/en/articles/20001280-using-cloud-browser-in-chatgpt",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-browser",
          "title": "Cursor — Browser tools",
          "href": "https://prod.cursor.com/docs/agent/tools/browser",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-browser-tools",
          "title": "Visual Studio Code — Use browser tools with agents",
          "href": "https://code.visualstudio.com/docs/agents/run/browser-tools",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openwork-browser",
          "title": "OpenWork — Control the browser",
          "href": "https://openworklabs.com/docs/start-here/do-work-with-it/control-the-browser",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-computer",
          "title": "xAI — Grok Bot computer and apps",
          "href": "https://docs.x.ai/grok-bot/computer-and-apps",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "devin-computer-use",
          "title": "Devin — Computer Use",
          "href": "https://docs.devin.ai/work-with-devin/computer-use",
          "kind": "docs",
          "publisher": "Cognition",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Desktop and Electron application testing"
        },
        {
          "id": "replit-app-testing-computer-use",
          "title": "Replit — App Testing",
          "href": "https://docs.replit.com/features/agent/app-testing",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Testing process and key capabilities"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "paid ChatGPT plan required"
                },
                {
                  "type": "region",
                  "value": "supported regions only"
                },
                {
                  "type": "policy",
                  "value": "workspace permission and site restrictions apply"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-cloud-browser",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor browser documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "integrated browser only"
                },
                {
                  "type": "policy",
                  "value": "enterprise MCP origin policy can restrict access"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-browser",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code browser-tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "integrated browser only"
                },
                {
                  "type": "policy",
                  "value": "organization policy can disable browser tools"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-browser-tools",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork Browser documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "first-party OpenWork Browser only; no general desktop-app control"
                },
                {
                  "type": "policy",
                  "value": "OpenWork Browser extension must be enabled"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-browser",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "computer use runs on an account-scoped hosted Linux VM; all Bots for the account share its files, sessions, and credentials"
                },
                {
                  "type": "policy",
                  "value": "one Bot can run one computer-use task on its screen at a time; sensitive steps should use operator takeover"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-computer",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "devin-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Devin Computer Use documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "computer use runs inside Devin's hosted desktop environment rather than on the operator's local computer"
                },
                {
                  "type": "policy",
                  "value": "authentication, MFA, and CAPTCHA steps can require operator takeover"
                }
              ],
              "evidence": [
                {
                  "resourceId": "devin-computer-use",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "replit-agent",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Replit Agent App Testing documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "visual interaction is limited to the Replit project browser preview and does not include general desktop-app or operating-system control"
                },
                {
                  "type": "plan",
                  "value": "App Testing is enabled for Economy or Power mode and disabled in Lite mode"
                },
                {
                  "type": "policy",
                  "value": "currently limited to Full Stack JavaScript and Streamlit Python web applications"
                }
              ],
              "evidence": [
                {
                  "resourceId": "replit-app-testing-computer-use",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/computer-use",
      "markdown": "/features/computer-use.md",
      "json": "/api/v1/features/computer-use.json"
    },
    {
      "title": "Concurrent subagents",
      "description": "Run more than one child-agent task at the same time with documented concurrency and queue limits.",
      "slug": "subagent-concurrency",
      "locale": "en",
      "seoTitle": "Concurrent subagents compatibility — Can My Agent Use",
      "socialTitle": "Concurrent subagents",
      "socialDescription": "Compare parallel child-agent execution, queueing, and concurrency limits.",
      "llmSummary": "Concurrent subagents means multiple child-agent tasks can overlap in time; sequential delegation, tool-call parallelism, and background shell processes are separate behaviors.",
      "audience": "Engineers comparing multi-agent throughput and coordination.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents",
        "concurrency",
        "delegation"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Run multiple child-agent tasks concurrently with explicit queue and fan-out limits.",
      "specLabel": "Common product term",
      "aliases": [
        "parallel subagents",
        "agent fan-out",
        "concurrent child agents"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [
        "subagent-delegation",
        "nested-subagents",
        "subagent-context-isolation"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code documents multiple foreground or background subagents, describes parallel subagent work, and exposes live subagents in the `/agents` panel and background work in `/tasks`."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: ChatGPT Work and local Codex can run specialized agents in parallel; local Codex configuration exposes a maximum concurrent spawned-thread setting."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor can send multiple Task calls in one parent turn so subagents run simultaneously; isolated worktrees or cloud environments are available for parallel writers."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI documents plan-based concurrent-subagent limits from 2 to 32 and a usage-billing override capped at 32."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: VS Code explicitly documents spawning multiple subagents in parallel and provides examples that run several specialized reviewers concurrently."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-parallel-agents",
          "title": "Anthropic — Run agents in parallel",
          "href": "https://code.claude.com/docs/en/agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Choose an approach; check on running work"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/sub-agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Run subagents in foreground or background"
        },
        {
          "id": "openai-subagents",
          "title": "OpenAI — Subagents in ChatGPT and Codex",
          "href": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-subagents",
          "title": "Cursor — Subagents",
          "href": "https://cursor.com/docs/subagents",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-reference",
          "title": "GitHub — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Parallel code analysis; orchestration patterns"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "available to eligible accounts; the reviewed page establishes parallel execution but does not publish a numeric web fan-out cap"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "local Codex supports parallel child threads; agents.max_concurrent_threads_per_session caps spawned threads and excludes the primary thread"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "agents.max_concurrent_threads_per_session caps spawned threads and excludes the primary; leaving it unset delegates the default to Codex"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "multiple Task calls can start simultaneously; shared-checkout writers can collide unless worktree or cloud isolation is requested"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "default concurrent limits are 2 Free/Education, 4 Pro/Pro+, 8 Max, 16 Business, and 32 Enterprise; usage-based billing can configure up to 32"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-reference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code parallel-agent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "running several subagents at once multiplies token use and shares the account's rate limits"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-parallel-agents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to GitHub Copilot's local VS Code agent surface; published documentation does not state a fixed maximum parallel-child count"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-concurrency",
      "markdown": "/features/subagent-concurrency.md",
      "json": "/api/v1/features/subagent-concurrency.json"
    },
    {
      "title": "Connectors",
      "description": "Connect to mail, chat, files, calendars, and other authorized services.",
      "slug": "connectors",
      "locale": "en",
      "seoTitle": "Connectors — Can My Agent Use",
      "socialTitle": "Connectors",
      "socialDescription": "Compare connector availability, authentication, scope, and organization policy.",
      "llmSummary": "Connectors provide documented access to external services authorized by the user or organization. Service coverage, authentication, read/write scope, and policy are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "tools"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Connect to external services authorized by the user or organization.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents a Grok connector catalog for services such as Box, GitHub, Notion, and Vercel, plus custom remote MCP connectors for publicly reachable servers."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot installs supported connectors from Settings → Plugins, authenticates them in the browser when required, and makes installed connectors available account-wide; organization policy can require, restrict, or disable them."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "xai-grok-connectors",
          "title": "xAI — Grok connectors",
          "href": "https://docs.x.ai/grok/connectors",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-computer-apps",
          "title": "xAI — Grok Bot computer and apps",
          "href": "https://docs.x.ai/grok-bot/computer-and-apps",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Connect an app"
        }
      ],
      "support": [
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web connector documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "catalog and custom connectors can require provider authentication and permissions"
                },
                {
                  "type": "transport",
                  "value": "custom MCP connectors must be remotely reachable; local-only servers require a separate tunnel"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-connectors",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "installed connectors may require browser authentication"
                },
                {
                  "type": "policy",
                  "value": "installed connectors are account-wide and may be required, restricted, or disabled by an organization administrator"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-computer-apps",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/connectors",
      "markdown": "/features/connectors.md",
      "json": "/api/v1/features/connectors.json"
    },
    {
      "title": "Context compaction controls",
      "description": "Trigger, inspect, configure, or disable the harness's context-compaction behavior.",
      "slug": "context-compaction-controls",
      "locale": "en",
      "seoTitle": "Context compaction controls compatibility — Can My Agent Use",
      "socialTitle": "Context compaction controls",
      "socialDescription": "Compare manual compact commands, retained-state inspection, thresholds, and opt-out controls.",
      "llmSummary": "Compaction controls cover operator actions such as manual compaction, threshold configuration, summary inspection, retained-item pinning, and disabling automatic compaction.",
      "audience": "Operators who need predictable long-session state.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "context",
        "compaction",
        "control"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Trigger, inspect, configure, or disable context compaction.",
      "specLabel": "Common product term",
      "aliases": [
        "manual compact",
        "compaction settings",
        "context pinning"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "automatic-context-compaction",
        "context-usage-visibility"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: ChatGPT desktop exposes /compact to compact the current chat context."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Code exposes /compact with an optional preservation instruction and also accepts durable compact instructions in CLAUDE.md."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI exposes /compress and a model.compressionThreshold setting whose documented default is 0.5."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI exposes `/compact` with optional focus instructions and lets the operator cancel manual compaction."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: VS Code exposes `/compact`, optional preservation instructions, a context-control action, and a setting that disables automatic compaction."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openai-slash-commands",
          "title": "OpenAI — ChatGPT desktop slash commands",
          "href": "https://learn.chatgpt.com/docs/reference/slash-commands",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-code-costs",
          "title": "Anthropic — Manage Claude Code costs",
          "href": "https://code.claude.com/docs/en/costs",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-commands",
          "title": "Google — Gemini CLI commands",
          "href": "https://geminicli.com/docs/cli/commands/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-settings",
          "title": "Google — Gemini CLI settings",
          "href": "https://geminicli.com/docs/cli/settings/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-context-management",
          "title": "GitHub — Managing context in Copilot CLI",
          "href": "https://docs.github.com/en/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli/context-management",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Compaction"
        },
        {
          "id": "microsoft-vscode-session-context",
          "title": "Microsoft — Manage agent sessions in VS Code",
          "href": "https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Compact conversation context"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/compact triggers compaction; summary inspection, threshold configuration, retained-item pinning, and disabling are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-slash-commands",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/compact can include task-specific preservation instructions; CLAUDE.md can define reusable compact guidance"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-costs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/compress replaces chat context with a high-level summary; model.compressionThreshold configures the automatic trigger fraction and defaults to 0.5"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-commands",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "google-gemini-cli-settings",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI context-management documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/compact accepts optional focus instructions and manual compaction can be canceled with Escape; the automatic threshold itself is not documented as configurable"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-context-management",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code agent-session documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "/compact accepts preservation instructions and automatic compaction can be disabled; threshold selection and retained-item pinning are not documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-session-context",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/context-compaction-controls",
      "markdown": "/features/context-compaction-controls.md",
      "json": "/api/v1/features/context-compaction-controls.json"
    },
    {
      "title": "Context usage",
      "description": "Show how much of the current context budget is used or remains.",
      "slug": "context-usage-visibility",
      "locale": "en",
      "seoTitle": "Context usage compatibility — Can My Agent Use",
      "socialTitle": "Context usage",
      "socialDescription": "Compare token meters, context inspectors, and budget warnings across harnesses.",
      "llmSummary": "Context usage means the product reports current context consumption or remaining capacity; exact counters, estimates, source breakdowns, and warnings are qualifiers.",
      "audience": "Operators diagnosing truncation, compaction, and unexpectedly expensive context.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "context",
        "tokens",
        "observability"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Inspect consumed or remaining context budget during a conversation or run.",
      "specLabel": "Common product term",
      "aliases": [
        "context meter",
        "token counter",
        "context inspector"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "context-window",
        "prompt-cache-telemetry",
        "usage-metering"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: ChatGPT desktop documents /status as showing context usage; the Codex CLI interface documents remaining context in its session footer."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Code documents /usage and a configurable status line for current token usage, plus /context for identifying major context consumers."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: VS Code's context-window control reports token count, percentage usage, category breakdown, and session AI credits for agent chats."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI documents `/context` as a token-usage visualization and breakdown of the current context window."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openai-slash-commands",
          "title": "OpenAI — ChatGPT desktop slash commands",
          "href": "https://learn.chatgpt.com/docs/reference/slash-commands",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openai-codex-cli",
          "title": "OpenAI — Codex CLI",
          "href": "https://learn.chatgpt.com/docs/codex/cli",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-code-costs",
          "title": "Anthropic — Manage Claude Code costs",
          "href": "https://code.claude.com/docs/en/costs",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "microsoft-vscode-session-context",
          "title": "Microsoft — Manage agent sessions in VS Code",
          "href": "https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Manage session context"
        },
        {
          "id": "github-copilot-cli-context-management",
          "title": "GitHub — Managing context in Copilot CLI",
          "href": "https://docs.github.com/en/enterprise-cloud@latest/copilot/concepts/agents/copilot-cli/context-management",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Checking your context usage"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/status shows the chat ID, context usage, and rate limits"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-slash-commands",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the interactive interface displays remaining context as a percentage; the reviewed page does not document a component-by-component breakdown"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-codex-cli",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/usage and status-line fields expose token usage; /context identifies major context consumers such as MCP definitions"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-costs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code agent-session documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the chat input control shows current usage, exact token count, a category breakdown, and the selected model's available context"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-session-context",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI context-management documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/context displays total usage plus token and percentage breakdowns for context components"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-context-management",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/context-usage-visibility",
      "markdown": "/features/context-usage-visibility.md",
      "json": "/api/v1/features/context-usage-visibility.json"
    },
    {
      "title": "Context window",
      "description": "Record the context-window limit available in the documented product, model, and mode.",
      "slug": "context-window",
      "locale": "en",
      "seoTitle": "Context window comparison — Can My Agent Use",
      "socialTitle": "Context window",
      "socialDescription": "Compare advertised and effective context budgets by exact harness, model, and mode.",
      "llmSummary": "Context-window records distinguish published model capacity from the limit documented for a particular product and mode. Usable input can be lower because of output reservations, instructions, tools, files, and product caps.",
      "audience": "Engineers sizing long conversations, repositories, documents, and tool schemas.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "context",
        "context-length",
        "tokens",
        "limits"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Record the documented context-window limit by product, model, and mode.",
      "specLabel": "Measured product property",
      "aliases": [
        "context length",
        "token limit",
        "input token limit",
        "context size",
        "long context"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "output-token-limit",
        "context-usage-visibility",
        "automatic-context-compaction",
        "upload-limits"
      ],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Google publishes Gemini Apps context windows of 32k tokens without an AI plan, 128k with AI Plus, and 1 million with AI Pro or AI Ultra."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Anthropic documents 1 million-token Claude Code variants and plan/model eligibility; this is not a claim that every Claude Code session receives 1M context."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor documents a normal 200k-token context window and Max Mode up to the maximum supported by the selected model, including models with windows up to 1M."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "google-gemini-limits",
          "title": "Google — Gemini Apps limits and context windows",
          "href": "https://support.google.com/gemini/answer/16275805?hl=en",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-code-model-config",
          "title": "Anthropic — Claude Code model configuration",
          "href": "https://code.claude.com/docs/en/model-config",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-models-context",
          "title": "Cursor — Models and context windows",
          "href": "https://docs.cursor.com/advanced/models",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps limits documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "32k tokens without an AI plan; 128k with AI Plus; 1 million with AI Pro or AI Ultra"
                },
                {
                  "type": "runtime",
                  "value": "the published window is shared by prompt, chat, and uploaded content and is not a guarantee of uniform attention quality"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-limits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Opus with 1M context is included on Max, Team, and Enterprise; Pro requires usage credits, and Sonnet 1M requires credits on subscription plans"
                },
                {
                  "type": "runtime",
                  "value": "the [1m] model suffix selects an eligible 1M variant; effective input remains lower after system, tools, history, and output reservations"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-model-config",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor models documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "normal mode uses 200k tokens; Max Mode extends to the selected model's maximum, with some supported models reaching 1M"
                },
                {
                  "type": "plan",
                  "value": "Max Mode availability and billing depend on plan and model"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-models-context",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/context-window",
      "markdown": "/features/context-window.md",
      "json": "/api/v1/features/context-window.json"
    },
    {
      "title": "Conversation export",
      "description": "Export conversation history through a documented product feature.",
      "slug": "conversation-export",
      "locale": "en",
      "seoTitle": "Conversation export compatibility — Can My Agent Use",
      "socialTitle": "Conversation export",
      "socialDescription": "Compare documented conversation export formats and scope.",
      "llmSummary": "Conversation export means a product provides a documented way to export chat or conversation history; exported fields and formats are recorded as qualifiers.",
      "audience": "Teams preserving, auditing, migrating, or analyzing agent work.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "collaboration",
        "portability",
        "export",
        "provenance"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "collaboration",
      "summary": "Export conversation history in a documented format.",
      "specLabel": "Common product term",
      "aliases": [
        "chat export",
        "run export",
        "conversation backup",
        "data portability"
      ],
      "capabilityKind": "atomic",
      "parent": "collaboration-and-portability",
      "related": [
        "artifact-export",
        "audit-logs",
        "data-retention-controls"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Individual Claude Free, Pro, and Max users can request an account export containing conversation and user data from either Claude web or Desktop. Team and Enterprise exports require the Primary Owner, the email link expires after 24 hours, and exported data cannot be re-imported into another personal account."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Google Takeout can export Gemini chats, generated media, uploads, and Gems, with one-time or recurring archives, multiple delivery destinations, and ZIP or TGZ output. The reviewed page does not establish a replayable run schema containing model, tool, approval, and subagent provenance."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor documents a Markdown export action for locally stored Agent chat history. Background Agent chats use a separate remote history and are not established as part of the same export."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Perplexity sessions expose an Export action for a session answer in PDF, Markdown, or DOCX. The reviewed page does not establish a bulk account export or guarantee that every turn and attachment in the session is included, so this is partial conversation-export support."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-export-data",
          "title": "Anthropic Help Center — Export your Claude data",
          "href": "https://support.claude.com/en/articles/9450526-export-your-claude-data",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Export availability; download link; import limitations"
        },
        {
          "id": "google-gemini-export",
          "title": "Google Gemini Apps Help — Download your Gemini Apps data",
          "href": "https://support.google.com/gemini/answer/16920332?hl=en",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Select data; archive format; delivery"
        },
        {
          "id": "cursor-chat-history-export",
          "title": "Cursor Docs — Chat history",
          "href": "https://docs.cursor.com/en/agent/chat/history",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Managing chats; Background Agents"
        },
        {
          "id": "perplexity-session-export",
          "title": "Perplexity Help Center — What is a Session?",
          "href": "https://www.perplexity.ai/help-center/en/articles/10354769-what-is-a-thread",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Sharing your Sessions and more actions; Export"
        }
      ],
      "support": [
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude data export documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Free, Pro, and Max users can export their own conversation and account data; Team and Enterprise organization exports are restricted to the Primary Owner"
                },
                {
                  "type": "runtime",
                  "value": "export is requested in Settings and delivered by an authenticated email link that expires after 24 hours"
                },
                {
                  "type": "policy",
                  "value": "exported data cannot be re-imported into another personal Claude account"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-export-data",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Desktop data export documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Free, Pro, and Max users can initiate their own conversation and account-data export from Claude Desktop; Team and Enterprise exports require the Primary Owner"
                },
                {
                  "type": "runtime",
                  "value": "the export arrives through an authenticated email link that expires after 24 hours and cannot be imported into another personal account"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-export-data",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps export documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Google Takeout can export Gemini chats, generated media, uploads, and Gems as a one-time or recurring ZIP or TGZ archive"
                },
                {
                  "type": "transport",
                  "value": "delivery options include an email download link, Google Drive, Dropbox, OneDrive, or Box; exports may take hours or days and can be split by archive size"
                },
                {
                  "type": "policy",
                  "value": "exporting does not delete source data"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-export",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor chat-history documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "local Agent chats can be exported as Markdown"
                },
                {
                  "type": "runtime",
                  "value": "chat history is stored in a local SQLite database; Background Agent chats are stored separately in a remote database and are not documented as part of this export"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-chat-history-export",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity session-export documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the session interface can export an answer as PDF, Markdown, or DOCX"
                },
                {
                  "type": "runtime",
                  "value": "the reviewed documentation does not establish a bulk account export or guarantee that the export contains every session turn, attachment, source field, and execution detail"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-session-export",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/conversation-export",
      "markdown": "/features/conversation-export.md",
      "json": "/api/v1/features/conversation-export.json"
    },
    {
      "title": "Conversation sharing",
      "description": "Share a conversation using a documented link or invitation feature.",
      "slug": "conversation-sharing",
      "locale": "en",
      "seoTitle": "Conversation sharing compatibility — Can My Agent Use",
      "socialTitle": "Conversation sharing",
      "socialDescription": "Compare documented conversation links, invitations, permissions, and revocation.",
      "llmSummary": "Conversation sharing means a product provides a documented link or invitation for another person to view or use a conversation; permissions and revocation are qualifiers.",
      "audience": "Teams sharing agent findings and work history.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "collaboration",
        "sharing",
        "permissions"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "collaboration",
      "summary": "Share a conversation through a documented link or invitation.",
      "specLabel": "Common product term",
      "aliases": [
        "share chat",
        "conversation link",
        "run sharing"
      ],
      "capabilityKind": "atomic",
      "parent": "collaboration-and-portability",
      "related": [
        "role-based-access",
        "conversation-export",
        "shared-projects"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude can create a revocable link to a chat snapshot. Free, Pro, and Max links can be public, while Team and Enterprise links are organization-only; later messages, attached files, and raw MCP tool results are excluded unless a new snapshot is made."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini Apps can create a public link to a whole conversation, optionally including Gem instructions. Anyone with the link can read and reshare it, eligible recipients can continue it as their own chat, and the creator can delete the public link."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Perplexity sessions support Private, anyone-with-link, and Enterprise organization-only link visibility. A viewer's follow-up creates a separate session, and the author can revoke public access by returning the session to Private."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cursor documents shareable links for web and mobile Background Agent runs so teammates can review diffs and provide feedback. The reviewed page does not specify recipient roles, expiration, revocation, or whether the complete execution transcript is exposed."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "OpenAI — ChatGPT shared links",
          "href": "https://help.openai.com/en/articles/7925741-chatgpt-shared-links-faq",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-chat-sharing",
          "title": "Anthropic Help Center — Share and unshare chats",
          "href": "https://support.claude.com/en/articles/10593882-share-and-unshare-chats",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Share chats; files and MCP integrations; unshare chats"
        },
        {
          "id": "google-gemini-chat-sharing",
          "title": "Google Gemini Apps Help — Share your chats from Gemini Apps",
          "href": "https://support.google.com/gemini/answer/13743730?hl=en-GB",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Share a chat; continue a chat; delete a public link"
        },
        {
          "id": "perplexity-session-sharing",
          "title": "Perplexity Help Center — What is a Session?",
          "href": "https://www.perplexity.ai/help-center/en/articles/10354769-what-is-a-thread",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Sharing your Sessions and more actions"
        },
        {
          "id": "cursor-background-agent-sharing",
          "title": "Cursor Docs — Web and mobile agents",
          "href": "https://docs.cursor.com/en/background-agent/web-and-mobile",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Team collaboration"
        }
      ],
      "support": [
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude shared-chat documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Free, Pro, and Max users can create public snapshots; Team and Enterprise chat links are restricted to members of the same organization"
                },
                {
                  "type": "runtime",
                  "value": "the snapshot contains messages and artifacts present when shared; later messages remain private until the chat is unshared and shared again"
                },
                {
                  "type": "policy",
                  "value": "attached files and raw MCP tool-call data are excluded, and changing visibility to Private revokes the direct link"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-chat-sharing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps chat-sharing documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "sharing creates a public link that anyone with the URL can read and reshare; organization administrators can disable conversation sharing"
                },
                {
                  "type": "runtime",
                  "value": "the link contains the entire conversation and can include uploaded images and optional Gem instructions; eligible recipients continue it as a separate chat"
                },
                {
                  "type": "policy",
                  "value": "deleting the link stops future link access but does not delete recipient copies already continued into Gemini Apps activity"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-chat-sharing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity session-sharing documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "sessions support Private, anyone-with-link, and Enterprise organization-only visibility; public access can be revoked by returning the session to Private"
                },
                {
                  "type": "runtime",
                  "value": "public viewers can ask follow-up questions, but those questions create a separate session rather than changing the author's session"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-session-sharing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor Background Agent sharing documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "web and mobile Background Agent runs can be shared by link for teammate diff review and feedback"
                },
                {
                  "type": "policy",
                  "value": "recipient roles, account or team restrictions, expiration, revocation, and full transcript visibility are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-background-agent-sharing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/conversation-sharing",
      "markdown": "/features/conversation-sharing.md",
      "json": "/api/v1/features/conversation-sharing.json"
    },
    {
      "title": "Custom instructions",
      "description": "Persist instructions at user or project scope.",
      "slug": "custom-instructions",
      "locale": "en",
      "seoTitle": "Custom instructions — Can My Agent Use",
      "socialTitle": "Custom instructions",
      "socialDescription": "Compare persistent user and project instructions by exact product surface.",
      "llmSummary": "Custom instructions persist user- or project-scoped guidance. Storage format, discovery, scope, and precedence are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Persist instructions at user or project scope.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "parent": "instructions",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenWork's server owns workspace .opencode configuration, including skills, agents, commands, and other persistent OpenCode instruction primitives."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openwork-instructions",
          "title": "OpenWork — Architecture",
          "href": "https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork architecture documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "precedence and file discovery are supplied by the embedded OpenCode runtime"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-instructions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/custom-instructions",
      "markdown": "/features/custom-instructions.md",
      "json": "/api/v1/features/custom-instructions.json"
    },
    {
      "title": "Data residency",
      "description": "Select or document the geographic region where covered product data is stored or processed.",
      "slug": "data-residency",
      "locale": "en",
      "seoTitle": "Data residency controls compatibility — Can My Agent Use",
      "socialTitle": "Data residency",
      "socialDescription": "Compare storage and processing regions for content, inference, logs, and backups.",
      "llmSummary": "Data residency is the documented geographic location of covered storage or processing; storage residency does not automatically establish regional inference.",
      "audience": "Compliance, security, and procurement teams with geographic requirements.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "privacy",
        "residency",
        "region"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Select or document geographic storage or processing regions.",
      "specLabel": "Common product term",
      "aliases": [
        "regional processing",
        "data location",
        "EU data residency"
      ],
      "capabilityKind": "atomic",
      "parent": "data-security-controls",
      "related": [
        "local-only-mode",
        "data-retention-controls"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Anthropic documents US storage for commercial Claude data and offers US-only inference to usage-based Enterprise organizations. The inference setting covers all Claude apps, including Claude Code and Desktop, but excludes storage, connectors, support, analytics, and other non-inference processing, so the catalog marks each applicable surface partial."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor Enterprise offers team-scoped US-only residency for supported model inference, content processing, storage, backups, and Cloud Agents, plus EU and Iceland inference-only coverage on request. Authentication, external integrations, some indexing, BYOK, shared links, and other listed paths remain outside the guarantee."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "OpenAI — Data controls and data residency",
          "href": "https://platform.openai.com/docs/models/default-usage-policies-by-endpoint",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "title": "OpenAI — Data residency and inference residency for ChatGPT",
          "href": "https://help.openai.com/en/articles/9903489-eu-data-residency",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-commercial-data-location",
          "title": "Anthropic Privacy Center — Server and model locations",
          "href": "https://privacy.claude.com/en/articles/7996890-where-are-your-servers-located-do-you-host-your-models-on-eu-servers",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Commercial products; routing; storage location"
        },
        {
          "id": "anthropic-us-only-inference",
          "title": "Anthropic Help Center — Enable US-only inference",
          "href": "https://support.claude.com/en/articles/15422948-enable-us-only-inference-for-your-organization",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Scope; eligible plans; exclusions"
        },
        {
          "id": "cursor-residency",
          "title": "Cursor Docs — Privacy and data governance",
          "href": "https://prod.cursor.com/docs/enterprise/privacy-and-data-governance",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Data residency; US data residency; exceptions"
        }
      ],
      "support": [
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise location documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "US-only inference is available to usage-based Enterprise organizations and applies organization-wide; contractual routing restrictions may also apply"
                },
                {
                  "type": "policy",
                  "value": "commercial-product data is documented as stored in the US; the selectable control constrains inference to the US rather than offering multiple storage regions"
                },
                {
                  "type": "runtime",
                  "value": "connectors, support, analytics, storage, and other non-inference processing are outside the US-only inference setting"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-commercial-data-location",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-us-only-inference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Desktop inference-location documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "the usage-based Enterprise US-only inference setting explicitly applies to Claude Desktop and the organization's other Claude apps"
                },
                {
                  "type": "policy",
                  "value": "commercial-product data remains documented as stored in the US, while the control constrains inference only"
                },
                {
                  "type": "runtime",
                  "value": "connectors, support, analytics, storage, and other non-inference processing are outside the setting"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-commercial-data-location",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-us-only-inference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Code inference-location documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "the usage-based Enterprise US-only inference setting explicitly applies to Claude Code signed into that organization"
                },
                {
                  "type": "policy",
                  "value": "the setting constrains inference to the US but does not establish local-only execution or multiple selectable storage regions"
                },
                {
                  "type": "runtime",
                  "value": "connectors, support, analytics, storage, local files, and other non-inference processing have separate location boundaries"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-commercial-data-location",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-us-only-inference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor Enterprise residency documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "US-only residency is enabled per Enterprise team through the account team; EU and Iceland inference-only coverage is available on request"
                },
                {
                  "type": "policy",
                  "value": "supported US-only coverage includes model inference, content-processing pipelines, customer-data storage and backups, Cloud Agents, Tab, editing, autocomplete, and semantic search"
                },
                {
                  "type": "runtime",
                  "value": "eligible models are restricted, and authentication, some indexing, BYOK, custom models, MCP and web integrations, Bugbot, shared links, and Slack or web triggers have documented exceptions"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-residency",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/data-residency",
      "markdown": "/features/data-residency.md",
      "json": "/api/v1/features/data-residency.json"
    },
    {
      "title": "Data retention controls",
      "description": "Configure or document how long covered product data is retained and how it can be deleted.",
      "slug": "data-retention-controls",
      "locale": "en",
      "seoTitle": "Data retention controls — Can My Agent Use",
      "socialTitle": "Data retention controls",
      "socialDescription": "Compare configurable retention, deletion scope, timelines, backups, and legal exceptions.",
      "llmSummary": "Retention controls cover prompts, files, outputs, tool data, memory, logs, feedback, and backups; deleting a visible conversation alone is a narrower claim.",
      "audience": "Privacy, compliance, and security teams evaluating agent data lifecycles.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "privacy",
        "retention",
        "deletion"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Configure or document retention and deletion for covered product data.",
      "specLabel": "Common product term",
      "aliases": [
        "retention policy",
        "delete chat data",
        "zero retention",
        "data lifecycle"
      ],
      "capabilityKind": "atomic",
      "parent": "data-security-controls",
      "related": [
        "conversation-export",
        "audit-logs"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents steps to remove Grok Bot routines, connectors, shared files, and Bots, but deleting a Bot does not remove shared-computer files or browser sessions and backend retention follows applicable Cursor terms. No configurable retention period or verified completion timeline is documented on the reviewed page."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Enterprise Owners can configure conversation and project retention with a 30-day minimum; retention is activity-based, defaults to indefinite when unset, deletes chats, projects, and artifacts at the boundary, and records changes in audit logs."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude Code documents different server retention by account and preference, optional qualified Enterprise zero-data-retention, a local plaintext transcript cache retained 30 days by default, and a configurable local `cleanupPeriodDays`."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini Apps personal accounts default to 18-month activity deletion and allow 3, 18, 36 months, indefinite retention, or manual deletion. Keep Activity-off and temporary chats remain for 72 hours, while human-reviewed material can remain for up to three years."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cursor Privacy Mode uses ZDR agreements for model providers and temporary encrypted file-content caches, but indexing may persist embeddings and metadata and safety investigations follow provider retention policies. No user-configurable retention period is documented on the reviewed page."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-bot-privacy",
          "title": "xAI — Grok Bot approvals, security, and privacy",
          "href": "https://docs.x.ai/grok-bot/approvals-security-and-privacy",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Remove access and working data"
        },
        {
          "id": "anthropic-enterprise-retention",
          "title": "Anthropic Help Center — Configure custom data retention controls",
          "href": "https://support.claude.com/en/articles/10440198-configure-custom-data-retention-controls-for-enterprise-plans",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How data retention works; what gets deleted"
        },
        {
          "id": "anthropic-claude-code-data-usage",
          "title": "Anthropic — Claude Code data usage",
          "href": "https://code.claude.com/docs/en/data-usage",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Data retention"
        },
        {
          "id": "google-gemini-activity",
          "title": "Google — Manage and delete Gemini Apps activity",
          "href": "https://support.google.com/gemini/answer/13278892?hl=en",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Delete activity; turn off Keep Activity; auto-delete"
        },
        {
          "id": "google-gemini-privacy-hub",
          "title": "Google — Gemini Apps Privacy Hub",
          "href": "https://support.google.com/gemini/answer/13594961",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How long we retain your data"
        },
        {
          "id": "cursor-data-use",
          "title": "Cursor — Data Use and Privacy Overview",
          "href": "https://cursor.com/data-use",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Privacy Mode; indexing; temporary cache"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "operators can separately remove routines, connectors, shared files, browser sessions, Bots, and the account; deleting one Bot does not remove account-shared computer state"
                },
                {
                  "type": "runtime",
                  "value": "configurable retention periods, backup expiry, legal exceptions, and verified deletion-completion timelines are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-privacy",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise Owner or Primary Owner can configure chat and project retention with a 30-day minimum; data is retained indefinitely by default when no custom period is set"
                },
                {
                  "type": "runtime",
                  "value": "activity resets the applicable timer; expired chats, projects, and artifacts are permanently deleted at midnight UTC, and configuration changes are audited"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-enterprise-retention",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise Owner or Primary Owner can configure organization chat and project retention with a 30-day minimum; data is retained indefinitely by default when no custom period is set"
                },
                {
                  "type": "runtime",
                  "value": "activity resets the applicable timer; expired chats, projects, and artifacts are permanently deleted at midnight UTC, and configuration changes are audited"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-enterprise-retention",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Code documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "server retention is 5 years for opted-in consumer improvement, 30 days for opted-out consumers and standard commercial use, and qualified Enterprise organizations may receive separately enabled ZDR"
                },
                {
                  "type": "runtime",
                  "value": "local plaintext session transcripts are kept for 30 days by default and can be adjusted with cleanupPeriodDays"
                },
                {
                  "type": "policy",
                  "value": "feedback submissions, safety processing, remote sessions, cloud providers, and local artifacts have separate paths and retention rules"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-data-usage",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps privacy documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "applies to signed-in personal accounts; work and school account retention is controlled by Google Workspace administrators"
                },
                {
                  "type": "policy",
                  "value": "activity auto-deletes after 18 months by default and can be changed to 3, 18, or 36 months or indefinite; manual item, range, or all-time deletion is supported"
                },
                {
                  "type": "policy",
                  "value": "Keep Activity-off and temporary chats are retained 72 hours; human-reviewed data can remain up to three years and other Google services have separate retention"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-activity",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "google-gemini-privacy-hub",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor privacy documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "Privacy Mode uses ZDR agreements with model providers; encrypted file-content caches are temporary and their server-side keys exist only for the request"
                },
                {
                  "type": "runtime",
                  "value": "codebase indexing may persist embeddings and metadata, and abuse-triggered data may follow provider investigation retention"
                },
                {
                  "type": "policy",
                  "value": "user-configurable retention periods, backup expiry, and verified deletion completion are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-data-use",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/data-retention-controls",
      "markdown": "/features/data-retention-controls.md",
      "json": "/api/v1/features/data-retention-controls.json"
    },
    {
      "title": "Diffs and patches",
      "description": "Propose or apply file changes as diffs or patches.",
      "slug": "diffs-and-patches",
      "locale": "en",
      "seoTitle": "Diffs and patches — Can My Agent Use",
      "socialTitle": "Diffs and patches",
      "socialDescription": "Compare diff generation, review, and patch application.",
      "llmSummary": "Diffs and patches represent proposed file changes in a reviewable patch form. Generation, application, approval, and source-control integration are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "tools"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Propose or apply file changes as diffs or patches.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "No reviewed public evidence is attached to this capability row. Unknown records the evidence gap."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: VS Code displays agent edits in file and multi-file diff views, with review, feedback, keep, undo, and discard controls."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor presents Agent changes in a diff review interface with file-by-file navigation and selective acceptance or rejection."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cline documents a built-in apply_patch tool for applying unified diffs to files."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Continue Edit streams proposed changes as inline diffs that can be accepted or rejected."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: OpenCode documents a built-in apply_patch tool that applies patch text to project files under the edit permission."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Aider documents generating a file diff and applying the edit directly during a chat."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "microsoft-vscode-review-edits",
          "title": "Visual Studio Code — Review and revert agent changes",
          "href": "https://code.visualstudio.com/docs/agents/run/review-code-edits",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Review agent changes"
        },
        {
          "id": "cursor-diffs-review",
          "title": "Cursor — Diffs and Review",
          "href": "https://docs.cursor.com/en/agent/review",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Diffs and Review"
        },
        {
          "id": "cline-apply-patch",
          "title": "Cline — Tools reference",
          "href": "https://docs.cline.bot/tools-reference/all-cline-tools",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Built-In Tools"
        },
        {
          "id": "continue-inline-diffs",
          "title": "Continue — Quick Start with Edit",
          "href": "https://docs.continue.dev/ide-extensions/edit/quick-start",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How to accept or reject changes"
        },
        {
          "id": "opencode-apply-patch",
          "title": "OpenCode — Tools",
          "href": "https://opencode.ai/docs/tools",
          "kind": "docs",
          "publisher": "OpenCode",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "apply_patch"
        },
        {
          "id": "aider-diff-edit",
          "title": "Aider — Specifying coding conventions",
          "href": "https://aider.chat/docs/usage/conventions.html",
          "kind": "docs",
          "publisher": "Aider",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Example transcript showing generated diff and applied edit"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code agent-edit review documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "review presentation varies by Chat view, Agents window, isolation mode, and editing settings"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-review-edits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor diff-review documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Cursor Agent in the desktop workbench"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-diffs-review",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline tools reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "tool approval or auto-approval depends on Cline settings and policy"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-apply-patch",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Continue Edit documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Continue Edit in its supported IDE extensions"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-inline-diffs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "opencode",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenCode tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "apply_patch is governed by the edit permission, which may allow, ask, or deny the operation"
                }
              ],
              "evidence": [
                {
                  "resourceId": "opencode-apply-patch",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "aider",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Aider editing documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "aider-diff-edit",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/diffs-and-patches",
      "markdown": "/features/diffs-and-patches.md",
      "json": "/api/v1/features/diffs-and-patches.json"
    },
    {
      "title": "Document input",
      "description": "Upload text, word-processing, presentation, or spreadsheet files for use as model input.",
      "slug": "office-document-input",
      "locale": "en",
      "seoTitle": "Office document input compatibility — Can My Agent Use",
      "socialTitle": "Document input",
      "socialDescription": "Compare upload and parsing of word-processing, presentation, spreadsheet, and text files.",
      "llmSummary": "Document input means uploaded text, word-processing, presentation, or spreadsheet content is available as model input. Supported formats and extraction fidelity are qualifiers.",
      "audience": "Engineers comparing document-heavy knowledge workflows.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception",
        "documents",
        "uploads"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Upload common document formats for use as model input.",
      "specLabel": "Common product term",
      "aliases": [
        "document upload",
        "DOCX input",
        "spreadsheet upload",
        "presentation upload"
      ],
      "capabilityKind": "atomic",
      "parent": "file-inputs",
      "related": [
        "pdf-documents",
        "upload-limits"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI's Grok FAQ lists DOCX, TXT, CSV, XLSX, PPTX, HTML, XML, JSON, and Markdown as direct Grok chat inputs and describes comparison, extraction, spreadsheet analysis, and document transformation."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot lists plain text, Word, Excel, PowerPoint, CSV, JSON, YAML, source code, HTML, email, and Jupyter notebooks as common desktop inputs, with six attachments per message and a 25 MB limit per document."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude accepts DOCX, CSV, TXT, HTML, ODT, RTF, EPUB, JSON, and XLSX on its web and desktop surfaces; XLSX requires code execution. Non-PDF documents are handled as extracted text, so layout and embedded-image fidelity are not established."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini Apps document uploads for documents, spreadsheets, notebooks, and code folders or repositories, but the reviewed help page does not enumerate every office extension or promise formula, chart, presentation, comment, or embedded-object fidelity."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Perplexity Enterprise file connectors support Google Docs, Slides, and Sheets plus DOCX, XLSX, PPTX, XLS, CSV, RTF, ODT, Markdown, JSON, and TXT. The reviewed direct-upload page describes textual-file uploads without enumerating those office extensions, so this cell is limited to the connector path."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Microsoft Copilot web accepts DOCX, XLSX, PPTX, CSV, TXT, JSON, and Markdown uploads and can analyze and extract information from them."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Mistral's current Vibe Work documentation, which supersedes Le Chat at chat.mistral.ai, accepts Word, PowerPoint, Excel, CSV, ODT, RTF, ODS, Numbers, and other document formats and reads their content as task context."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-files-faq",
          "title": "xAI — Grok files and data FAQ",
          "href": "https://docs.x.ai/grok/faq",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Files & Data"
        },
        {
          "id": "xai-grok-bot-files",
          "title": "xAI — Grok Bot files and results",
          "href": "https://docs.x.ai/grok-bot/files-and-results",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Attach files"
        },
        {
          "id": "anthropic-upload-files",
          "title": "Anthropic Help Center — Uploading files to Claude",
          "href": "https://support.claude.com/en/articles/8241126-upload-files-to-claude",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported file types"
        },
        {
          "id": "google-gemini-upload-files",
          "title": "Google Gemini Apps Help — Upload and analyze files",
          "href": "https://support.google.com/gemini/answer/14903178?co=GENIE.Platform%3DDesktop&hl=en",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Types of files you can upload"
        },
        {
          "id": "perplexity-file-connectors",
          "title": "Perplexity Help Center — Introduction to File Connectors",
          "href": "https://www.perplexity.ai/help-center/en/articles/10672063-introduction-to-file-connectors-for-enterprise-organizations",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported file formats"
        },
        {
          "id": "microsoft-copilot-file-upload",
          "title": "Microsoft Support — File upload in Microsoft Copilot",
          "href": "https://support.microsoft.com/en-US/microsoft-copilot/file-upload-in-microsoft-copilot",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported file formats; file analysis"
        },
        {
          "id": "mistral-vibe-files",
          "title": "Mistral Docs — Work with Files and Canvas",
          "href": "https://docs.mistral.ai/vibe/work/files-and-canvas",
          "kind": "docs",
          "publisher": "Mistral AI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported formats; querying text documents; analyzing spreadsheets"
        },
        {
          "id": "mistral-vibe-overview",
          "title": "Mistral Docs — Vibe overview",
          "href": "https://docs.mistral.ai/vibe",
          "kind": "docs",
          "publisher": "Mistral AI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Le Chat is now Vibe; product entry point"
        }
      ],
      "support": [
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "accepted formats and fidelity can vary by platform; this claim is scoped to the web surface and does not establish macro, comment, hidden-sheet, or embedded-object fidelity"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-files-faq",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "desktop composer accepts up to six attachments per message and documents a 25 MB limit per document"
                },
                {
                  "type": "policy",
                  "value": "large, encrypted, damaged, or unusual files may not be readable; exact office-feature fidelity is not documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "documented inputs include DOCX, CSV, TXT, HTML, ODT, RTF, EPUB, JSON, and XLSX; spreadsheet uploads require code execution"
                },
                {
                  "type": "runtime",
                  "value": "non-PDF documents are processed as extracted text, so layout, charts, embedded images, tracked changes, and other office-specific structure are not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "documented inputs include DOCX, CSV, TXT, HTML, ODT, RTF, EPUB, JSON, and XLSX; spreadsheet uploads require code execution"
                },
                {
                  "type": "runtime",
                  "value": "non-PDF documents are processed as extracted text, so layout, charts, embedded images, tracked changes, and other office-specific structure are not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "documents, spreadsheets, notebooks, and code folders or repositories are documented upload classes"
                },
                {
                  "type": "runtime",
                  "value": "the reviewed page does not enumerate every office extension or establish formula, chart, slide, comment, macro, or embedded-object fidelity"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Enterprise file connectors support Google Docs, Slides, and Sheets plus DOCX, XLSX, PPTX, XLS, CSV, RTF, ODT, Markdown, JSON, and TXT"
                },
                {
                  "type": "plan",
                  "value": "this documented path is scoped to File Connectors for Enterprise organizations; the reviewed direct-upload page does not enumerate local Office extensions"
                },
                {
                  "type": "runtime",
                  "value": "formula, macro, slide-layout, comment, and embedded-object fidelity is not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-file-connectors",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Microsoft Copilot web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "documented web uploads include DOCX, XLSX, PPTX, CSV, TXT, JSON, and Markdown and can be analyzed, extracted, summarized, and queried with follow-up prompts"
                },
                {
                  "type": "runtime",
                  "value": "each file is limited to 50 MB and up to 20 files can be attached in one conversation"
                },
                {
                  "type": "runtime",
                  "value": "macro, formula, chart, slide-layout, comment, and embedded-object fidelity is not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-copilot-file-upload",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "le-chat",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Mistral Vibe web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supported uploads include DOCX, DOC, PPTX, PPT, XLSX, XLS, CSV, ODT, RTF, ODS, and Numbers; Word files, presentations, and spreadsheets can be queried from their uploaded content"
                },
                {
                  "type": "policy",
                  "value": "Le Chat is now Vibe at the same chat.mistral.ai entry point; this claim is scoped to the Work upload path"
                },
                {
                  "type": "runtime",
                  "value": "complete formula, macro, chart, comment, tracked-change, layout, and embedded-object fidelity is not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "mistral-vibe-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "mistral-vibe-overview",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/office-document-input",
      "markdown": "/features/office-document-input.md",
      "json": "/api/v1/features/office-document-input.json"
    },
    {
      "title": "Encryption key management",
      "description": "Document provider-managed or customer-managed encryption keys and their scope.",
      "slug": "encryption-key-controls",
      "locale": "en",
      "seoTitle": "Encryption key management compatibility — Can My Agent Use",
      "socialTitle": "Encryption key management",
      "socialDescription": "Compare documented provider-managed and customer-managed encryption key options.",
      "llmSummary": "Encryption key management covers documented provider-managed or customer-managed keys; coverage, rotation, and revocation are recorded as qualifiers.",
      "audience": "Security and compliance teams evaluating cryptographic control.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "encryption",
        "keys",
        "enterprise"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Record documented encryption key ownership, scope, rotation, and revocation.",
      "specLabel": "Common product term",
      "aliases": [
        "customer-managed keys",
        "CMK",
        "BYOK",
        "encryption at rest"
      ],
      "capabilityKind": "atomic",
      "parent": "data-security-controls",
      "related": [
        "secrets-management",
        "data-residency"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Eligible Claude Enterprise organizations can replace Anthropic's default encryption for covered chats, projects, and files with a customer key in AWS KMS, Google Cloud KMS, or Azure Key Vault. The customer controls the key and cloud-provider audit logs record Anthropic key operations; the overview delegates the exact coverage and limitations to the implementation docs."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor Enterprise offers customer-managed encryption keys for embeddings and Cloud Agent data stored in Cursor infrastructure, with customer-controlled rotation and access. The feature does not establish customer-key coverage for every prompt, third-party model request, external integration, or local artifact."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "OpenAI — Enterprise Key Management overview",
          "href": "https://help.openai.com/en/articles/20000943",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-cmek",
          "title": "Anthropic Help Center — Customer-managed encryption keys",
          "href": "https://support.claude.com/en/articles/15505325-what-are-customer-managed-encryption-keys-cmek",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Availability; key providers; covered data; audit trail"
        },
        {
          "id": "cursor-cmek",
          "title": "Cursor Docs — Privacy and data governance",
          "href": "https://prod.cursor.com/docs/enterprise/privacy-and-data-governance",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Data encryption; customer-managed encryption keys"
        }
      ],
      "support": [
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise CMEK documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "available to eligible Enterprise organizations"
                },
                {
                  "type": "policy",
                  "value": "a customer key in AWS KMS, Google Cloud KMS, or Azure Key Vault can replace Anthropic's default encryption for covered team chats, projects, and files"
                },
                {
                  "type": "runtime",
                  "value": "the customer controls the key and cloud-provider audit logs record key operations; exact exclusions and changed features are defined in the implementation documentation"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-cmek",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise CMEK documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "available to eligible Enterprise organizations for covered organization content used from Claude clients"
                },
                {
                  "type": "policy",
                  "value": "covered team chats, projects, and files can use a customer key in AWS KMS, Google Cloud KMS, or Azure Key Vault instead of Anthropic's default encryption"
                },
                {
                  "type": "runtime",
                  "value": "local desktop-only artifacts are not established as covered; exact exclusions and changed features follow the CMEK implementation documentation"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-cmek",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor CMEK documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise customers contact sales to enable CMEK"
                },
                {
                  "type": "policy",
                  "value": "embeddings and Cloud Agent data stored in Cursor infrastructure are encrypted with the customer key, and the customer controls key rotation and access"
                },
                {
                  "type": "runtime",
                  "value": "the reviewed page does not establish CMEK coverage for every prompt, model-provider request, external integration, shared link, or local artifact"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-cmek",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/encryption-key-controls",
      "markdown": "/features/encryption-key-controls.md",
      "json": "/api/v1/features/encryption-key-controls.json"
    },
    {
      "title": "File and media inputs",
      "description": "Group document, image, audio, video, and file-upload questions.",
      "slug": "file-inputs",
      "locale": "en",
      "seoTitle": "File and media input capability coverage — Can My Agent Use",
      "socialTitle": "Which files and media can my agent use?",
      "socialDescription": "Compare document, image, audio, video, and file-upload support.",
      "llmSummary": "File and media inputs is an internal catalog grouping for image, PDF, office-document, audio, video, and upload-limit questions.",
      "audience": "Engineers comparing multimodal and document workflows.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception",
        "files",
        "uploads",
        "multimodal"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Group common file type, media input, and upload-limit questions.",
      "specLabel": "Catalog grouping",
      "aliases": [
        "file upload",
        "attachments",
        "multimodal input",
        "media upload"
      ],
      "capabilityKind": "family",
      "related": [
        "workspace-files",
        "screenshots",
        "realtime-voice"
      ],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        }
      ],
      "support": [],
      "html": "/features/file-inputs",
      "markdown": "/features/file-inputs.md",
      "json": "/api/v1/features/file-inputs.json"
    },
    {
      "title": "File upload limits",
      "description": "Document file size, count, duration, page, project, or rolling upload limits.",
      "slug": "upload-limits",
      "locale": "en",
      "seoTitle": "File upload limits comparison — Can My Agent Use",
      "socialTitle": "File upload limits",
      "socialDescription": "Compare file size, count, duration, page, project, and rolling upload limits by exact harness and plan.",
      "llmSummary": "File upload limits record documented size, count, page, duration, frequency, and storage limits with their scope. Accepting one test file does not establish every limit.",
      "audience": "Engineers sizing document and multimodal workloads.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception",
        "uploads",
        "limits",
        "quota"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Record numeric attachment size, count, page, duration, storage, and rolling quotas.",
      "specLabel": "Measured product property",
      "aliases": [
        "attachment limit",
        "max file size",
        "upload quota",
        "file count limit"
      ],
      "capabilityKind": "atomic",
      "parent": "file-inputs",
      "related": [
        "context-window",
        "usage-metering",
        "rate-limit-disclosure"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI's Grok FAQ reports approximately 100 files per message on the web but does not publish the complete size, storage, page, duration, or rolling quota envelope on that page."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot's desktop composer accepts up to six attachments at once; documents, images, and audio can be up to 25 MB each, and video can be up to 200 MB. The reviewed page does not expose every storage, duration, page, or rolling quota."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude chats accept up to 20 files with a 500 MB per-file limit, images must be no larger than 8,000 by 8,000 pixels, and project files have a separate 30 MB limit. The reviewed documentation does not expose a complete rolling upload or storage quota."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini Apps accept up to 10 files in one prompt; videos can be up to 2 GB and other supported files up to 100 MB. Total video and audio duration varies by plan, and code folders or repositories have separate file-count and size limits."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Perplexity's general web file-upload page documents a 40 MB per-file limit. Enterprise session, repository, and project documentation instead lists 50 MB per file, with plan-specific file-count, weekly-upload, and total persistent-file quotas."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Microsoft Copilot web allows up to 20 files in one conversation and limits each uploaded file to 50 MB."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Mistral's current Vibe documentation, which supersedes Le Chat at the same chat.mistral.ai entry point, documents Library uploads of up to 100 files at once and 100 MB per file. Ordinary chat file usage remains plan-limited without a public numeric allowance on the reviewed page."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: Claude Code documents a 30 MB maximum request-size failure, a PDF attachment boundary of 100 pages and 32 MB, and image dimension limits of 8,000 pixels for one image or 2,000 pixels when many images are in context. These are request and media boundaries, not a complete rolling or project quota."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-files-faq",
          "title": "xAI — Grok files and data FAQ",
          "href": "https://docs.x.ai/grok/faq",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Files & Data"
        },
        {
          "id": "xai-grok-bot-files",
          "title": "xAI — Grok Bot files and results",
          "href": "https://docs.x.ai/grok-bot/files-and-results",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Attach files"
        },
        {
          "id": "anthropic-upload-files",
          "title": "Anthropic Help Center — Uploading files to Claude",
          "href": "https://support.claude.com/en/articles/8241126-upload-files-to-claude",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "File size and quantity limits"
        },
        {
          "id": "google-gemini-upload-files",
          "title": "Google Gemini Apps Help — Upload and analyze files",
          "href": "https://support.google.com/gemini/answer/14903178?co=GENIE.Platform%3DDesktop&hl=en",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "File upload limits"
        },
        {
          "id": "perplexity-file-uploads",
          "title": "Perplexity Help Center — File uploads",
          "href": "https://www.perplexity.ai/help-center/en/articles/10354807-file-uploads",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "File size"
        },
        {
          "id": "perplexity-enterprise-file-limits",
          "title": "Perplexity Help Center — Enterprise file limits",
          "href": "https://www.perplexity.ai/help-center/en/articles/12009761-enterprise-file-limits",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Enterprise file limits by session, repository, project, and plan"
        },
        {
          "id": "microsoft-copilot-file-upload",
          "title": "Microsoft Support — File upload in Microsoft Copilot",
          "href": "https://support.microsoft.com/en-US/microsoft-copilot/file-upload-in-microsoft-copilot",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported file formats; file count and size"
        },
        {
          "id": "mistral-vibe-libraries",
          "title": "Mistral Docs — Add context with Libraries",
          "href": "https://docs.mistral.ai/vibe/work/libraries",
          "kind": "docs",
          "publisher": "Mistral AI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Uploading documents; limits and processing"
        },
        {
          "id": "mistral-vibe-overview",
          "title": "Mistral Docs — Vibe overview",
          "href": "https://docs.mistral.ai/vibe",
          "kind": "docs",
          "publisher": "Mistral AI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Le Chat is now Vibe; product entry point"
        },
        {
          "id": "anthropic-claude-code-errors",
          "title": "Claude Code Docs — Error reference",
          "href": "https://code.claude.com/docs/en/errors",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Request too large; image was too large; PDF errors"
        }
      ],
      "support": [
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "web documentation reports approximately 100 files per message but does not provide the complete per-file, page, duration, storage, or rolling quota envelope"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-files-faq",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "six attachments per desktop message; 25 MB each for documents, images, and audio; 200 MB each for video"
                },
                {
                  "type": "policy",
                  "value": "page, duration, project storage, rolling quota, and remaining-quota visibility are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "up to 20 files per chat, 500 MB per file, images no larger than 8,000 by 8,000 pixels, and project files limited to 30 MB"
                },
                {
                  "type": "policy",
                  "value": "plan and usage limits may apply; the complete rolling upload, project-storage, and remaining-quota envelope is not documented on the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Claude chat limits are up to 20 files, 500 MB per file, images no larger than 8,000 by 8,000 pixels, and project files limited to 30 MB"
                },
                {
                  "type": "policy",
                  "value": "plan and usage limits may apply; the complete rolling upload, project-storage, and remaining-quota envelope is not documented on the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "up to 10 files per prompt; video up to 2 GB and other supported files up to 100 MB; one code folder or repository up to 5,000 files and 100 MB"
                },
                {
                  "type": "plan",
                  "value": "total video is up to 5 minutes without a Google AI plan or 1 hour with Google AI Pro or Ultra; total audio is up to 10 minutes without a plan or 3 hours with Pro or Ultra"
                },
                {
                  "type": "policy",
                  "value": "rolling account quota, project storage, and remaining-quota visibility are not fully documented on the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "general file uploads are limited to 40 MB per file; Enterprise documentation lists 50 MB per file and up to 30 files in a session"
                },
                {
                  "type": "plan",
                  "value": "Enterprise Pro and Max publish separate weekly, repository, project, personal-repository, and total persistent-file quotas"
                },
                {
                  "type": "policy",
                  "value": "the generic and Enterprise pages publish different per-file limits, so deployments should apply the exact account and surface limit rather than assuming one universal maximum"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-file-uploads",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "perplexity-enterprise-file-limits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Microsoft Copilot web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "up to 20 files per conversation and 50 MB per uploaded file"
                },
                {
                  "type": "policy",
                  "value": "rolling, storage, page, duration, and remaining-quota limits are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-copilot-file-upload",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "le-chat",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Mistral Vibe web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Libraries allow up to 100 files in one upload and 100 MB per file"
                },
                {
                  "type": "plan",
                  "value": "ordinary chat files are available on all plans but plan-based usage limits are not numerically published on the reviewed page"
                },
                {
                  "type": "policy",
                  "value": "Le Chat is now Vibe at the same chat.mistral.ai entry point; the numeric limits in this cell are specifically for the Library path"
                }
              ],
              "evidence": [
                {
                  "resourceId": "mistral-vibe-libraries",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "mistral-vibe-overview",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code error documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "30 MB maximum request-size boundary; attached PDFs are limited to 100 pages and 32 MB"
                },
                {
                  "type": "runtime",
                  "value": "one image can be up to 8,000 pixels on its longest edge, or 2,000 pixels when many images are in context"
                },
                {
                  "type": "policy",
                  "value": "rolling usage, project storage, and remaining quota are not documented by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-errors",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/upload-limits",
      "markdown": "/features/upload-limits.md",
      "json": "/api/v1/features/upload-limits.json"
    },
    {
      "title": "Human approval",
      "description": "Pause before a tool action or file change until a person confirms.",
      "slug": "human-approval",
      "locale": "en",
      "seoTitle": "Human approval — Can My Agent Use",
      "socialTitle": "Human approval",
      "socialDescription": "Compare approval prompts, remembered decisions, and policy boundaries.",
      "llmSummary": "Human approval pauses an action until a person confirms or denies it. Action scope, remembered decisions, and policy behavior are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Pause before a tool action or file change until a person confirms.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop surfaces permission requests and documents allow-once, always-allow, and deny responses."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot shows a proposed operation and inputs before approval; desktop controls include Allow once, Deny, and matching Always allow rules, while Require Approval rules take precedence."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude Code Manual mode stops before most file edits, shell commands, or network access, and its plan flow can keep edits blocked until the person approves the plan."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor requires manual approval for sensitive actions by default, including terminal commands, MCP connections and calls, and configuration-file edits; ordinary workspace-file edits are saved immediately without approval."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Gemini CLI requires manual confirmation for file-modifying tools and shell commands and shows the proposed diff or exact command before execution."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: VS Code can show a confirmation dialog for tool calls, with approval scopes ranging from one use through future invocations and managed rules that can continue to require approval."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI prompts before destructive shell commands, file edits, or URL access unless the relevant permission has already been granted."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Cline documents approval or auto-approval policies, including requiring approval for risky Bash and write/edit operations."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: Continue Agent mode asks the user for permission between a model tool call and tool execution unless that tool's policy is set to Automatic."
        },
        {
          "id": 10,
          "text": "Evidence checked 2026-08-28: OpenCode permission rules can resolve a tool call to ask, and an ask prompt offers once, session-scoped always, or reject outcomes."
        },
        {
          "id": 11,
          "text": "Evidence checked 2026-08-28: Zed Agent tool permissions support confirm, always-allow, and always-deny rules for terminal, edit, write, delete, fetch, MCP, and other tools."
        },
        {
          "id": 12,
          "text": "Evidence checked 2026-08-28: Warp says local Agent users can review changes and approve actions before they execute."
        },
        {
          "id": 13,
          "text": "Evidence checked 2026-08-28: Replit Plan mode waits for plan approval before Agent changes project files, but this is an opt-in plan-level gate rather than a documented per-tool approval system."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openwork-permissions",
          "title": "OpenWork — Publisher repository",
          "href": "https://github.com/different-ai/openwork",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-approvals",
          "title": "xAI — Grok Bot approvals, security, and privacy",
          "href": "https://docs.x.ai/grok-bot/approvals-security-and-privacy",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-claude-code-permission-modes",
          "title": "Anthropic — Claude Code permission modes",
          "href": "https://code.claude.com/docs/en/permission-modes",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Available modes and review and approve a plan"
        },
        {
          "id": "cursor-agent-security",
          "title": "Cursor — Agent security",
          "href": "https://prod.cursor.com/docs/agent/security",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "First-party tool calls"
        },
        {
          "id": "gemini-cli-tools-approval",
          "title": "Google — Gemini CLI tools reference",
          "href": "https://geminicli.com/docs/reference/tools/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Automatic execution and security"
        },
        {
          "id": "vscode-agent-approvals",
          "title": "Microsoft — Manage approvals and permissions in VS Code",
          "href": "https://code.visualstudio.com/docs/agents/run/approvals",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Tool approval"
        },
        {
          "id": "github-copilot-cli-tool-permissions",
          "title": "GitHub — Allowing and denying tool use in Copilot CLI",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cline-tool-approval-controls",
          "title": "Cline — Tools and approval controls",
          "href": "https://docs.cline.bot/tools-reference/all-cline-tools",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Approval and Policy Controls"
        },
        {
          "id": "continue-agent-tool-handshake",
          "title": "Continue — How Agent mode works",
          "href": "https://docs.continue.dev/features/agent/how-it-works",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How the Tool Handshake Works"
        },
        {
          "id": "opencode-permissions",
          "title": "OpenCode — Permissions",
          "href": "https://opencode.ai/docs/permissions/",
          "kind": "docs",
          "publisher": "OpenCode",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What Ask Does"
        },
        {
          "id": "zed-tool-permissions",
          "title": "Zed — Tool permissions",
          "href": "https://zed.dev/docs/ai/tool-permissions",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "warp-agent-overview",
          "title": "Warp — Getting started with Warp",
          "href": "https://docs.warp.dev/",
          "kind": "docs",
          "publisher": "Warp",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "In the Warp app"
        },
        {
          "id": "replit-agent-plan-mode",
          "title": "Replit — Build with Agent",
          "href": "https://docs.replit.com/learn/build-with-agent",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Plan the work"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "prompts depend on permission mode and rules; acceptEdits, auto, dontAsk, and bypassPermissions reduce or remove routine prompts"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-permission-modes",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "ordinary workspace-file edits do not prompt; terminal, MCP, configuration-file, and sensitive actions do unless pre-approved or another run mode applies"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-agent-security",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "security policy and sandbox configuration still determine the effective execution boundary"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-cli-tools-approval",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "permission level, tool settings, saved approvals, and organization-managed rules determine which calls prompt"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-agent-approvals",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "command-line and saved permissions can pre-authorize calls; deny rules take precedence"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-tool-permissions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "settings and policy can require approval, auto-approve, or disable specific tools"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-tool-approval-controls",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Continue documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "a tool whose policy is Automatic skips the human permission step"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-agent-tool-handshake",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "opencode",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                10
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenCode documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "approval requires an ask rule; tools are enabled without prompts by default"
                }
              ],
              "evidence": [
                {
                  "resourceId": "opencode-permissions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                11
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "per-tool defaults and matching allow, deny, and confirm patterns determine prompts"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-tool-permissions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "warp",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                12
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Warp documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "warp-agent-overview",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "replit-agent",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                13
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Replit Agent documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "the documented gate applies when Plan mode is selected and approves the plan before file changes, not each tool call"
                }
              ],
              "evidence": [
                {
                  "resourceId": "replit-agent-plan-mode",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork repository documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "effective prompts depend on workspace and server approval configuration"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-permissions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "Auto Review is model-based and complements rather than replaces explicit approval boundaries and least privilege"
                },
                {
                  "type": "runtime",
                  "value": "local-computer execution defaults to asking every time and is configured separately from cloud-computer actions"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-approvals",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/human-approval",
      "markdown": "/features/human-approval.md",
      "json": "/api/v1/features/human-approval.json"
    },
    {
      "title": "Image input",
      "description": "Attach, paste, or select an image for use as model input.",
      "slug": "image-input",
      "locale": "en",
      "seoTitle": "Image input compatibility — Can My Agent Use",
      "socialTitle": "Image input",
      "socialDescription": "Compare image attachment, paste, upload, and file-limit support.",
      "llmSummary": "Image input means a product accepts attached, pasted, or selected images as model input. Supported methods, formats, limits, and surfaces are recorded as qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception",
        "image",
        "uploads"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Attach, paste, or select an image for use as model input.",
      "specLabel": "Common product term",
      "aliases": [
        "image input",
        "image attachment",
        "image upload",
        "paste image",
        "vision input"
      ],
      "capabilityKind": "atomic",
      "parent": "file-inputs",
      "related": [
        "screenshots",
        "video-input",
        "upload-limits"
      ],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents image uploads and image understanding in Grok Web chats."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot messages accept pasted images and local file attachments; its files guide lists images as supported input and documents desktop attachment limits."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: OpenAI documents image attachment, paste, or drag-and-drop in ChatGPT Work on the web; Shift-drag image input in the ChatGPT desktop app; and pasted images or repeated -i/--image paths in Codex CLI."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Anthropic documents JPEG, PNG, GIF, and WebP uploads in Claude on the web and Claude Desktop, including drag-and-drop and clipboard paste."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Google documents photo and image uploads among Gemini Apps file inputs on the web, subject to the shared per-prompt and per-file upload limits."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Cursor Agent can read PNG, JPEG, GIF, WebP, and SVG files and place them in conversation context for a vision-capable model."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Perplexity web accepts JPEG, HEF, and PNG images up to 40 MB and uses multimodal models to identify images and interpret graphics and captions."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Microsoft Copilot web accepts PNG, JPEG, PJP, and JFIF uploads and documents prompts that ask Copilot to describe and analyze the attached image."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: Mistral's current Vibe Work documentation, which supersedes Le Chat at chat.mistral.ai, accepts PNG, JPEG, WebP, and GIF uploads and interprets photos, diagrams, screenshots, and scanned pages."
        },
        {
          "id": 10,
          "text": "Evidence checked 2026-08-28: VS Code Copilot Chat accepts image context for vision-capable models. Current GitHub documentation lists JPEG, PNG, GIF, WebP, HEIC, and HEIF and says image attachments are available on all Copilot plans."
        },
        {
          "id": 11,
          "text": "Evidence checked 2026-08-28: Claude Code accepts image drag-and-drop, clipboard paste, and image paths and documents analysis of screenshots, diagrams, mockups, and multiple images."
        },
        {
          "id": 12,
          "text": "Evidence checked 2026-08-28: Gemini CLI custom commands encode supported image paths, including PNG and JPEG examples, and inject them as multimodal input through @{...}."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "xai-grok-files-faq",
          "title": "xAI — Grok files and data FAQ",
          "href": "https://docs.x.ai/grok/faq",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Files & Data"
        },
        {
          "id": "xai-grok-bot-files",
          "title": "xAI — Grok Bot files and results",
          "href": "https://docs.x.ai/grok-bot/files-and-results",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Attach files"
        },
        {
          "id": "openai-image-inputs",
          "title": "OpenAI — Image inputs",
          "href": "https://learn.chatgpt.com/docs/image-inputs",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-upload-files",
          "title": "Anthropic — Upload files to Claude",
          "href": "https://support.claude.com/en/articles/8241126-upload-files-to-claude",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-upload-files",
          "title": "Google — Upload and analyze files in Gemini Apps",
          "href": "https://support.google.com/gemini/answer/14903178?co=GENIE.Platform%3DDesktop&hl=en",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-agent-overview",
          "title": "Cursor — Agent overview",
          "href": "https://cursor.com/docs/agent/overview",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "perplexity-image-uploads",
          "title": "Perplexity Help Center — Uploading images",
          "href": "https://www.perplexity.ai/help-center/en/articles/10354840-uploading-images-on-perplexity",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Uploading images; formats and maximum size"
        },
        {
          "id": "microsoft-copilot-file-upload",
          "title": "Microsoft Support — File upload in Microsoft Copilot",
          "href": "https://support.microsoft.com/en-US/microsoft-copilot/file-upload-in-microsoft-copilot",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported file formats; how to use file upload"
        },
        {
          "id": "mistral-vibe-files",
          "title": "Mistral Docs — Work with Files and Canvas",
          "href": "https://docs.mistral.ai/vibe/work/files-and-canvas",
          "kind": "docs",
          "publisher": "Mistral AI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported formats; analyzing images"
        },
        {
          "id": "mistral-vibe-overview",
          "title": "Mistral Docs — Vibe overview",
          "href": "https://docs.mistral.ai/vibe",
          "kind": "docs",
          "publisher": "Mistral AI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Le Chat is now Vibe; product entry point"
        },
        {
          "id": "github-copilot-images",
          "title": "GitHub Docs — Asking GitHub Copilot questions in your IDE",
          "href": "https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/chat-with-copilot/chat-in-ide?tool=vscode",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Using images in Copilot Chat"
        },
        {
          "id": "anthropic-claude-code-images",
          "title": "Claude Code Docs — Common workflows",
          "href": "https://code.claude.com/docs/en/common-workflows",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Work with images"
        },
        {
          "id": "gemini-cli-custom-commands",
          "title": "Gemini CLI — Custom commands",
          "href": "https://geminicli.com/docs/cli/custom-commands/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Injecting file content with @{...}; multimodal support"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "images can be attached, pasted, or dragged into the web composer"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-image-inputs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Shift-drag supplies an image for inspection in the desktop app"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-image-inputs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "accepts pasted images and one or more paths through -i/--image; OpenAI names common formats including PNG and JPEG"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-image-inputs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supports JPEG, PNG, GIF, and WebP through file selection, drag-and-drop, or clipboard paste"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supports JPEG, PNG, GIF, and WebP through the shared Claude chat attachment workflow"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "photos and images share Gemini Apps' documented file-count and size limits"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "PNG, JPEG, GIF, WebP, and SVG files enter conversation context when the selected model is vision-capable"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-agent-overview",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "file support and limits can vary by platform; this cell is scoped to the web surface"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-files-faq",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "desktop composer accepts up to six attachments per message and documents a 25 MB limit per image"
                },
                {
                  "type": "policy",
                  "value": "damaged or unusually formatted files may not be readable"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "JPEG, HEF, and PNG can be attached or dragged into desktop web and are interpreted by multimodal models, including graphics and captions"
                },
                {
                  "type": "runtime",
                  "value": "maximum image size is 40 MB; animation, metadata, and exact resolution handling are not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-image-uploads",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Microsoft Copilot web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supported image uploads are PNG, JPEG, PJP, and JFIF; the file-upload workflow documents asking Copilot to describe or analyze the image"
                },
                {
                  "type": "runtime",
                  "value": "each file is limited to 50 MB and up to 20 files can be added to one conversation"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-copilot-file-upload",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "le-chat",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Mistral Vibe web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "PNG, JPEG, WebP, and GIF uploads can be interpreted as photos, diagrams, screenshots, or scanned pages"
                },
                {
                  "type": "policy",
                  "value": "Le Chat is now Vibe at the same chat.mistral.ai entry point; this claim is scoped to the documented Work upload path"
                }
              ],
              "evidence": [
                {
                  "resourceId": "mistral-vibe-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "mistral-vibe-overview",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                10
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot Chat documentation for VS Code",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "JPEG, PNG, GIF, WebP, HEIC, and HEIF images can be pasted, dragged, or added from the VS Code Explorer when the selected model supports image input"
                },
                {
                  "type": "plan",
                  "value": "image attachments are documented as available on all Copilot plans and enabled by default"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-images",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                11
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code workflow documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "images can be dragged into the Claude Code window, pasted with the documented terminal shortcut, or referenced by path and are analyzed as visual context"
                },
                {
                  "type": "runtime",
                  "value": "multiple images, diagrams, screenshots, and mockups are documented; accepted formats and complete model-specific limits are not listed on the workflow page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-images",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                12
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI custom-command documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supported image files, with PNG and JPEG given as examples, are encoded and injected as multimodal input when referenced with @{...} in a custom command"
                },
                {
                  "type": "runtime",
                  "value": "this evidence establishes custom-command file injection, not every ordinary-prompt attachment or clipboard path"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-cli-custom-commands",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/image-input",
      "markdown": "/features/image-input.md",
      "json": "/api/v1/features/image-input.json"
    },
    {
      "title": "Local models",
      "description": "Run against a model hosted on the operator's machine.",
      "slug": "local-models",
      "locale": "en",
      "seoTitle": "Local models — Can My Agent Use",
      "socialTitle": "Local models",
      "socialDescription": "Compare connections to locally hosted models.",
      "llmSummary": "Local model support lets a product use a model hosted on the operator's machine. Model servers, formats, authentication, and feature limitations are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Run against a model hosted on the operator's machine.",
      "specLabel": "Common product term",
      "aliases": [
        "self-hosted model",
        "local inference",
        "on-device model"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "model-selection"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Product cells without reviewed public evidence remain unknown; a configurable remote API endpoint alone is not treated as proof of on-device inference."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: VS Code documents BYOK support for fully offline local models such as Ollama and an experimental setting that enables BYOK models in Agent Host sessions."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Continue documents local Ollama configuration, automatic discovery of installed models, offline operation, and model-role limitations."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: aider documents connecting directly to a local Ollama endpoint and selecting local models from the CLI."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cline documents fully offline local-model operation with either Ollama or LM Studio and calls out hardware and tool-use constraints."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: OpenCode documents local Ollama discovery and explicit configuration for Ollama, vLLM, and other locally hosted OpenAI-compatible servers."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "Ollama — Quickstart",
          "href": "https://docs.ollama.com/quickstart",
          "kind": "docs",
          "publisher": "Ollama",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "microsoft-vscode-local-language-models",
          "title": "Microsoft — AI language models in VS Code",
          "href": "https://code.visualstudio.com/docs/agent-customization/language-models",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Bring your own language model key and local Ollama models"
        },
        {
          "id": "continue-local-ollama-models",
          "title": "Continue — Using Ollama with Continue",
          "href": "https://docs.continue.dev/guides/ollama-guide",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Configure Ollama with Continue and model capabilities"
        },
        {
          "id": "aider-local-ollama-models",
          "title": "aider — Ollama",
          "href": "https://aider.chat/docs/llms/ollama.html",
          "kind": "docs",
          "publisher": "aider",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Local Ollama endpoint and model selection"
        },
        {
          "id": "cline-local-models",
          "title": "Cline — Local models overview",
          "href": "https://docs.cline.bot/running-models-locally/overview",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Running models locally with Cline"
        },
        {
          "id": "opencode-local-models",
          "title": "OpenCode — Models",
          "href": "https://opencode.ai/v2/docs/models",
          "kind": "docs",
          "publisher": "OpenCode",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Local models"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code language-model documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "experimental",
                  "value": "using BYOK models in Agent Host sessions requires chat.agentHost.byokModels.enabled and an Agent Host restart"
                },
                {
                  "type": "runtime",
                  "value": "local Ollama use now requires the official Ollama extension; some VS Code features such as semantic search and embeddings can still require a GitHub account or external service"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-local-language-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Continue Ollama guide",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "local model quality and advertised tool calling determine whether Agent mode, edit, apply, embeddings, and other roles work reliably"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-local-ollama-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "aider",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current aider Ollama documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "weaker local models may fail aider's code-edit protocol; the documented default endpoint is the operator's local Ollama server"
                }
              ],
              "evidence": [
                {
                  "resourceId": "aider-local-ollama-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline local-model guide",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "air-gapped",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "requires a locally running Ollama or LM Studio endpoint and sufficient hardware; feature completeness depends on the model's tool-use behavior and context capacity"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-local-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "opencode",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenCode local-model documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "OpenCode can discover local Ollama models and configure local Ollama, vLLM, or OpenAI-compatible servers; declared capabilities and limits must match the actual model"
                }
              ],
              "evidence": [
                {
                  "resourceId": "opencode-local-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/local-models",
      "markdown": "/features/local-models.md",
      "json": "/api/v1/features/local-models.json"
    },
    {
      "title": "Long-term memory",
      "description": "Persist preferences or working context across sessions.",
      "slug": "long-term-memory",
      "locale": "en",
      "seoTitle": "Long-term memory — Can My Agent Use",
      "socialTitle": "Long-term memory",
      "socialDescription": "Compare persistent preferences and working context across sessions.",
      "llmSummary": "Long-term memory persists documented preferences or working context across sessions. Scope, user controls, shared storage, deletion, and security boundaries are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Persist notes across sessions.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents that a Grok Bot can retain stable working preferences, important facts, and work summaries over time; it warns that memory is not a substitute for an authoritative source."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "xai-grok-bot-memory",
          "title": "xAI — Create and manage Grok Bots",
          "href": "https://docs.x.ai/grok-bot/bots",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What a Bot remembers"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "stable preferences, facts, and summaries persist with the named Bot; shared files and sign-ins belong to the account-scoped computer"
                },
                {
                  "type": "policy",
                  "value": "memory is not an authoritative source and can become stale"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-memory",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/long-term-memory",
      "markdown": "/features/long-term-memory.md",
      "json": "/api/v1/features/long-term-memory.json"
    },
    {
      "title": "MCP Apps",
      "description": "Render an interactive interface returned by an MCP server, with current-track evidence for supported hosts.",
      "slug": "mcp-apps",
      "locale": "en",
      "seoTitle": "MCP Apps compatibility — Can My Agent Use",
      "socialTitle": "Can my agent use MCP Apps?",
      "socialDescription": "Current-track MCP Apps host support, with dated public evidence.",
      "llmSummary": "MCP Apps let tools return interactive interfaces that render inside a compatible MCP host. Selected current-track cells are sourced; all others remain unknown.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Render an interactive interface returned by an MCP server inside the product.",
      "specLabel": "MCP Apps 2026-01-26",
      "specification": {
        "id": "mcp-apps",
        "revision": "2026-01-26",
        "maturity": "stable extension",
        "role": "host rendering a server-provided app",
        "authority": "MCP project",
        "canonicalUrl": "https://modelcontextprotocol.io/extensions/apps/specification"
      },
      "aliases": [
        "MCP UI",
        "interactive MCP apps"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [
        "mcp-tools",
        "mcp-resources"
      ],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: ChatGPT can run MCP-backed apps with interactive in-chat UI, but developer mode and full MCP availability are limited by plan, workspace role, and beta rollout."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: the official MCP Apps client list names Claude, while Anthropic limits custom remote connectors to paid plans and currently labels them beta."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: the official MCP Apps client list names Claude Desktop as a host; connector and extension availability still depends on configuration and administrator policy."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: the VS Code MCP developer guide lists MCP Apps among the protocol features implemented for GitHub Copilot agent mode."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "openai-chatgpt-mcp-apps",
          "title": "OpenAI — Developer mode and MCP apps in ChatGPT",
          "href": "https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openai-apps-sdk",
          "title": "OpenAI — Build with the Apps SDK",
          "href": "https://help.openai.com/en/articles/12515353-build-with-the-apps-sdk",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "mcp-apps-overview",
          "title": "Model Context Protocol — MCP Apps overview and client support",
          "href": "https://modelcontextprotocol.io/extensions/apps/overview",
          "kind": "spec",
          "publisher": "MCP project",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-remote-mcp-apps",
          "title": "Anthropic — Custom connectors using remote MCP",
          "href": "https://support.anthropic.com/en/articles/11175166-about-custom-integrations-using-remote-mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-mcp-apps",
          "title": "Visual Studio Code — MCP developer guide",
          "href": "https://code.visualstudio.com/api/extension-guides/ai/mcp",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 hosted documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "developer mode and full MCP are beta"
                },
                {
                  "type": "plan",
                  "value": "availability varies by ChatGPT plan"
                },
                {
                  "type": "policy",
                  "value": "workspace role and administrator controls apply"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-chatgpt-mcp-apps",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "openai-apps-sdk",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 hosted documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "custom connectors require a paid plan"
                },
                {
                  "type": "preview",
                  "value": "connector workflow is beta"
                }
              ],
              "evidence": [
                {
                  "resourceId": "mcp-apps-overview",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-remote-mcp-apps",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "connector and extension configuration applies"
                }
              ],
              "evidence": [
                {
                  "resourceId": "mcp-apps-overview",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-mcp-apps",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-apps",
      "markdown": "/features/mcp-apps.md",
      "json": "/api/v1/features/mcp-apps.json"
    },
    {
      "title": "MCP cancellation",
      "description": "Cancel an in-flight MCP request and handle cancellation correctly. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-cancellation",
      "locale": "en",
      "seoTitle": "MCP cancellation compatibility — Can My Agent Use",
      "socialTitle": "MCP cancellation",
      "socialDescription": "Cancel an in-flight MCP request and handle cancellation correctly. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP cancellation is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Cancel an in-flight MCP request and handle cancellation correctly.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "protocol utility",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "notifications/cancelled"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "VS Code source sends notifications/cancelled when a pending MCP request is cancelled and cancels pending requests when it receives the same notification."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-mcp-connection-source",
          "title": "Microsoft VS Code — MCP server connection implementation",
          "href": "https://github.com/microsoft/vscode/blob/a39698f7e6ecc255f6e9cf752d1c6d01faf308da/src/vs/workbench/contrib/mcp/common/mcpServerConnection.ts",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "sendRequest cancellation callback and handleCancelledNotification"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code source commit a39698f7",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "the inspected implementation declares MCP 2025-11-25; exact 2026-07-28 revision negotiation is tracked separately"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-mcp-connection-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-cancellation",
      "markdown": "/features/mcp-cancellation.md",
      "json": "/api/v1/features/mcp-cancellation.json"
    },
    {
      "title": "MCP client role",
      "description": "Consume capabilities exposed by MCP servers. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-client-role",
      "locale": "en",
      "seoTitle": "MCP client role compatibility — Can My Agent Use",
      "socialTitle": "MCP client role",
      "socialDescription": "Consume capabilities exposed by MCP servers. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP client role is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Consume capabilities exposed by MCP servers.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "client, host role",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "MCP client"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents Grok Bot connecting to tools through MCP servers and following Cursor team MCP policy; the Agent Plugins compatible-client registry independently lists Grok Bot's supported MCP transports."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: xAI documents custom MCP connectors in Grok Web, including server URL and authentication setup, tool discovery, and making the server's tools available in conversations."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Anthropic documents Claude Code connecting to local and remote MCP servers, discovering their tools, prompts, and resources, and managing those servers through `claude mcp`."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Google documents Gemini CLI connecting to configured MCP servers as a client, discovering tools, prompts, and resources, and executing server-provided tools."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cursor documents its editor and CLI connecting to MCP servers and consuming protocol capabilities exposed by those servers."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Cline documents its desktop extension connecting to configured local or remote MCP servers and using their exposed capabilities."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Continue documents MCP servers as an Agent-mode integration for connecting the editor extension to external tools, systems, databases, and context."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Zed documents that Zed Agent uses Zed-configured MCP servers directly and currently consumes their Tools and Prompts capabilities."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "xai-grok-bot-team-mcp",
          "title": "xAI — Grok Bot for teams and enterprises",
          "href": "https://docs.x.ai/grok-bot/teams-and-enterprises",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Plugins and MCP policy"
        },
        {
          "id": "agent-plugins-grok-bot-client",
          "title": "Agent Plugins — Compatible clients",
          "href": "https://agent-plugins.org/compatible-clients",
          "kind": "spec",
          "publisher": "Agent Plugins",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28",
          "locator": "Grok Bot"
        },
        {
          "id": "xai-grok-web-mcp",
          "title": "xAI — Grok connectors",
          "href": "https://docs.x.ai/grok/connectors",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Custom MCP connectors"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Add MCP servers; use MCP resources and prompts"
        },
        {
          "id": "google-gemini-cli-mcp-docs",
          "title": "Google — MCP servers with Gemini CLI",
          "href": "https://geminicli.com/docs/tools/mcp-server/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What is an MCP server; core integration architecture"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What is MCP; how it works"
        },
        {
          "id": "cline-mcp-docs",
          "title": "Cline — Model Context Protocol",
          "href": "https://docs.cline.bot/mcp/mcp-overview",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What MCP gives you; add servers"
        },
        {
          "id": "continue-mcp-docs",
          "title": "Continue — Model Context Protocol",
          "href": "https://docs.continue.dev/customize/deep-dives/mcp",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How MCP works in Continue"
        },
        {
          "id": "zed-mcp-docs",
          "title": "Zed — Model Context Protocol",
          "href": "https://zed.dev/docs/ai/mcp",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported Features; Agent Path Support"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "configured server scope, enterprise managed configuration, tool permissions, and server health determine which MCP capabilities are available in a session"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "configured server enablement, tool approval, enterprise allowlists, and server health determine which capabilities are available"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Gemini CLI MCP documentation updated 2026-06-18",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "configured server enablement, workspace trust, tool confirmation, and server health determine which capabilities are available"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web connector documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "custom servers must be reachable over the public internet; local-only servers require a separate tunnel"
                },
                {
                  "type": "auth",
                  "value": "server authentication and provider permissions can be required"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-web-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation and compatible-client listing",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "team MCP allowlists, denylists, member-install policy, and network allowlists can disable a server"
                },
                {
                  "type": "auth",
                  "value": "hosted MCP authentication is shared across Cursor and Grok Bot for the account"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-team-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "agent-plugins-grok-bot-client",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "configured server enablement, tool approval, enterprise controls, and server health determine which capabilities are available"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Continue MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "MCP servers are available in Agent mode and depend on the active Continue configuration and server health"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Zed Agent using Zed-configured MCP servers directly, not external agents forwarded through ACP"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-client-role",
      "markdown": "/features/mcp-client-role.md",
      "json": "/api/v1/features/mcp-client-role.json"
    },
    {
      "title": "MCP elicitation",
      "description": "Handle structured user-input requests initiated by an MCP server. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-elicitation",
      "locale": "en",
      "seoTitle": "MCP elicitation compatibility — Can My Agent Use",
      "socialTitle": "MCP elicitation",
      "socialDescription": "Handle structured user-input requests initiated by an MCP server. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP elicitation is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Handle structured user-input requests initiated by an MCP server.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "client feature",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "elicitation/create"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code automatically presents MCP elicitation requests and supports both structured form mode and URL mode, with an optional Elicitation hook for automated responses."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI v0.57.0's MCP client registers only the roots client capability and contains no elicitation request handler, so it does not advertise the classic `elicitation/create` capability."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor's protocol capability table explicitly lists MCP Elicitation as supported server-initiated requests for additional user information."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Respond to MCP elicitation requests"
        },
        {
          "id": "google-gemini-cli-mcp-client-source",
          "title": "Google Gemini CLI v0.57.0 — MCP client implementation",
          "href": "https://github.com/google-gemini/gemini-cli/blob/6b0ae9a6c37aa117cc8b070d8b41c5bb4fa6d253/packages/core/src/tools/mcp-client.ts",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "connectToMcpServer client capability registration and request handlers"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Protocol and extension support — Elicitation"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "an Elicitation hook may be configured to auto-respond instead of showing the interactive dialog"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the documentation confirms elicitation generally but does not enumerate form-mode, URL-mode, or automation-hook behavior"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "release",
                "revision": "Gemini CLI v0.57.0",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "this finding covers the classic elicitation/create client capability; MCP 2026-07-28 multi-round-trip semantics are not claimed"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-elicitation",
      "markdown": "/features/mcp-elicitation.md",
      "json": "/api/v1/features/mcp-elicitation.json"
    },
    {
      "title": "MCP legacy HTTP and SSE",
      "description": "Connect through the superseded HTTP plus SSE transport when migration compatibility is required. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-legacy-sse",
      "locale": "en",
      "seoTitle": "MCP legacy HTTP and SSE compatibility — Can My Agent Use",
      "socialTitle": "MCP legacy HTTP and SSE",
      "socialDescription": "Connect through the superseded HTTP plus SSE transport when migration compatibility is required. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP legacy HTTP and SSE is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Connect through the superseded HTTP plus SSE transport when migration compatibility is required.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "legacy transport",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "MCP SSE"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: the Agent Plugins compatible-client registry explicitly lists legacy MCP SSE for Grok Bot. This is registry evidence, not an independent transport test."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Anthropic documents the `sse` transport for legacy remote Claude Code MCP servers while recommending HTTP for current servers."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents SSE endpoints as one of its three supported MCP transport types."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor documents SSE as a supported local or remote MCP transport and distinguishes it from Streamable HTTP."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cline documents an explicit `sse` transport for legacy remote servers and retains SSE as the default when a remote transport type is omitted."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Continue documents an explicit `sse` remote transport and its pinned desktop client constructs the MCP SDK SSE client transport."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Zed's pinned transport module exposes only stdio and a single-endpoint POST-based HTTP transport; it does not implement the superseded HTTP-plus-SSE client transport."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "agent-plugins-grok-bot-client",
          "title": "Agent Plugins — Compatible clients",
          "href": "https://agent-plugins.org/compatible-clients",
          "kind": "spec",
          "publisher": "Agent Plugins",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28",
          "locator": "Grok Bot"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Add a remote SSE server"
        },
        {
          "id": "google-gemini-cli-mcp-docs",
          "title": "Google — MCP servers with Gemini CLI",
          "href": "https://geminicli.com/docs/tools/mcp-server/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Transport mechanisms — SSE Transport"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Transport table — SSE"
        },
        {
          "id": "cline-mcp-docs",
          "title": "Cline — Model Context Protocol",
          "href": "https://docs.cline.bot/mcp/mcp-overview",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "SSE (Legacy); remote transport default"
        },
        {
          "id": "continue-mcp-docs",
          "title": "Continue — Model Context Protocol",
          "href": "https://docs.continue.dev/customize/deep-dives/mcp",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How to use Server-Sent Events transport"
        },
        {
          "id": "continue-mcp-client-source",
          "title": "Continue source — MCP desktop client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPConnection.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "SSEClientTransport"
        },
        {
          "id": "zed-mcp-transport-source",
          "title": "Zed source — MCP transport module at e3adf43",
          "href": "https://github.com/zed-industries/zed/blob/e3adf43f37d7a2a9c165a78b255d293b0848d2d0/crates/context_server/src/transport.rs",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "exported stdio and HTTP transports"
        },
        {
          "id": "zed-mcp-http-source",
          "title": "Zed source — MCP HTTP transport at e3adf43",
          "href": "https://github.com/zed-industries/zed/blob/e3adf43f37d7a2a9c165a78b255d293b0848d2d0/crates/context_server/src/transport/http.rs",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "single-endpoint POST transport"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "SSE is retained for legacy compatibility; Anthropic recommends the HTTP transport where the server supports it"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "SSE remains supported for compatibility, while Cursor separately documents Streamable HTTP for current HTTP endpoints"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Gemini CLI MCP documentation updated 2026-06-18",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "SSE endpoints can use headers or OAuth; new deployments should prefer Streamable HTTP where available"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Agent Plugins compatible-client listing",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "superseded transport support is registry-listed and was not independently tested by Can My Agent Use"
                },
                {
                  "type": "policy",
                  "value": "organization server and network allowlists can block a remote server"
                }
              ],
              "evidence": [
                {
                  "resourceId": "agent-plugins-grok-bot-client",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "SSE is retained for legacy compatibility; Cline recommends explicit Streamable HTTP for current remote servers"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Continue source commit 5522c6f44ca0 and current documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "SSE is an explicit legacy remote transport and remains separate from Continue's Streamable HTTP path"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "continue-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Zed source commit e3adf43f37d7 observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "SSE response bodies on Zed's POST-based Streamable HTTP path do not constitute the superseded dedicated HTTP-plus-SSE transport"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-transport-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "zed-mcp-http-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-legacy-sse",
      "markdown": "/features/mcp-legacy-sse.md",
      "json": "/api/v1/features/mcp-legacy-sse.json"
    },
    {
      "title": "MCP list-changed notifications",
      "description": "Refresh capability lists when a server announces dynamic changes. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-list-changed",
      "locale": "en",
      "seoTitle": "MCP list-changed notifications compatibility — Can My Agent Use",
      "socialTitle": "MCP list-changed notifications",
      "socialDescription": "Refresh capability lists when a server announces dynamic changes. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP list-changed notifications is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Refresh capability lists when a server announces dynamic changes.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "notification",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "list_changed"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code explicitly supports MCP `list_changed` notifications and refreshes available tools, prompts, and resources without reconnecting."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI v0.57.0 registers tool, resource, and prompt list-change notification handlers and refreshes each corresponding registry."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "MCP list_changed notifications"
        },
        {
          "id": "google-gemini-cli-mcp-client-source",
          "title": "Google Gemini CLI v0.57.0 — MCP client implementation",
          "href": "https://github.com/google-gemini/gemini-cli/blob/6b0ae9a6c37aa117cc8b070d8b41c5bb4fa6d253/packages/core/src/tools/mcp-client.ts",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "registerNotificationHandlers and refreshTools, refreshResources, refreshPrompts"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "release",
                "revision": "Gemini CLI v0.57.0",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "evidence covers the tool, resource, and prompt list_changed notification handlers in the v0.57.0 MCP client"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-list-changed",
      "markdown": "/features/mcp-list-changed.md",
      "json": "/api/v1/features/mcp-list-changed.json"
    },
    {
      "title": "MCP logging",
      "description": "Receive structured log messages emitted by an MCP server. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-logging",
      "locale": "en",
      "seoTitle": "MCP logging compatibility — Can My Agent Use",
      "socialTitle": "MCP logging",
      "socialDescription": "Receive structured log messages emitted by an MCP server. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP logging is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Receive structured log messages emitted by an MCP server.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "protocol utility",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "logging/message"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "VS Code source dispatches MCP notifications/message payloads to its structured MCP log translator."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-mcp-connection-source",
          "title": "Microsoft VS Code — MCP server connection implementation",
          "href": "https://github.com/microsoft/vscode/blob/a39698f7e6ecc255f6e9cf752d1c6d01faf308da/src/vs/workbench/contrib/mcp/common/mcpServerConnection.ts",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "handleServerNotification notifications/message and handleLoggingNotification"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code source commit a39698f7",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "the handler implements structured notifications/message logging; MCP 2026-07-28 retains this notification with revised per-request log-level semantics"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-mcp-connection-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-logging",
      "markdown": "/features/mcp-logging.md",
      "json": "/api/v1/features/mcp-logging.json"
    },
    {
      "title": "MCP OAuth authorization",
      "description": "Complete the MCP authorization flow for protected remote servers. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-oauth",
      "locale": "en",
      "seoTitle": "MCP OAuth authorization compatibility — Can My Agent Use",
      "socialTitle": "MCP OAuth authorization",
      "socialDescription": "Complete the MCP authorization flow for protected remote servers. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP OAuth authorization is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Complete the MCP authorization flow for protected remote servers.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "authorization",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "MCP OAuth"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code documents browser-based OAuth for remote HTTP MCP servers, secure token storage and refresh, revocation, callback recovery, and fixed callback-port or preconfigured-client options."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents OAuth 2.0 for remote SSE and HTTP MCP servers, automatic discovery, browser authorization, token storage and refresh, and `/mcp auth` management."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor documents OAuth for remote MCP servers, dynamic or static client registration, fixed redirect URLs, and CLI login with automatic callback handling."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cline's pinned desktop implementation performs MCP OAuth discovery, client registration, browser authorization, callback validation, code exchange, token storage, and refresh for remote SSE and Streamable HTTP servers."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Continue's pinned desktop implementation includes the MCP OAuth authorization-code flow, but its connection path states that native OAuth is currently supported only for the legacy SSE transport."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Zed documents prompting the user through the standard MCP OAuth flow when a remote server has no configured Authorization header."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Authenticate with remote MCP servers"
        },
        {
          "id": "google-gemini-cli-mcp-docs",
          "title": "Google — MCP servers with Gemini CLI",
          "href": "https://geminicli.com/docs/tools/mcp-server/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "OAuth support for remote MCP servers"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Static OAuth for remote servers; Authentication"
        },
        {
          "id": "cline-mcp-oauth-source",
          "title": "Cline source — MCP OAuth manager at 27350f2",
          "href": "https://github.com/cline/cline/blob/27350f243c2a31c97b4e38fa700e009a2f61adae/apps/vscode/src/services/mcp/McpOAuthManager.ts",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "ClineOAuthClientProvider and startOAuthFlow"
        },
        {
          "id": "cline-mcp-client-source",
          "title": "Cline source — MCP desktop client at 27350f2",
          "href": "https://github.com/cline/cline/blob/27350f243c2a31c97b4e38fa700e009a2f61adae/apps/vscode/src/services/mcp/McpHub.ts",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "remote transport authProvider"
        },
        {
          "id": "continue-mcp-oauth-source",
          "title": "Continue source — MCP OAuth client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPOauth.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "MCPConnectionOauthProvider and OAuth callback flow"
        },
        {
          "id": "continue-mcp-client-source",
          "title": "Continue source — MCP desktop client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPConnection.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "native OAuth transport scope"
        },
        {
          "id": "zed-mcp-docs",
          "title": "Zed — Model Context Protocol",
          "href": "https://zed.dev/docs/ai/mcp",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "custom remote server OAuth note"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "OAuth applies to HTTP servers and requires a server-compatible redirect and client-registration flow"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "remote servers may use dynamic registration or configured static credentials, and redirect URLs differ between web/agents and desktop surfaces"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Gemini CLI MCP documentation updated 2026-06-18",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "browser-based OAuth requires local callback access; headless, remote SSH, and container environments need an alternative authentication arrangement"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Cline source commit 27350f243c2a observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "browser authorization requires a working local callback path; manually configured authorization headers remain a separate option"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-oauth-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "cline-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Continue source commit 5522c6f44ca0 observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "the reviewed desktop connection path limits native MCP OAuth handling to legacy SSE servers"
                },
                {
                  "type": "auth",
                  "value": "a browser callback is required; API keys and configured headers are separate authentication paths"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-oauth-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "continue-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "automatic OAuth prompting applies when a remote server has no configured Authorization header"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-oauth",
      "markdown": "/features/mcp-oauth.md",
      "json": "/api/v1/features/mcp-oauth.json"
    },
    {
      "title": "MCP progress notifications",
      "description": "Receive progress updates for long-running requests. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-progress",
      "locale": "en",
      "seoTitle": "MCP progress notifications compatibility — Can My Agent Use",
      "socialTitle": "MCP progress notifications",
      "socialDescription": "Receive progress updates for long-running requests. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP progress notifications is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Receive progress updates for long-running requests.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "protocol utility",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "notifications/progress"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "VS Code source exposes and fires an event for MCP notifications/progress messages."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-mcp-connection-source",
          "title": "Microsoft VS Code — MCP server connection implementation",
          "href": "https://github.com/microsoft/vscode/blob/a39698f7e6ecc255f6e9cf752d1c6d01faf308da/src/vs/workbench/contrib/mcp/common/mcpServerConnection.ts",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "onDidReceiveProgressNotification and notifications/progress dispatch"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code source commit a39698f7",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "the inspected implementation declares MCP 2025-11-25; exact 2026-07-28 revision negotiation is tracked separately"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-mcp-connection-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-progress",
      "markdown": "/features/mcp-progress.md",
      "json": "/api/v1/features/mcp-progress.json"
    },
    {
      "title": "MCP prompt-list notifications",
      "description": "Refresh prompt templates after a server announces changes. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-prompts-list-changed",
      "locale": "en",
      "seoTitle": "MCP prompt-list notifications compatibility — Can My Agent Use",
      "socialTitle": "MCP prompt-list notifications",
      "socialDescription": "Refresh prompt templates after a server announces changes. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP prompt-list notifications is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Refresh prompt templates after a server announces changes.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "prompt notification",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "prompts/list_changed"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code explicitly supports MCP `list_changed` notifications for prompts, tools, and resources, refreshing the available lists without reconnecting."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "MCP list_changed notifications"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-prompts-list-changed",
      "markdown": "/features/mcp-prompts-list-changed.md",
      "json": "/api/v1/features/mcp-prompts-list-changed.json"
    },
    {
      "title": "MCP prompts",
      "description": "Invoke reusable MCP prompt templates. Compatibility evidence is published only after review.",
      "slug": "mcp-prompts",
      "locale": "en",
      "seoTitle": "MCP prompts — Can My Agent Use",
      "socialTitle": "MCP prompts",
      "socialDescription": "Invoke reusable MCP prompt templates. Unreviewed cells remain unknown.",
      "llmSummary": "MCP prompts: Invoke reusable MCP prompt templates. Unreviewed harness cells remain unknown until dated public evidence exists.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Invoke reusable MCP prompt templates.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "host or client retrieving server prompt templates",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28/server/prompts"
      },
      "aliases": [
        "prompts/list",
        "prompts/get",
        "MCP prompt templates"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [
        "mcp-tools",
        "mcp-resources"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code dynamically discovers MCP prompts and exposes them as `/mcp__servername__promptname` commands with documented argument handling."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Microsoft's VS Code MCP developer guide states that VS Code implements MCP tools, prompts, and resources; the claim is scoped to GitHub Copilot's local VS Code agent surface."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI discovers MCP prompts and exposes them as named slash commands with positional or named argument handling."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor's protocol capability table explicitly lists MCP Prompts as supported templated messages and workflows."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cline's pinned desktop client requests `prompts/list` and displays prompt metadata and arguments, but the reviewed surface does not retrieve prompt messages with `prompts/get`."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Continue's pinned desktop client lists MCP prompts, exposes them as slash commands, and retrieves selected prompt messages with `prompts/get`."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Zed explicitly lists MCP Prompts among the server features supported by Zed Agent."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use MCP prompts as commands"
        },
        {
          "id": "vscode-mcp-developer-guide",
          "title": "Visual Studio Code — MCP developer guide",
          "href": "https://code.visualstudio.com/api/extension-guides/ai/mcp",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "MCP implementation overview"
        },
        {
          "id": "google-gemini-cli-mcp-docs",
          "title": "Google — MCP servers with Gemini CLI",
          "href": "https://geminicli.com/docs/tools/mcp-server/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "MCP prompts as slash commands"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Protocol and extension support — Prompts"
        },
        {
          "id": "cline-mcp-client-source",
          "title": "Cline source — MCP desktop client at 27350f2",
          "href": "https://github.com/cline/cline/blob/27350f243c2a31c97b4e38fa700e009a2f61adae/apps/vscode/src/services/mcp/McpHub.ts",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "fetchPromptsList and fetchServerCapabilities"
        },
        {
          "id": "continue-mcp-client-source",
          "title": "Continue source — MCP desktop client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPManagerSingleton.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "getPrompt"
        },
        {
          "id": "continue-mcp-prompt-source",
          "title": "Continue source — MCP slash-command adapter at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/commands/slash/mcpSlashCommand.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "stringifyMcpPrompt"
        },
        {
          "id": "zed-mcp-docs",
          "title": "Zed — Model Context Protocol",
          "href": "https://zed.dev/docs/ai/mcp",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported Features"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "commands appear only for prompts exposed by connected and healthy MCP servers"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to GitHub Copilot's local VS Code agent surface, not every Copilot product surface"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-mcp-developer-guide",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "available templates and their arguments depend on prompts exposed by the connected server"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Gemini CLI MCP documentation updated 2026-06-18",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "slash commands appear only for prompts discovered from connected servers"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Cline source commit 27350f243c2a observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the reviewed desktop client lists prompts and displays their metadata but does not evidence prompts/get or insertion of prompt messages into a task"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Continue source commit 5522c6f44ca0 observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "prompts are supplied by connected servers that declare the prompts capability and are exposed through Continue's slash-command path"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "continue-mcp-prompt-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "status is scoped to Zed Agent's direct use of Zed-configured MCP servers"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-prompts",
      "markdown": "/features/mcp-prompts.md",
      "json": "/api/v1/features/mcp-prompts.json"
    },
    {
      "title": "MCP Registry metadata",
      "description": "Discover MCP servers and metadata through the official registry model. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-registry",
      "locale": "en",
      "seoTitle": "MCP Registry metadata compatibility — Can My Agent Use",
      "socialTitle": "MCP Registry metadata",
      "socialDescription": "Discover MCP servers and metadata through the official registry model. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP Registry metadata is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Discover MCP servers and metadata through the official registry model.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "distribution",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "MCP Registry"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "VS Code can browse and install MCP server metadata from an administrator-configured registry and can restrict access to registry-listed servers."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-enterprise-mcp-registry",
          "title": "Microsoft VS Code — Configure MCP server access and custom registries",
          "href": "https://code.visualstudio.com/docs/enterprise/ai-settings#_configure-a-custom-mcp-registry",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Configure a custom MCP registry"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code documentation dated 2026-08-26",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "an administrator configures the registry with McpGalleryServiceUrl; registry-only policy can restrict installs to its catalog"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-enterprise-mcp-registry",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-registry",
      "markdown": "/features/mcp-registry.md",
      "json": "/api/v1/features/mcp-registry.json"
    },
    {
      "title": "MCP resource subscriptions",
      "description": "Subscribe to resource changes and receive update notifications. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-resource-subscriptions",
      "locale": "en",
      "seoTitle": "MCP resource subscriptions compatibility — Can My Agent Use",
      "socialTitle": "MCP resource subscriptions",
      "socialDescription": "Subscribe to resource changes and receive update notifications. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP resource subscriptions is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Subscribe to resource changes and receive update notifications.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "resource notification",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "resources/subscribe"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "VS Code documents real-time resource updates and its source implements the legacy resources/subscribe, resources/unsubscribe, and notifications/resources/updated flow."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-mcp-guide",
          "title": "Microsoft VS Code — MCP developer guide",
          "href": "https://code.visualstudio.com/api/extension-guides/ai/mcp",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Resources — resource updates"
        },
        {
          "id": "microsoft-vscode-mcp-connection-source",
          "title": "Microsoft VS Code — MCP server connection implementation",
          "href": "https://github.com/microsoft/vscode/blob/a39698f7e6ecc255f6e9cf752d1c6d01faf308da/src/vs/workbench/contrib/mcp/common/mcpServerConnection.ts",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "subscribe, unsubscribe, and notifications/resources/updated handling"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code docs and source commit a39698f7",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "the inspected implementation uses the 2025-11-25 resources/subscribe flow; MCP 2026-07-28 replaces it with subscriptions/listen"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-mcp-guide",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "microsoft-vscode-mcp-connection-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-resource-subscriptions",
      "markdown": "/features/mcp-resource-subscriptions.md",
      "json": "/api/v1/features/mcp-resource-subscriptions.json"
    },
    {
      "title": "MCP resources",
      "description": "Read MCP resources as live context. Compatibility evidence is published only after review.",
      "slug": "mcp-resources",
      "locale": "en",
      "seoTitle": "MCP resources — Can My Agent Use",
      "socialTitle": "MCP resources",
      "socialDescription": "Read MCP resources as live context. Unreviewed cells remain unknown.",
      "llmSummary": "MCP resources: Read MCP resources as live context. Unreviewed harness cells remain unknown until dated public evidence exists.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Read MCP resources as live context.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "host or client reading server resources",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28/server/resources"
      },
      "aliases": [
        "resources/list",
        "resources/read",
        "MCP context resources"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [
        "mcp-tools",
        "mcp-prompts"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code lists and reads MCP resources, exposes them through `@` mentions, and fetches referenced resources into conversation context."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Microsoft's VS Code MCP developer guide states that VS Code implements MCP tools, prompts, and resources; the end-user skill is scoped to GitHub Copilot's local VS Code agent surface."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI fetches `resources/list`, exposes resource URIs through `@` completion, calls `resources/read`, and injects the result into conversation context."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor's protocol capability table explicitly lists MCP Resources as supported structured data sources that can be read and referenced."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cline's pinned desktop client requests `resources/list` and displays resource metadata, but the reviewed MCP client surface does not read resource contents into agent context."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Continue's pinned desktop client lists resources, reads a selected resource, and injects text contents through its MCP context provider; non-text contents are rejected and resource-template support is experimental."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Zed's current MCP documentation explicitly limits supported server features to Tools and Prompts, so MCP Resources are not supported on the reviewed Zed Agent path."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use MCP resources"
        },
        {
          "id": "vscode-mcp-developer-guide",
          "title": "Visual Studio Code — MCP developer guide",
          "href": "https://code.visualstudio.com/api/extension-guides/ai/mcp",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "MCP implementation overview"
        },
        {
          "id": "google-gemini-cli-mcp-docs",
          "title": "Google — MCP servers with Gemini CLI",
          "href": "https://geminicli.com/docs/tools/mcp-server/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Working with MCP resources"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Protocol and extension support — Resources"
        },
        {
          "id": "cline-mcp-client-source",
          "title": "Cline source — MCP desktop client at 27350f2",
          "href": "https://github.com/cline/cline/blob/27350f243c2a31c97b4e38fa700e009a2f61adae/apps/vscode/src/services/mcp/McpHub.ts",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "fetchResourcesList and fetchServerCapabilities"
        },
        {
          "id": "continue-mcp-client-source",
          "title": "Continue source — MCP desktop client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPConnection.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "listResources and getResource"
        },
        {
          "id": "continue-mcp-context-source",
          "title": "Continue source — MCP context provider at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/providers/MCPContextProvider.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "resource read and text-content conversion"
        },
        {
          "id": "zed-mcp-docs",
          "title": "Zed — Model Context Protocol",
          "href": "https://zed.dev/docs/ai/mcp",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported Features"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "resource availability and media types depend on the connected server"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to GitHub Copilot's local VS Code agent surface, not every Copilot product surface"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-mcp-developer-guide",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "exact resource availability, URI schemes, and media types depend on the connected server"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Gemini CLI MCP documentation updated 2026-06-18",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "exact resource availability, URI schemes, and media types depend on the connected server"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Cline source commit 27350f243c2a observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the reviewed desktop client lists resources and resource templates for display but does not evidence resources/read or resource-content injection into agent context"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Continue source commit 5522c6f44ca0 observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Continue currently accepts text resource contents only; its resource-template path is experimental and supports a query placeholder"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "continue-mcp-context-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "status is scoped to Zed Agent's direct use of Zed-configured MCP servers"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-resources",
      "markdown": "/features/mcp-resources.md",
      "json": "/api/v1/features/mcp-resources.json"
    },
    {
      "title": "MCP revision compatibility",
      "description": "Implement or negotiate the exact dated MCP revision. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-revision",
      "locale": "en",
      "seoTitle": "MCP revision compatibility compatibility — Can My Agent Use",
      "socialTitle": "MCP revision compatibility",
      "socialDescription": "Implement or negotiate the exact dated MCP revision. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP revision compatibility is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Implement or negotiate the exact dated MCP revision.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "protocol revision",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "MCP revision"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Microsoft documentation broadly claims full MCP support, while the pinned VS Code source still declares 2025-11-25 as its latest protocol version."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-mcp-guide",
          "title": "Microsoft VS Code — MCP developer guide",
          "href": "https://code.visualstudio.com/api/extension-guides/ai/mcp",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "introduction — implements the full MCP specification"
        },
        {
          "id": "microsoft-vscode-mcp-schema-source",
          "title": "Microsoft VS Code — vendored MCP protocol schema",
          "href": "https://github.com/microsoft/vscode/blob/a39698f7e6ecc255f6e9cf752d1c6d01faf308da/src/vs/platform/mcp/common/modelContextProtocol.ts",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "LATEST_PROTOCOL_VERSION"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code docs and source commit a39698f7",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "current documentation says VS Code implements the full MCP specification, but the inspected source declares LATEST_PROTOCOL_VERSION as 2025-11-25 rather than 2026-07-28"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-mcp-guide",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "microsoft-vscode-mcp-schema-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-revision",
      "markdown": "/features/mcp-revision.md",
      "json": "/api/v1/features/mcp-revision.json"
    },
    {
      "title": "MCP roots",
      "description": "Provide filesystem or workspace roots to an MCP server. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-roots",
      "locale": "en",
      "seoTitle": "MCP roots compatibility — Can My Agent Use",
      "socialTitle": "MCP roots",
      "socialDescription": "Provide filesystem or workspace roots to an MCP server. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP roots is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Provide filesystem or workspace roots to an MCP server.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "client feature",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "roots/list"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code documents the MCP `roots/list` request returning the directory from which Claude Code was launched."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI v0.57.0 advertises the roots capability, handles `roots/list` from its current workspace directories, and sends `roots/list_changed` when those directories change."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor's protocol capability table explicitly lists MCP Roots as supported server-initiated inquiries into URI or filesystem boundaries."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cline's pinned desktop MCP client initializes with an empty client-capabilities object, so it does not advertise or handle the Roots capability."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Continue's pinned desktop MCP client initializes with an empty client-capabilities object, so it does not advertise or handle the Roots capability."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Zed's pinned MCP initialization explicitly sets the client Roots capability to none."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "MCP installation scopes and roots/list"
        },
        {
          "id": "google-gemini-cli-mcp-client-source",
          "title": "Google Gemini CLI v0.57.0 — MCP client implementation",
          "href": "https://github.com/google-gemini/gemini-cli/blob/6b0ae9a6c37aa117cc8b070d8b41c5bb4fa6d253/packages/core/src/tools/mcp-client.ts",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "registerCapabilities roots and ListRootsRequestSchema handler"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Protocol and extension support — Roots"
        },
        {
          "id": "cline-mcp-client-source",
          "title": "Cline source — MCP desktop client at 27350f2",
          "href": "https://github.com/cline/cline/blob/27350f243c2a31c97b4e38fa700e009a2f61adae/apps/vscode/src/services/mcp/McpHub.ts",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Client initialization capabilities"
        },
        {
          "id": "continue-mcp-client-source",
          "title": "Continue source — MCP desktop client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPConnection.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Client initialization capabilities"
        },
        {
          "id": "zed-mcp-protocol-source",
          "title": "Zed source — MCP protocol client at e3adf43",
          "href": "https://github.com/zed-industries/zed/blob/e3adf43f37d7a2a9c165a78b255d293b0848d2d0/crates/context_server/src/protocol.rs",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "InitializeParams client capabilities"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the documented root is the directory Claude Code was launched from"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the documentation confirms the capability but does not enumerate Cursor's root selection or change-notification policy"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "release",
                "revision": "Gemini CLI v0.57.0",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "roots are derived from the CLI workspace context and change notifications follow workspace-directory updates"
                },
                {
                  "type": "protocol-revision",
                  "value": "evidence covers the pre-2026 roots/list request flow implemented by Gemini CLI v0.57.0"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Cline source commit 27350f243c2a observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "status is scoped to Cline's desktop extension MCP client"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Continue source commit 5522c6f44ca0 observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "status is scoped to Continue's desktop extension MCP client"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Zed source commit e3adf43f37d7 observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "status is scoped to Zed Agent's direct MCP client initialization"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-protocol-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-roots",
      "markdown": "/features/mcp-roots.md",
      "json": "/api/v1/features/mcp-roots.json"
    },
    {
      "title": "MCP sampling",
      "description": "Handle server requests for model sampling through the client. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-sampling",
      "locale": "en",
      "seoTitle": "MCP sampling compatibility — Can My Agent Use",
      "socialTitle": "MCP sampling",
      "socialDescription": "Handle server requests for model sampling through the client. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP sampling is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Handle server requests for model sampling through the client.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "client feature",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "sampling/createMessage"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "VS Code documents MCP server sampling through the user's configured models, with first-use authorization and per-server model controls."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-mcp-guide",
          "title": "Microsoft VS Code — MCP developer guide",
          "href": "https://code.visualstudio.com/api/extension-guides/ai/mcp#_sampling",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Sampling"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code documentation dated 2026-07-29",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "the user authorizes a server's first sampling request and can restrict which configured models that server may use"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-mcp-guide",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-sampling",
      "markdown": "/features/mcp-sampling.md",
      "json": "/api/v1/features/mcp-sampling.json"
    },
    {
      "title": "MCP server instructions",
      "description": "Consume server-provided instructions during initialization. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-server-instructions",
      "locale": "en",
      "seoTitle": "MCP server instructions compatibility — Can My Agent Use",
      "socialTitle": "MCP server instructions",
      "socialDescription": "Consume server-provided instructions during initialization. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP server instructions is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Consume server-provided instructions during initialization.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "metadata",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "server instructions"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code's MCP guide explicitly describes the server `instructions` field as useful context for deferred MCP tool discovery; the reviewed page does not define how every instruction is surfaced or prioritized."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Scale with MCP Tool Search; for MCP server authors"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the server instructions field is documented as input to Tool Search, but the documentation does not specify full initialization-time display, precedence, or conflict behavior"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-server-instructions",
      "markdown": "/features/mcp-server-instructions.md",
      "json": "/api/v1/features/mcp-server-instructions.json"
    },
    {
      "title": "MCP server role",
      "description": "Expose capabilities from the harness as an MCP server. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-server-role",
      "locale": "en",
      "seoTitle": "MCP server role compatibility — Can My Agent Use",
      "socialTitle": "MCP server role",
      "socialDescription": "Expose capabilities from the harness as an MCP server. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP server role is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Expose capabilities from the harness as an MCP server.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "server role",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "MCP server"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Anthropic documents `claude mcp serve`, which runs Claude Code itself as an MCP server and exposes Claude Code tools to another MCP client."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use Claude Code as an MCP server"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "the consuming MCP client is responsible for user confirmation around the exposed Claude Code tool calls"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-server-role",
      "markdown": "/features/mcp-server-role.md",
      "json": "/api/v1/features/mcp-server-role.json"
    },
    {
      "title": "MCP stdio transport",
      "description": "Connect to a local MCP server over standard input and output. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-stdio",
      "locale": "en",
      "seoTitle": "MCP stdio transport compatibility — Can My Agent Use",
      "socialTitle": "MCP stdio transport",
      "socialDescription": "Connect to a local MCP server over standard input and output. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP stdio transport is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Connect to a local MCP server over standard input and output.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "transport",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "stdio MCP"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: the Agent Plugins compatible-client registry explicitly lists MCP stdio for Grok Bot. This is registry evidence, not an independent transport test."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Anthropic documents adding local Claude Code MCP servers with the stdio transport and a command plus arguments."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents spawning local MCP subprocesses and communicating over stdin/stdout."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor documents stdio as a supported local MCP transport managed by Cursor and provides its command, arguments, and environment configuration fields."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cline documents local MCP servers using the stdio transport with command, arguments, environment, and optional working-directory configuration."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Continue documents local MCP server configurations using a command and arguments, and its pinned desktop client constructs a Stdio client transport."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Zed documents local custom MCP servers configured with a command, arguments, and environment, and its pinned client uses a dedicated stdio transport."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "agent-plugins-grok-bot-client",
          "title": "Agent Plugins — Compatible clients",
          "href": "https://agent-plugins.org/compatible-clients",
          "kind": "spec",
          "publisher": "Agent Plugins",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28",
          "locator": "Grok Bot"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Add a local stdio server"
        },
        {
          "id": "google-gemini-cli-mcp-docs",
          "title": "Google — MCP servers with Gemini CLI",
          "href": "https://geminicli.com/docs/tools/mcp-server/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Transport mechanisms — Stdio Transport"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Transport table and STDIO server configuration"
        },
        {
          "id": "cline-mcp-docs",
          "title": "Cline — Model Context Protocol",
          "href": "https://docs.cline.bot/mcp/mcp-overview",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Configuration examples — Local server (STDIO)"
        },
        {
          "id": "continue-mcp-docs",
          "title": "Continue — Model Context Protocol",
          "href": "https://docs.continue.dev/customize/deep-dives/mcp",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "local MCP server configuration"
        },
        {
          "id": "continue-mcp-client-source",
          "title": "Continue source — MCP desktop client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPConnection.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "constructStdioTransport"
        },
        {
          "id": "zed-mcp-docs",
          "title": "Zed — Model Context Protocol",
          "href": "https://zed.dev/docs/ai/mcp",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "custom local server configuration"
        },
        {
          "id": "zed-mcp-client-source",
          "title": "Zed source — MCP client at e3adf43",
          "href": "https://github.com/zed-industries/zed/blob/e3adf43f37d7a2a9c165a78b255d293b0848d2d0/crates/context_server/src/client.rs",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Client::stdio"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "server command, arguments, environment, and configuration scope are supplied by the operator or administrator"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "Cursor launches the configured local command; executable availability, environment, workspace trust, and enterprise policy can prevent connection"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Gemini CLI MCP documentation updated 2026-06-18",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "stdio servers are started only for trusted folders and use the configured command, arguments, environment, and working directory"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Agent Plugins compatible-client listing",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "transport support is registry-listed and was not independently tested by Can My Agent Use"
                }
              ],
              "evidence": [
                {
                  "resourceId": "agent-plugins-grok-bot-client",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "Cline launches the configured command; executable availability, environment, working directory, and enterprise policy can prevent connection"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Continue source commit 5522c6f44ca0 and current documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "Continue launches the configured local command; executable availability, environment, working directory, and server health can prevent connection"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "continue-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Zed source commit e3adf43f37d7 and current documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "Zed launches the configured local command; executable availability, environment, and server configuration determine connection success"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "zed-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-stdio",
      "markdown": "/features/mcp-stdio.md",
      "json": "/api/v1/features/mcp-stdio.json"
    },
    {
      "title": "MCP Streamable HTTP",
      "description": "Connect to an MCP server over the current Streamable HTTP transport. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-streamable-http",
      "locale": "en",
      "seoTitle": "MCP Streamable HTTP compatibility — Can My Agent Use",
      "socialTitle": "MCP Streamable HTTP",
      "socialDescription": "Connect to an MCP server over the current Streamable HTTP transport. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP Streamable HTTP is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Connect to an MCP server over the current Streamable HTTP transport.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "transport",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "Streamable HTTP"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: the Agent Plugins compatible-client registry explicitly lists MCP Streamable HTTP for Grok Bot. This is registry evidence, not an independent transport test."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Anthropic documents adding remote Claude Code MCP servers with the HTTP transport and a server URL."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents Streamable HTTP as a supported MCP transport using HTTP streaming."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor documents Streamable HTTP as a supported local or remote MCP transport using an HTTP endpoint."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cline documents Streamable HTTP as its recommended remote MCP transport and provides an explicit `streamableHttp` configuration."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Continue documents `streamable-http` remote MCP configuration and its pinned desktop client constructs the MCP SDK Streamable HTTP client transport."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Zed documents a single remote MCP endpoint, while its pinned HTTP transport sends JSON-RPC with POST and accepts JSON or request-scoped SSE responses."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "agent-plugins-grok-bot-client",
          "title": "Agent Plugins — Compatible clients",
          "href": "https://agent-plugins.org/compatible-clients",
          "kind": "spec",
          "publisher": "Agent Plugins",
          "evidenceType": "listed",
          "reviewedAt": "2026-08-28",
          "locator": "Grok Bot"
        },
        {
          "id": "anthropic-claude-code-mcp",
          "title": "Anthropic — Connect Claude Code to tools via MCP",
          "href": "https://code.claude.com/docs/en/mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Add a remote HTTP server"
        },
        {
          "id": "google-gemini-cli-mcp-docs",
          "title": "Google — MCP servers with Gemini CLI",
          "href": "https://geminicli.com/docs/tools/mcp-server/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Transport mechanisms — Streamable HTTP Transport"
        },
        {
          "id": "cursor-mcp-docs",
          "title": "Cursor — Model Context Protocol",
          "href": "https://prod.cursor.com/docs/mcp",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Transport table — Streamable HTTP"
        },
        {
          "id": "cline-mcp-docs",
          "title": "Cline — Model Context Protocol",
          "href": "https://docs.cline.bot/mcp/mcp-overview",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Remote server (Streamable HTTP); transport types"
        },
        {
          "id": "continue-mcp-docs",
          "title": "Continue — Model Context Protocol",
          "href": "https://docs.continue.dev/customize/deep-dives/mcp",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How to use Streamable HTTP transport"
        },
        {
          "id": "continue-mcp-client-source",
          "title": "Continue source — MCP desktop client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPConnection.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "StreamableHTTPClientTransport"
        },
        {
          "id": "zed-mcp-docs",
          "title": "Zed — Model Context Protocol",
          "href": "https://zed.dev/docs/ai/mcp",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "custom remote server configuration"
        },
        {
          "id": "zed-mcp-http-source",
          "title": "Zed source — MCP HTTP transport at e3adf43",
          "href": "https://github.com/zed-industries/zed/blob/e3adf43f37d7a2a9c165a78b255d293b0848d2d0/crates/context_server/src/transport/http.rs",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "POST request and JSON or SSE response handling"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "the remote server must be reachable from the Claude Code host and may require headers or OAuth"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "the configured HTTP endpoint must be reachable and may be restricted by authentication, enterprise MCP policy, and URL/network allowlists"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Gemini CLI MCP documentation updated 2026-06-18",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "the configured endpoint must be reachable and can require headers, OAuth, or other documented authentication providers"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Agent Plugins compatible-client listing",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "transport support is registry-listed and was not independently tested by Can My Agent Use"
                },
                {
                  "type": "policy",
                  "value": "organization server and network allowlists can block a remote server"
                }
              ],
              "evidence": [
                {
                  "resourceId": "agent-plugins-grok-bot-client",
                  "type": "listed",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "the endpoint must be reachable and `type` must be set to `streamableHttp`; omitted remote types retain legacy SSE behavior for compatibility"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Continue source commit 5522c6f44ca0 and current documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "the configured endpoint must be reachable and may require API-key or custom-header configuration; native desktop OAuth is separately limited"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "continue-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Zed source commit e3adf43f37d7 and current documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "the pinned source negotiates MCP through revision 2025-11-25; it does not yet advertise the catalog's 2026-07-28 revision"
                },
                {
                  "type": "transport",
                  "value": "the remote endpoint must be reachable and may require configured headers or Zed's OAuth flow"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "zed-mcp-http-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-streamable-http",
      "markdown": "/features/mcp-streamable-http.md",
      "json": "/api/v1/features/mcp-streamable-http.json"
    },
    {
      "title": "MCP task listing",
      "description": "List and page through tasks exposed by the task utility. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-task-listing",
      "locale": "en",
      "seoTitle": "MCP task listing compatibility — Can My Agent Use",
      "socialTitle": "MCP task listing",
      "socialDescription": "List and page through tasks exposed by the task utility. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP task listing is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "List and page through tasks exposed by the task utility.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "protocol utility",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "tasks/list"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Pinned VS Code source implements paginated tasks/list requests in both the MCP client connection and host-side task dispatcher."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-mcp-connection-source",
          "title": "Microsoft VS Code — MCP server connection implementation",
          "href": "https://github.com/microsoft/vscode/blob/a39698f7e6ecc255f6e9cf752d1c6d01faf308da/src/vs/workbench/contrib/mcp/common/mcpServerConnection.ts",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "tasks/list dispatch and paginated listTasks client method"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code source commit a39698f7",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "this is the experimental 2025-11-25 tasks/list design; MCP 2026-07-28 removes tasks/list from the redesigned Tasks extension"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-mcp-connection-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/mcp-task-listing",
      "markdown": "/features/mcp-task-listing.md",
      "json": "/api/v1/features/mcp-task-listing.json"
    },
    {
      "title": "MCP tasks",
      "description": "Create, inspect, and manage long-running MCP tasks. Compatibility evidence is tracked independently from other MCP capabilities.",
      "slug": "mcp-tasks",
      "locale": "en",
      "seoTitle": "MCP tasks compatibility — Can My Agent Use",
      "socialTitle": "MCP tasks",
      "socialDescription": "Create, inspect, and manage long-running MCP tasks. Unreviewed product cells remain unknown.",
      "llmSummary": "MCP tasks is an atomic MCP capability. Support for another MCP primitive does not imply this capability.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Create, inspect, and manage long-running MCP tasks.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "protocol utility",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "MCP tasks"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Pinned VS Code source implements creation, status inspection, result retrieval, cancellation, and listing for the older experimental MCP task design."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        },
        {
          "id": "microsoft-vscode-mcp-task-source",
          "title": "Microsoft VS Code — MCP task manager implementation",
          "href": "https://github.com/microsoft/vscode/blob/a39698f7e6ecc255f6e9cf752d1c6d01faf308da/src/vs/workbench/contrib/mcp/common/mcpTaskManager.ts",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "task creation, status, result, cancellation, and listing"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "VS Code source commit a39698f7",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "protocol-revision",
                  "value": "source implements the experimental 2025-11-25 core task design; MCP 2026-07-28 moves redesigned tasks to io.modelcontextprotocol/tasks with tasks/get and tasks/update semantics"
                },
                {
                  "type": "runtime",
                  "value": "implementation evidence is present in current source, but no first-party end-user documentation was located for availability in a stable VS Code release"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-mcp-task-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/mcp-tasks",
      "markdown": "/features/mcp-tasks.md",
      "json": "/api/v1/features/mcp-tasks.json"
    },
    {
      "title": "MCP tools",
      "description": "Invoke tools exposed by a Model Context Protocol server, with current-track evidence for selected harnesses.",
      "slug": "mcp-tools",
      "locale": "en",
      "seoTitle": "MCP tools compatibility — Can My Agent Use",
      "socialTitle": "Can my agent use MCP tools?",
      "socialDescription": "Current-track MCP tool support by agent harness, with dated public evidence.",
      "llmSummary": "MCP tools let a harness invoke operations exposed by a Model Context Protocol server. Selected current-track cells are sourced; all others remain unknown.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Invoke operations exposed by a Model Context Protocol server.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "host or client invoking server tools",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28/server/tools"
      },
      "aliases": [
        "MCP tool calling",
        "tools/list",
        "tools/call"
      ],
      "capabilityKind": "atomic",
      "parent": "mcp",
      "related": [
        "mcp-resources",
        "mcp-prompts",
        "mcp-apps"
      ],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: ChatGPT developer mode can scan and invoke tools from custom remote MCP apps on ChatGPT web, but full MCP is a beta rollout limited by plan and workspace controls."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude web supports tools from custom remote MCP connectors on paid plans, and Anthropic labels the feature beta."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude Desktop supports local MCP servers through desktop extensions and remote MCP connectors, with beta and administrator controls documented."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: the Claude Code CLI reference exposes `claude mcp` for configuring MCP servers and documents MCP tools in its permission surface."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cursor documents local and remote MCP transports and automatic use of discovered MCP tools by Agent."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: OpenAI documents MCP as a Codex CLI tool for connecting the local agent to external systems."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents configured MCP server discovery and invocation of the tools those servers expose."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: VS Code documents MCP tools as a supported agent tool type and supports local or remote MCP servers in Copilot agent mode."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop documents workspace or global custom MCP servers, including an OAuth setup path, for use in agent sessions."
        },
        {
          "id": 10,
          "text": "Evidence checked 2026-08-28: xAI documents that Grok Bot connects to tools through plugins and MCP servers, while hosted MCP tool calls are run on the Bot computer's behalf; team MCP policy can disable servers or member-added configurations."
        },
        {
          "id": 11,
          "text": "Evidence checked 2026-08-28: xAI documents that Grok Web discovers tools exposed by a custom remote MCP connector and makes them available in conversations."
        },
        {
          "id": 12,
          "text": "Evidence checked 2026-08-28: Cline documents discovering tools from configured MCP servers and testing or invoking those tools from the desktop extension."
        },
        {
          "id": 13,
          "text": "Evidence checked 2026-08-28: Continue documents MCP servers as custom Agent-mode tools, and its pinned desktop client lists and calls server tools."
        },
        {
          "id": 14,
          "text": "Evidence checked 2026-08-28: Zed explicitly lists MCP Tools as supported and documents MCP tools in the Agent Panel and per-tool permission surface."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "openai-chatgpt-mcp",
          "title": "OpenAI — Developer mode and MCP apps in ChatGPT",
          "href": "https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-remote-mcp",
          "title": "Anthropic — Custom connectors using remote MCP",
          "href": "https://support.anthropic.com/en/articles/11175166-about-custom-integrations-using-remote-mcp",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-desktop-mcp",
          "title": "Anthropic — Local MCP servers on Claude Desktop",
          "href": "https://support.anthropic.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-claude-code-cli",
          "title": "Anthropic — Claude Code CLI reference",
          "href": "https://docs.anthropic.com/en/docs/claude-code/cli-usage",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-mcp",
          "title": "Cursor — Model Context Protocol",
          "href": "https://docs.cursor.com/context/model-context-protocol",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openai-codex-mcp",
          "title": "OpenAI — Introducing upgrades to Codex",
          "href": "https://openai.com/index/introducing-upgrades-to-codex/",
          "kind": "note",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "gemini-cli-mcp",
          "title": "Gemini CLI — MCP server documentation",
          "href": "https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/mcp-server.md",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-agent-tools",
          "title": "Visual Studio Code — Tools in agents",
          "href": "https://code.visualstudio.com/docs/copilot/concepts/tools",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openwork-mcp",
          "title": "OpenWork — Add an MCP server",
          "href": "https://openworklabs.com/docs/start-here/connect-your-stack/add-an-mcp-server",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-team-mcp",
          "title": "xAI — Grok Bot for teams and enterprises",
          "href": "https://docs.x.ai/grok-bot/teams-and-enterprises",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Plugins and MCP policy"
        },
        {
          "id": "xai-grok-web-mcp",
          "title": "xAI — Grok connectors",
          "href": "https://docs.x.ai/grok/connectors",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Custom MCP connectors"
        },
        {
          "id": "cline-mcp-docs",
          "title": "Cline — Model Context Protocol",
          "href": "https://docs.cline.bot/mcp/mcp-overview",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What MCP gives you; quick start; managing servers"
        },
        {
          "id": "continue-mcp-client-source",
          "title": "Continue source — MCP desktop client at 5522c6f",
          "href": "https://github.com/continuedev/continue/blob/5522c6f44ca0ac3528b37244818fbfa39b5af470/core/context/mcp/MCPConnection.ts",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "listTools and desktop MCP connection"
        },
        {
          "id": "zed-mcp-docs",
          "title": "Zed — Model Context Protocol",
          "href": "https://zed.dev/docs/ai/mcp",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported Features; Agent Panel Usage; tool permissions"
        }
      ],
      "support": [
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                11
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web connector documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "transport",
                  "value": "custom MCP servers must be remotely reachable; local-only servers require a separate tunnel"
                },
                {
                  "type": "auth",
                  "value": "server authentication and provider permissions can be required"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-web-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 hosted documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "developer mode and full MCP are beta"
                },
                {
                  "type": "plan",
                  "value": "availability varies by ChatGPT plan"
                },
                {
                  "type": "policy",
                  "value": "workspace role and administrator controls apply"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-chatgpt-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 hosted documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "custom connectors are beta"
                },
                {
                  "type": "plan",
                  "value": "paid plan required"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-remote-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "extension installation and administrator controls apply"
                },
                {
                  "type": "transport",
                  "value": "local extensions and remote connectors use different setup paths"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-desktop-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-cli",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cursor-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "openai-codex-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "gemini-cli-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-agent-tools",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork MCP documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "documented OAuth setup currently expects dynamic client registration"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                10
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "team MCP allowlists, denylists, member-install policy, and network allowlists can disable a server"
                },
                {
                  "type": "auth",
                  "value": "sign-in tokens for hosted MCP servers remain with the backend that runs tool calls on the computer's behalf"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-team-mcp",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                12
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "tool calls can require approval unless the operator places a tool in the server's auto-approval configuration"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                13
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Continue source commit 5522c6f44ca0 observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "MCP tools are available in Agent mode and only from connected servers that declare the tools capability"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-mcp-client-source",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                14
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed MCP documentation observed 2026-08-28",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "Agent profiles, server enablement, and global or per-tool permission rules determine whether a discovered MCP tool can run"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-mcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/mcp-tools",
      "markdown": "/features/mcp-tools.md",
      "json": "/api/v1/features/mcp-tools.json"
    },
    {
      "title": "Model Context Protocol",
      "description": "Explore MCP as a family of independently supported capabilities instead of a single compatibility claim.",
      "slug": "mcp",
      "locale": "en",
      "seoTitle": "Model Context Protocol capability coverage — Can My Agent Use",
      "socialTitle": "Which parts of MCP can my agent use?",
      "socialDescription": "Compare MCP tools, prompts, resources, and apps independently across agent harnesses.",
      "llmSummary": "MCP is a capability family. Support is rolled up from atomic child capabilities so tool support never implies prompt, resource, or app support.",
      "audience": "Engineers comparing protocol coverage across chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "mcp"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Track tools, prompts, resources, and interactive apps as independent parts of MCP.",
      "specLabel": "MCP 2026-07-28",
      "specification": {
        "id": "mcp",
        "revision": "2026-07-28",
        "maturity": "published",
        "role": "host, client, and server capability family",
        "authority": "MCP project / AAIF ecosystem",
        "canonicalUrl": "https://modelcontextprotocol.io/specification/2026-07-28"
      },
      "aliases": [
        "MCP",
        "Model Context Protocol support",
        "MCP coverage"
      ],
      "capabilityKind": "family",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Model Context Protocol specification",
          "href": "https://modelcontextprotocol.io/specification/2026-07-28",
          "kind": "spec"
        }
      ],
      "support": [],
      "html": "/features/mcp",
      "markdown": "/features/mcp.md",
      "json": "/api/v1/features/mcp.json"
    },
    {
      "title": "Model fallback",
      "description": "Switch to another model after a capacity, policy, or service failure.",
      "slug": "model-fallback",
      "locale": "en",
      "seoTitle": "Model fallback compatibility — Can My Agent Use",
      "socialTitle": "Model fallback",
      "socialDescription": "Compare documented fallback routing, disclosure, configuration, and retry behavior.",
      "llmSummary": "Model fallback is documented switching to another model after a capacity, policy, or service failure. Disclosure, configuration, and opt-out behavior are recorded as qualifiers.",
      "audience": "Engineers who need predictable model behavior and reproducible runs.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "models",
        "routing",
        "reliability",
        "observability"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Switch to another model after a documented failure condition.",
      "specLabel": "Common product term",
      "aliases": [
        "model failover",
        "automatic model routing",
        "fallback model"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "model-selection",
        "resumable-runs"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents automatic model failover for Grok Bot and says usage analytics show the model that actually served each request, including failovers. Users and administrators cannot choose models or disable fallback."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI enables model fallback by default after quota or server errors, normally prompts before switching, and can apply policy-authorized silent fallback for a turn or session. Some internal utility calls use a separate silent fallback chain."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-bot-team-models",
          "title": "xAI — Grok Bot for teams and enterprises",
          "href": "https://docs.x.ai/grok-bot/teams-and-enterprises",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Models and providers"
        },
        {
          "id": "google-gemini-cli-model-routing",
          "title": "Google — Gemini CLI model routing",
          "href": "https://geminicli.com/docs/cli/model-routing/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How it works"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "automatic failover is documented and the serving model appears in usage analytics, but the operator cannot configure, select, or prevent fallback"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-team-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini CLI documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "model fallback is enabled by default and can trigger after quota or server errors; the CLI normally prompts for consent before switching"
                },
                {
                  "type": "policy",
                  "value": "a routing policy can permit silent fallback for the current turn or remainder of the session; internal utility calls have a separate silent fallback chain"
                },
                {
                  "type": "runtime",
                  "value": "the reviewed page identifies fallback behavior but does not provide an exported per-turn routing provenance record"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-model-routing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/model-fallback",
      "markdown": "/features/model-fallback.md",
      "json": "/api/v1/features/model-fallback.json"
    },
    {
      "title": "Model selection",
      "description": "Choose the model or documented model class used for a run instead of accepting only opaque automatic routing.",
      "slug": "model-selection",
      "locale": "en",
      "seoTitle": "Model selection compatibility — Can My Agent Use",
      "socialTitle": "Model selection",
      "socialDescription": "Compare explicit model choice and routing visibility across exact agent harnesses.",
      "llmSummary": "Model selection means the harness exposes a meaningful model choice for the run; a generic speed or quality label is partial unless it maps to documented behavior.",
      "audience": "Engineers comparing model access and routing control.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "models",
        "routing",
        "control"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Choose the model or documented model class used for a run.",
      "specLabel": "Common product term",
      "aliases": [
        "model picker",
        "model choice",
        "model routing"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "local-models",
        "reasoning-effort-controls",
        "model-fallback"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI's Grok Bot team documentation says the product has no model picker and does not plan to let users or administrators choose its models; requests use a product-managed fixed model set with automatic failover."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: OpenAI documents model controls in ChatGPT Work on the web and ChatGPT desktop, plus /model and --model/-m selection in Codex CLI."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Anthropic documents model selectors in Claude web and desktop and /model, --model, environment, and settings-based selection in Claude Code."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini CLI exposes Auto, Pro, Flash, Flash-Lite, and manual model selection through /model and --model."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI exposes per-session, repository, global, command-line, and automatic model selection with documented precedence."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: VS Code exposes a language-model picker, automatic routing, and BYOK or local-model configuration for supported agent sessions."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Cursor documents a model picker and curated selectable models with task, cost, speed, and context tradeoffs."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-bot-team-models",
          "title": "xAI — Grok Bot for teams and enterprises",
          "href": "https://docs.x.ai/grok-bot/teams-and-enterprises",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Models and providers"
        },
        {
          "id": "openai-models",
          "title": "OpenAI — Models in ChatGPT Work and Codex",
          "href": "https://learn.chatgpt.com/docs/models",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-change-model",
          "title": "Anthropic — Change model, effort, and thinking settings",
          "href": "https://support.claude.com/en/articles/8664678-change-the-model-effort-and-thinking-settings",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-code-model-config",
          "title": "Anthropic — Claude Code model configuration",
          "href": "https://code.claude.com/docs/en/model-config",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-model",
          "title": "Google — Gemini CLI model selection",
          "href": "https://geminicli.com/docs/cli/model/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-model-selection",
          "title": "GitHub — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "/model and --model"
        },
        {
          "id": "microsoft-vscode-language-models",
          "title": "Microsoft — AI language models in VS Code",
          "href": "https://code.visualstudio.com/docs/agent-customization/language-models",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Model picker, automatic selection, and BYOK"
        },
        {
          "id": "cursor-model-selection-guide",
          "title": "Cursor — Selecting models",
          "href": "https://docs.cursor.com/guides/selecting-models",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Model selection guidance"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "available choices depend on account eligibility, plan, and supported model"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "available choices depend on account eligibility, plan, and supported model"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/model changes an interactive session; --model or -m selects a model for interactive and non-interactive runs"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "the selector shows models available to the account and can be restricted by an Enterprise role"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-change-model",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "the selector shows models available to the account and can be restricted by an Enterprise role"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-change-model",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supports /model, --model, ANTHROPIC_MODEL, and persistent model settings with documented precedence"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-model-config",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/model and --model expose automatic model classes and manual model selection; this setting does not override models used by subagents"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-model",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "model choice is fully managed by the product; neither members nor administrators receive a model picker"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-team-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI command reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/model selects for the current session or persists at repository or global scope; --model selects at startup and auto enables product routing"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-model-selection",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code language-model documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "available models depend on provider access, Copilot plan, organization policy, configured BYOK providers, and agent-harness compatibility"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-language-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor model-selection documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "selectable model inventory, pricing, and Max Mode availability depend on the current Cursor plan and provider availability"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-model-selection-guide",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/model-selection",
      "markdown": "/features/model-selection.md",
      "json": "/api/v1/features/model-selection.json"
    },
    {
      "title": "Models and context",
      "description": "Compare model choice, reasoning controls, context budgets, compaction, fallback, and prompt caching as separate harness capabilities.",
      "slug": "models-and-context",
      "locale": "en",
      "seoTitle": "Models and context capability coverage — Can My Agent Use",
      "socialTitle": "Which model and context controls can my agent use?",
      "socialDescription": "Compare model selection, context limits, compaction, fallback, local inference, and caching without treating them as one feature.",
      "llmSummary": "Models and context is a capability family covering model choice, reasoning controls, usable token budgets, context visibility, compaction, fallback, local inference, and prompt-cache behavior.",
      "audience": "Engineers comparing the model and context envelope of agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "models",
        "context",
        "tokens",
        "caching"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Track model access and the full lifecycle of input, output, compaction, and cached context.",
      "specLabel": "Catalog grouping",
      "aliases": [
        "model controls",
        "context management",
        "token budget",
        "context length"
      ],
      "capabilityKind": "family",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        }
      ],
      "support": [],
      "html": "/features/models-and-context",
      "markdown": "/features/models-and-context.md",
      "json": "/api/v1/features/models-and-context.json"
    },
    {
      "title": "Multi-file edit",
      "description": "Edit multiple files during one task.",
      "slug": "multi-file-edit",
      "locale": "en",
      "seoTitle": "Multi-file edit — Can My Agent Use",
      "socialTitle": "Multi-file edit",
      "socialDescription": "Compare editing multiple files during one task.",
      "llmSummary": "Multi-file editing changes more than one file during a task. Review, approval, and source-control behavior are qualifiers rather than requirements of the term.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "tools"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Edit multiple files during one task.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "No reviewed public evidence is attached to this capability row. Unknown records the evidence gap."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: VS Code documents agents creating and editing multiple files from one natural-language request, then exposing the resulting changes in a multi-file diff."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor documents Agent searching the codebase and editing multiple files, with edits reviewed in its diff view."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Claude Code documents reading multiple files and making coordinated edits across them in one task, but its CLI permission modes can review edits individually rather than as one grouped step."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "microsoft-vscode-multi-file-edits",
          "title": "Visual Studio Code — Review and revert agent changes",
          "href": "https://code.visualstudio.com/docs/agents/run/review-code-edits",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Review agent changes and multi-file diff"
        },
        {
          "id": "microsoft-vscode-agentic-coding",
          "title": "Microsoft — Agentic coding in VS Code",
          "href": "https://code.visualstudio.com/docs/agents/agents-tutorial",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Agent capabilities"
        },
        {
          "id": "cursor-agent-multi-file",
          "title": "Cursor — Agent mode",
          "href": "https://prod.cursor.com/help/ai-features/agent",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What Agent mode can do and review changes"
        },
        {
          "id": "anthropic-claude-code-multi-file",
          "title": "Anthropic — How Claude Code works",
          "href": "https://code.claude.com/docs/en/how-claude-code-works",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Agentic loop across a project"
        }
      ],
      "support": [
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code agentic-coding documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "agents apply edits in the session workspace or worktree; review and integration behavior varies by session mode"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-agentic-coding",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "microsoft-vscode-multi-file-edits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent mode documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Cursor Agent in the desktop workbench"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-agent-multi-file",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code workflow documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "coordinated multi-file editing is documented, but whether edits are approved individually or reviewed after the fact depends on the active permission mode"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-multi-file",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/multi-file-edit",
      "markdown": "/features/multi-file-edit.md",
      "json": "/api/v1/features/multi-file-edit.json"
    },
    {
      "title": "Native plugin system",
      "description": "Install product-specific extensions without implying Agent Plugins portability.",
      "slug": "native-plugins",
      "locale": "en",
      "seoTitle": "Native plugin compatibility — Can My Agent Use",
      "socialTitle": "Native plugin systems",
      "socialDescription": "Product-native extension support tracked separately from portable Agent Plugins.",
      "llmSummary": "A native plugin system is product-specific and does not establish support for the portable Agent Plugins manifest.",
      "audience": "Engineers comparing agent extension systems.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "plugins",
        "native-extensions"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Install and load a product-specific extension package.",
      "specLabel": "Common product term",
      "aliases": [
        "native extensions",
        "proprietary plugins"
      ],
      "capabilityKind": "atomic",
      "parent": "plugins",
      "related": [
        "agent-plugin-core"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop manages native OpenCode plugins through opencode.json; this is not the portable Agent Plugins manifest."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "openwork-native-plugins",
          "title": "OpenWork — Publisher repository",
          "href": "https://github.com/different-ai/openwork",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork repository documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "native OpenCode plugin format configured through opencode.json"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-native-plugins",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "stable"
            }
          ]
        }
      ],
      "html": "/features/native-plugins",
      "markdown": "/features/native-plugins.md",
      "json": "/api/v1/features/native-plugins.json"
    },
    {
      "title": "Nested AGENTS.md instructions",
      "description": "Apply nested AGENTS.md files with directory-sensitive precedence. This is tracked as an independent compatibility claim.",
      "slug": "nested-agents-md",
      "locale": "en",
      "seoTitle": "Nested AGENTS.md instructions compatibility — Can My Agent Use",
      "socialTitle": "Nested AGENTS.md instructions",
      "socialDescription": "Apply nested AGENTS.md files with directory-sensitive precedence. Unreviewed product cells remain unknown.",
      "llmSummary": "Nested AGENTS.md instructions is atomic and does not follow automatically from broader instructions support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "instructions"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Apply nested AGENTS.md files with directory-sensitive precedence.",
      "specLabel": "AGENTS.md convention",
      "specification": {
        "id": "agents-md",
        "revision": "living",
        "maturity": "published convention",
        "role": "scope and precedence",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agents.md"
      },
      "aliases": [
        "nested AGENTS.md"
      ],
      "capabilityKind": "atomic",
      "parent": "instructions",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Codex walks from the project root to the working directory, concatenating AGENTS.md guidance root-to-leaf so nearer files override earlier guidance."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor combines nested AGENTS.md files with parent instructions and gives more-specific directories precedence."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: VS Code's nested AGENTS.md support is experimental and exposes discovered paths to the agent, which decides relevance rather than enforcing documented nearest-file precedence."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini CLI provides hierarchical and just-in-time context discovery, but AGENTS.md requires configuring context.fileName."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Copilot CLI discovers AGENTS.md in intermediate directories and directories nested in the path of a file it is working on, but the reviewed CLI page does not define conflict precedence."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Windsurf converts subdirectory AGENTS.md files into directory-scoped automatic rules, but the reviewed page does not define conflict precedence between nested files."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Nested AGENTS.md instructions reference",
          "href": "https://agents.md",
          "kind": "spec"
        },
        {
          "id": "openai-codex-nested-agents-md",
          "title": "OpenAI — Custom instructions with AGENTS.md",
          "href": "https://learn.chatgpt.com/docs/agent-configuration/agents-md",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How Codex discovers guidance"
        },
        {
          "id": "cursor-nested-agents-md",
          "title": "Cursor — Rules",
          "href": "https://prod.cursor.com/docs/rules",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Nested AGENTS.md support"
        },
        {
          "id": "microsoft-vscode-nested-agents-md",
          "title": "Microsoft — Use custom instructions in VS Code",
          "href": "https://code.visualstudio.com/docs/agent-customization/custom-instructions",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use multiple AGENTS.md files"
        },
        {
          "id": "google-gemini-context-hierarchy",
          "title": "Google — Provide context with GEMINI.md files",
          "href": "https://geminicli.com/docs/cli/gemini-md/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Understand the context hierarchy and customize the context file name"
        },
        {
          "id": "github-copilot-cli-nested-instructions",
          "title": "GitHub — Adding custom instructions for Copilot CLI",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Standard instruction discovery locations"
        },
        {
          "id": "windsurf-nested-agents-md",
          "title": "Windsurf — Memories and Rules",
          "href": "https://docs.windsurf.com/windsurf/cascade/memories",
          "kind": "docs",
          "publisher": "Windsurf",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Rules scope table"
        }
      ],
      "support": [
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex AGENTS.md documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "openai-codex-nested-agents-md",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Cursor Agent in the desktop workbench"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-nested-agents-md",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code custom-instructions documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "feature-flag",
                  "value": "requires chat.useNestedAgentsMdFiles"
                },
                {
                  "type": "runtime",
                  "value": "VS Code adds relative paths to chat context and lets the agent decide which instructions to use; deterministic nearest-file precedence is not documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-nested-agents-md",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI context-file documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "hierarchical and just-in-time discovery applies only after AGENTS.md is added to context.fileName; GEMINI.md is the default"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-context-hierarchy",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI custom-instructions documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the CLI documentation establishes directory-sensitive discovery but does not specify conflict precedence between nested AGENTS.md files"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-nested-instructions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "windsurf",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Windsurf Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "root AGENTS.md is always on and subdirectory files become automatic glob-scoped rules, but conflict precedence is not documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "windsurf-nested-agents-md",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/nested-agents-md",
      "markdown": "/features/nested-agents-md.md",
      "json": "/api/v1/features/nested-agents-md.json"
    },
    {
      "title": "Nested subagents",
      "description": "Allow a child agent to delegate further work to another child agent. This is tracked as an independent compatibility claim.",
      "slug": "nested-subagents",
      "locale": "en",
      "seoTitle": "Nested subagents compatibility — Can My Agent Use",
      "socialTitle": "Nested subagents",
      "socialDescription": "Allow a child agent to delegate further work to another child agent. Unreviewed product cells remain unknown.",
      "llmSummary": "Nested subagents is atomic and does not follow automatically from broader subagents support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Allow a child agent to delegate further work to another child agent.",
      "specLabel": "Common product term",
      "aliases": [
        "recursive subagents"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Anthropic explicitly states that Claude Code subagents cannot spawn their own subagents and advises against granting the Agent tool to a child."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI recursion protection prevents subagents from seeing or invoking other agents, including when the all-tools wildcard is granted."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI supports nested subagents with a default maximum depth of 6 and a configurable maximum of 256 for usage-based billing."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code disables child-to-child delegation by default but supports nested subagents behind `chat.subagents.allowInvocationsFromSubagents`, with a maximum depth of 5."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/sub-agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Subagent limitations"
        },
        {
          "id": "google-gemini-cli-subagents",
          "title": "Google — Gemini CLI subagents",
          "href": "https://geminicli.com/docs/core/subagents/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-reference",
          "title": "GitHub — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Nested subagents"
        }
      ],
      "support": [
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "recursion protection removes other agents from every child tool surface"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "default maximum nesting depth is 6; usage-based billing can configure subagents.maxDepth up to 256"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-reference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the restriction applies to Claude Code subagents; separate agent-team teammates and independently dispatched sessions use different orchestration models"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "feature-flag",
                  "value": "requires `chat.subagents.allowInvocationsFromSubagents`; disabled by default"
                },
                {
                  "type": "runtime",
                  "value": "nesting depth is capped at 5"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/nested-subagents",
      "markdown": "/features/nested-subagents.md",
      "json": "/api/v1/features/nested-subagents.json"
    },
    {
      "title": "Offline operation",
      "description": "Complete a documented class of work without sending prompts, files, tool output, or telemetry to hosted services.",
      "slug": "local-only-mode",
      "locale": "en",
      "seoTitle": "Offline operation compatibility — Can My Agent Use",
      "socialTitle": "Offline operation",
      "socialDescription": "Compare truly local execution, network dependencies, telemetry, updates, and offline feature boundaries.",
      "llmSummary": "Offline operation means a documented product workflow can run without a required network connection; a desktop or CLI interface alone does not establish offline support.",
      "audience": "Security-sensitive, air-gapped, and privacy-conscious teams.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "privacy",
        "local",
        "offline",
        "air-gapped"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Run a documented workflow without a required network connection.",
      "specLabel": "Common product term",
      "aliases": [
        "offline mode",
        "air-gapped operation",
        "no-cloud mode"
      ],
      "capabilityKind": "atomic",
      "parent": "data-security-controls",
      "related": [
        "local-models",
        "sandbox-network",
        "data-residency"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Grok Bot requires cloud data storage, authentication through a Cursor account, and a hosted computer; accounts using Legacy Privacy Mode must change to a supported data setting before the product can start."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-bot-get-started",
          "title": "xAI — Get started with Grok Bot",
          "href": "https://docs.x.ai/grok-bot/get-started",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Before you begin"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "no",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the desktop client depends on hosted execution and required cloud data storage; it is not a local-only or offline harness"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-get-started",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/local-only-mode",
      "markdown": "/features/local-only-mode.md",
      "json": "/api/v1/features/local-only-mode.json"
    },
    {
      "title": "Organization policy controls",
      "description": "Centrally enable, disable, constrain, and enforce models, tools, data paths, sharing, and agent behavior.",
      "slug": "admin-policy-controls",
      "locale": "en",
      "seoTitle": "Organization policy controls compatibility — Can My Agent Use",
      "socialTitle": "Organization policy controls",
      "socialDescription": "Compare organization-wide enforcement for models, tools, connectors, sharing, data, and autonomous actions.",
      "llmSummary": "Organization policy controls are centrally enforced product settings; user preferences and prompt instructions are not organization policy.",
      "audience": "Enterprise administrators, security teams, and platform owners.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "governance",
        "policy",
        "enterprise"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Centrally configure and enforce product settings for an organization.",
      "specLabel": "Common product term",
      "aliases": [
        "enterprise policy",
        "organization controls",
        "managed settings"
      ],
      "capabilityKind": "atomic",
      "parent": "data-security-controls",
      "related": [
        "audit-logs",
        "training-data-controls",
        "human-approval"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Grok Bot team administrators can control Cloud Agents, inherit team privacy mode, MCP configuration and team rules, enforce MCP server and network allowlists, restrict member-added servers, and restrict local-computer execution. The reviewed docs do not establish the full policy surface in this row."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: ChatGPT Enterprise managed configuration can enforce requirements and defaults across supported local clients, including approval and permission profiles, sandbox modes, filesystem and network rules, web and computer use, apps, plugins, MCP servers, feature flags, and telemetry. Version support and source precedence are material boundaries."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude Code managed settings override user, project, local, and command-provided settings, can be delivered from the claude.ai admin console, MDM, OS policy, or managed files, and cover permissions, models, MCP, marketplaces, sandbox restrictions, login, and telemetry. Some stricter lower-level settings and source-composition rules remain exceptions."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-bot-team-controls",
          "title": "xAI — Grok Bot for teams and enterprises",
          "href": "https://docs.x.ai/grok-bot/teams-and-enterprises",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openai-managed-configuration",
          "title": "OpenAI — Managed configuration",
          "href": "https://learn.chatgpt.com/docs/enterprise/managed-configuration",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Admin-enforced requirements; cloud-managed requirements; precedence and layering"
        },
        {
          "id": "anthropic-managed-settings",
          "title": "Anthropic — Deploy Claude Code managed settings",
          "href": "https://code.claude.com/docs/en/managed-settings",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Deploy managed settings; surfaces; policy precedence"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot team documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "enterprise availability is rolling out and controls vary by organization plan"
                },
                {
                  "type": "policy",
                  "value": "documented controls cover cloud agents, privacy mode, MCP and plugins, team rules, network allowlists, and local execution; full model, upload, sharing, retention, and subagent fan-out policy is not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-team-controls",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Enterprise managed configuration observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "managed requirements and defaults can constrain permission profiles, approvals, sandboxing, filesystem and network access, browser and computer use, apps, plugins, MCP servers, feature flags, and telemetry"
                },
                {
                  "type": "runtime",
                  "value": "support is key- and client-version-specific; managed source precedence, signed cache behavior, startup refresh, and fail-closed loading are documented boundaries"
                },
                {
                  "type": "policy",
                  "value": "the reviewed page does not establish every upload, retention, sharing, model, or subagent-fan-out control in this row"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-managed-configuration",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Codex managed configuration observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "requirements.toml and managed defaults can centrally constrain permissions, approvals, sandboxing, filesystem and network access, web and computer use, apps, plugins, MCP servers, feature flags, and telemetry"
                },
                {
                  "type": "runtime",
                  "value": "supported keys depend on Codex version and authentication; cloud-managed bundles are identity-matched, signed, cached, and fail closed when no valid cache can be loaded"
                },
                {
                  "type": "policy",
                  "value": "API-key-only authentication and Platform organization controls are outside this ChatGPT workspace configuration cell"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-managed-configuration",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Code managed settings observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "admin settings override user, project, local, and --settings values and can govern permissions, models, MCP servers, marketplaces, sandboxing, login, telemetry, and minimum versions"
                },
                {
                  "type": "transport",
                  "value": "policy can be delivered by server-managed settings, MDM or OS policy, managed files, or a restricted Windows user-policy fallback"
                },
                {
                  "type": "runtime",
                  "value": "source selection and optional merging have documented precedence, version gates, stricter-lower-level exceptions, refresh intervals, and /status verification"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-managed-settings",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/admin-policy-controls",
      "markdown": "/features/admin-policy-controls.md",
      "json": "/api/v1/features/admin-policy-controls.json"
    },
    {
      "title": "Output token limit",
      "description": "Identify the maximum response or generated-artifact budget available through the exact harness.",
      "slug": "output-token-limit",
      "locale": "en",
      "seoTitle": "Output token limit comparison — Can My Agent Use",
      "socialTitle": "Output token limit",
      "socialDescription": "Compare maximum response budgets and harness-specific output caps.",
      "llmSummary": "Output-token limits are recorded separately from total context because harnesses may reserve, cap, or truncate generated text and artifacts independently.",
      "audience": "Engineers sizing generated code, reports, and structured output.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "context",
        "output",
        "tokens",
        "limits"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Record the maximum generated response budget by exact model and harness mode.",
      "specLabel": "Measured product property",
      "aliases": [
        "max output tokens",
        "response length limit",
        "generation limit"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "context-window",
        "structured-output"
      ],
      "relations": [],
      "highlight": false,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "OpenAI — Create a model response",
          "href": "https://developers.openai.com/api/reference/cli/resources/responses/methods/create",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [],
      "html": "/features/output-token-limit",
      "markdown": "/features/output-token-limit.md",
      "json": "/api/v1/features/output-token-limit.json"
    },
    {
      "title": "PDF input",
      "description": "Upload a PDF for use as model input.",
      "slug": "pdf-documents",
      "locale": "en",
      "seoTitle": "PDF input — Can My Agent Use",
      "socialTitle": "PDF input",
      "socialDescription": "Compare PDF text, visual analysis, attachment counts, file-size limits, page boundaries, and unsupported cases.",
      "llmSummary": "PDF input makes an uploaded PDF available as model input. Text extraction, visual page analysis, file limits, and attachment limits are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Upload a PDF for use as model input.",
      "specLabel": "Common product term",
      "aliases": [
        "PDF upload",
        "PDF input",
        "document attachment"
      ],
      "capabilityKind": "atomic",
      "parent": "file-inputs",
      "related": [
        "office-document-input",
        "upload-limits"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI's Grok FAQ lists PDF among the document types accepted directly in Grok Web chats and describes summarization, extraction, comparison, and analysis of uploaded files."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot's desktop composer accepts PDF and plain-text documents. It accepts up to six attachments per message, with documents limited to 25 MB each; encrypted, damaged, unusually formatted, or very large files may not be readable."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude accepts PDFs in chats on its web and desktop surfaces. Its help documentation describes visual analysis for PDFs under 100 pages, a 500 MB per-file chat limit, and a separate 30 MB project-file limit; larger or nonvisual handling has narrower fidelity."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Perplexity web accepts PDFs as file attachments and uses their content as session context. Short files are analyzed in full while longer files may be reduced to extracted important parts; visual-PDF fidelity is not established by the reviewed page."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Microsoft Copilot web accepts PDF uploads up to 50 MB and documents analysis, extraction, summarization, and follow-up questions about uploaded files."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Mistral's current Vibe Work documentation, which supersedes Le Chat at chat.mistral.ai, accepts PDFs and answers from their uploaded content. Mistral separately describes image and scanned-page interpretation, but complete PDF visual fidelity is not guaranteed."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: VS Code Copilot Chat accepts PDF attachments when the selected model supports image input; GitHub documents PDF attachments as available on all Copilot plans."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: Claude Code accepts attached PDFs and documents a maximum of 100 pages and 32 MB, with password-protected and invalid PDFs rejected."
        },
        {
          "id": 10,
          "text": "Evidence checked 2026-08-28: Gemini CLI custom commands encode supported PDF paths referenced with @{...} and inject them as multimodal input."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "xai-grok-files-faq",
          "title": "xAI — Grok files and data FAQ",
          "href": "https://docs.x.ai/grok/faq",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Files & Data"
        },
        {
          "id": "xai-grok-bot-files",
          "title": "xAI — Grok Bot files and results",
          "href": "https://docs.x.ai/grok-bot/files-and-results",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Attach files"
        },
        {
          "id": "anthropic-upload-files",
          "title": "Anthropic Help Center — Uploading files to Claude",
          "href": "https://support.claude.com/en/articles/8241126-upload-files-to-claude",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported file types; PDF support"
        },
        {
          "id": "perplexity-file-uploads",
          "title": "Perplexity Help Center — File uploads",
          "href": "https://www.perplexity.ai/help-center/en/articles/10354807-file-uploads",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Upload files; file processing"
        },
        {
          "id": "microsoft-copilot-file-upload",
          "title": "Microsoft Support — File upload in Microsoft Copilot",
          "href": "https://support.microsoft.com/en-US/microsoft-copilot/file-upload-in-microsoft-copilot",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported file formats; file analysis"
        },
        {
          "id": "mistral-vibe-files",
          "title": "Mistral Docs — Work with Files and Canvas",
          "href": "https://docs.mistral.ai/vibe/work/files-and-canvas",
          "kind": "docs",
          "publisher": "Mistral AI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported formats; querying text documents"
        },
        {
          "id": "mistral-vibe-overview",
          "title": "Mistral Docs — Vibe overview",
          "href": "https://docs.mistral.ai/vibe",
          "kind": "docs",
          "publisher": "Mistral AI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Le Chat is now Vibe; product entry point"
        },
        {
          "id": "github-copilot-images",
          "title": "GitHub Docs — Asking GitHub Copilot questions in your IDE",
          "href": "https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/chat-with-copilot/chat-in-ide?tool=vscode",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Using images in Copilot Chat"
        },
        {
          "id": "anthropic-claude-code-errors",
          "title": "Claude Code Docs — Error reference",
          "href": "https://code.claude.com/docs/en/errors",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "PDF errors"
        },
        {
          "id": "gemini-cli-custom-commands",
          "title": "Gemini CLI — Custom commands",
          "href": "https://geminicli.com/docs/cli/custom-commands/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Injecting file content with @{...}; multimodal support"
        }
      ],
      "support": [
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "web documentation reports a limit of approximately 100 attached files per message"
                },
                {
                  "type": "policy",
                  "value": "extremely large documents may need to be split into smaller files"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-files-faq",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "desktop composer accepts up to six attachments per message and documents a 25 MB limit per document"
                },
                {
                  "type": "policy",
                  "value": "encrypted, damaged, unusually formatted, or very large files may not be readable"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "PDF upload is supported; visual elements are analyzed for PDFs under 100 pages, with narrower text-oriented handling outside that boundary"
                },
                {
                  "type": "runtime",
                  "value": "chat uploads are limited to 500 MB per file and 20 files per chat; project files have a separate 30 MB limit"
                },
                {
                  "type": "policy",
                  "value": "encrypted PDFs, OCR quality, and complete fidelity for forms, annotations, and embedded media are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "PDF upload is supported; visual elements are analyzed for PDFs under 100 pages, with narrower text-oriented handling outside that boundary"
                },
                {
                  "type": "runtime",
                  "value": "chat uploads are limited to 500 MB per file and 20 files per chat; project files have a separate 30 MB limit"
                },
                {
                  "type": "policy",
                  "value": "encrypted PDFs, OCR quality, and complete fidelity for forms, annotations, and embedded media are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "PDF files can be attached to a web session and their content enters the session context; short files are analyzed in full while long files may be reduced to extracted important parts"
                },
                {
                  "type": "runtime",
                  "value": "complete page-image, scanned-page, form, annotation, and embedded-media fidelity is not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-file-uploads",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Microsoft Copilot web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "PDF is a supported document upload; Copilot can analyze, extract, summarize, answer questions, and continue with follow-up questions about uploaded files"
                },
                {
                  "type": "runtime",
                  "value": "each file is limited to 50 MB and up to 20 files can be attached in one conversation"
                },
                {
                  "type": "runtime",
                  "value": "scanned-page OCR, complete visual-page fidelity, forms, annotations, and embedded media are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-copilot-file-upload",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "le-chat",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Mistral Vibe web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "PDFs can be uploaded and queried directly; answers are documented as coming from uploaded content"
                },
                {
                  "type": "policy",
                  "value": "Le Chat is now Vibe at the same chat.mistral.ai entry point; this claim is scoped to the Work upload path"
                },
                {
                  "type": "runtime",
                  "value": "Mistral documents image and scanned-page interpretation separately, but does not guarantee complete fidelity for every PDF form, annotation, or embedded object"
                }
              ],
              "evidence": [
                {
                  "resourceId": "mistral-vibe-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "mistral-vibe-overview",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot Chat documentation for VS Code",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "PDF attachments can be pasted, dragged, or added from the VS Code Explorer when the selected model supports image input"
                },
                {
                  "type": "plan",
                  "value": "PDF and image attachments are documented as available on all Copilot plans and enabled by default"
                },
                {
                  "type": "runtime",
                  "value": "page, size, OCR, and complex-layout limits are not listed on the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-images",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code error documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "attached PDFs are supported up to 100 pages and 32 MB"
                },
                {
                  "type": "policy",
                  "value": "password-protected and invalid PDFs are rejected; complete OCR, form, annotation, and embedded-media fidelity is not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-errors",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                10
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI custom-command documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supported PDF files referenced with @{...} inside a custom command are encoded and injected as multimodal input"
                },
                {
                  "type": "runtime",
                  "value": "this evidence establishes custom-command file injection; PDF limits, OCR behavior, and ordinary-prompt attachment methods are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-cli-custom-commands",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/pdf-documents",
      "markdown": "/features/pdf-documents.md",
      "json": "/api/v1/features/pdf-documents.json"
    },
    {
      "title": "Per-subagent model selection",
      "description": "Choose or constrain the model used by an individual child agent independently of its parent.",
      "slug": "subagent-model-selection",
      "locale": "en",
      "seoTitle": "Per-subagent model selection compatibility — Can My Agent Use",
      "socialTitle": "Per-subagent model selection",
      "socialDescription": "Compare model choice, defaults, and routing for individual child agents.",
      "llmSummary": "Per-subagent model selection means a child can use a documented model choice or constraint distinct from its parent; a global conversation model picker is insufficient.",
      "audience": "Engineers balancing subagent cost, speed, specialization, and quality.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents",
        "models",
        "routing"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Choose or constrain each child agent's model independently of the parent.",
      "specLabel": "Common product term",
      "aliases": [
        "child model choice",
        "subagent model",
        "delegated model routing"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [
        "model-selection",
        "reasoning-effort-controls",
        "subagent-delegation"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code subagent definitions accept a `model` field with aliases or a full model ID and can separately set child reasoning `effort`; omitted values inherit session defaults."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Local Codex supports explicit spawn values, global subagent model/reasoning defaults, and per-custom-agent model and reasoning settings with documented precedence."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI custom subagents accept an independent model setting; the main /model selection does not override subagent models."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor subagents accept inherit or an explicit model ID plus per-model parameters such as speed, reasoning effort, and context window."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI resolves subagent model and reasoning values from per-call overrides, subagent settings, agent definitions, then the parent session."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: VS Code resolves a child model from an explicit invocation parameter, a custom agent's model or fallback list, or the parent model, in that priority order."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/sub-agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported frontmatter fields; choose a model"
        },
        {
          "id": "openai-subagents",
          "title": "OpenAI — Subagents in ChatGPT and Codex",
          "href": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-subagents",
          "title": "Google — Gemini CLI subagents",
          "href": "https://geminicli.com/docs/core/subagents/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-subagents",
          "title": "Cursor — Subagents",
          "href": "https://cursor.com/docs/subagents",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-reference",
          "title": "GitHub — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Select the model for a subagent"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "local Codex allows explicit child model/reasoning values, agents defaults, or custom-agent file settings; explicit values have highest precedence"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "explicit child values override agents defaults, which override inherited parent values; custom-agent files can then set model and reasoning effort"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "agent definitions and overrides can select a child model; /model and --model do not override child models"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "team policy, plan eligibility, or legacy Max Mode requirements may override an explicit child model"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "per-call values override subagents settings, agent model/reasoning fields, and finally the parent session"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-reference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "available model aliases and effort levels depend on the account and current model catalog"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "the requested child model cannot exceed the cost tier of the parent model and must be available to the current Copilot plan"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-model-selection",
      "markdown": "/features/subagent-model-selection.md",
      "json": "/api/v1/features/subagent-model-selection.json"
    },
    {
      "title": "Persistent instructions",
      "description": "Compare AGENTS.md, nested instruction scopes, and product-native rule systems independently.",
      "slug": "instructions",
      "locale": "en",
      "seoTitle": "Persistent agent instruction coverage — Can My Agent Use",
      "socialTitle": "Which persistent instruction formats can my agent use?",
      "socialDescription": "Compare cross-agent and product-native instruction discovery and scope behavior.",
      "llmSummary": "Persistent instructions are a capability family covering AGENTS.md, nested scopes, and native rule systems.",
      "audience": "Engineers comparing durable agent configuration.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "instructions",
        "agents-md",
        "rules"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Track portable and product-native instruction discovery independently.",
      "specLabel": "Catalog grouping",
      "aliases": [
        "AGENTS.md",
        "rules",
        "custom instructions"
      ],
      "capabilityKind": "family",
      "related": [
        "agent-skills"
      ],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "AGENTS.md specification",
          "href": "https://agents.md",
          "kind": "spec"
        }
      ],
      "support": [],
      "html": "/features/instructions",
      "markdown": "/features/instructions.md",
      "json": "/api/v1/features/instructions.json"
    },
    {
      "title": "Plans and pricing",
      "description": "Compare documented subscription, seat, usage, credit, overage, and enterprise pricing.",
      "slug": "plan-pricing-disclosure",
      "locale": "en",
      "seoTitle": "Agent harness plans and pricing — Can My Agent Use",
      "socialTitle": "Plans and pricing",
      "socialDescription": "Compare published subscription, seat, included-usage, credit, overage, and enterprise pricing by exact harness.",
      "llmSummary": "Plans and pricing records documented subscription and seat prices, billing periods, included usage, credits or overages, API-key billing, taxes, and custom enterprise terms without treating a model API rate as the price of a hosted product.",
      "audience": "Buyers, engineers, finance teams, and administrators comparing the total cost of agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "operations",
        "pricing",
        "plans",
        "billing"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "operations",
      "summary": "Compare documented plan, seat, included-usage, credit, and overage pricing by exact product.",
      "specLabel": "Measured product property",
      "aliases": [
        "pricing",
        "subscription cost",
        "seat price",
        "credits",
        "overage pricing"
      ],
      "capabilityKind": "atomic",
      "parent": "usage-and-reliability",
      "related": [
        "usage-metering",
        "rate-limit-disclosure"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenAI publishes ChatGPT Work and Codex prices of $0 monthly for Free, $8 for Go, $20 for Plus, Pro from $100 with 5x and 20x tiers, and Business at $20 per user monthly when billed annually or $25 monthly; Enterprise and Edu require sales contact. ChatGPT-authenticated surfaces share usage, while API-key use is billed separately at API rates."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Anthropic publishes Claude Free at $0, Pro at $17 monthly with annual prepayment or $20 month-to-month, Max from $100 monthly, Team standard seats at $20 annually or $25 monthly and premium seats at $100 annually or $125 monthly, plus Enterprise seat and usage pricing. Claude web, desktop, Code, and Cowork entitlements differ by plan."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor publishes Hobby as free, Individual Pro at $20 monthly with higher Pro+ and Ultra usage tiers, Teams Standard at $40 per user monthly with a Premium tier, and custom Enterprise pricing. Included model usage, optional on-demand usage, taxes, and enterprise invoicing are separate boundaries."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini CLI's plans page identifies Free, Google AI Pro, Google AI Ultra, Google Developer Program, AI Studio pay-as-you-go, and Vertex AI paths and their usage or privacy distinctions, but delegates exact subscription amounts to linked plan pages."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openai-work-pricing",
          "title": "OpenAI — ChatGPT Work and Codex pricing",
          "href": "https://learn.chatgpt.com/docs/pricing",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Pricing options; usage limits; tokens and credits"
        },
        {
          "id": "anthropic-claude-pricing",
          "title": "Anthropic — Claude plans and pricing",
          "href": "https://claude.com/pricing",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Individual; Team and Enterprise; models and usage"
        },
        {
          "id": "cursor-pricing",
          "title": "Cursor — Pricing",
          "href": "https://cursor.com/pricing",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Individual; Teams; Enterprise; usage-based pricing"
        },
        {
          "id": "google-gemini-cli-plans",
          "title": "Google — Gemini CLI plans",
          "href": "https://geminicli.com/plans/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Individual; team; API key"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work pricing observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Free $0 monthly; Go $8 monthly; Plus $20 monthly; Pro from $100 monthly with 5x and 20x tiers; Business $20 per user monthly billed annually or $25 month-to-month; Enterprise and Edu contact sales"
                },
                {
                  "type": "policy",
                  "value": "ChatGPT Work and Codex share usage, credits, and limits; eligible plans can buy additional credits and taxes or regional pricing may differ"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT desktop pricing observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "desktop access and shared ChatGPT Work or Codex usage follow the eligible ChatGPT plan; Free, Go, Plus, Pro, Business, Edu, and Enterprise paths and prices are documented"
                },
                {
                  "type": "runtime",
                  "value": "desktop Voice has a separate plan-dependent allowance and credit rate while tasks started through Voice still consume the Codex task budget"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Codex CLI pricing observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "ChatGPT authentication uses the published shared plan and credit structure; API-key authentication is usage-based at separate API model rates and omits cloud-only integrations"
                },
                {
                  "type": "plan",
                  "value": "Free, Go, Plus, Pro 5x or 20x, Business, Enterprise, and Edu paths are documented with current self-service prices or a contact-sales boundary"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude pricing observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Free $0; Pro $17 monthly with annual prepayment or $20 monthly; Max from $100 monthly; Team and Enterprise seat and usage paths are documented"
                },
                {
                  "type": "policy",
                  "value": "applicable taxes, usage limits, seat type, billing cycle, credits, and plan-specific models or features can change total cost"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-pricing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude desktop pricing observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Claude desktop access is listed across current individual and managed plans, with the same published subscription or seat prices and plan-specific usage boundaries"
                },
                {
                  "type": "policy",
                  "value": "desktop extensions, enterprise deployment, Cowork, models, and usage entitlements vary by plan"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-pricing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Code pricing observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Claude Code is included with Pro, Max, Team, and Enterprise paths; Team standard and premium seats and Enterprise seat-plus-usage pricing are published"
                },
                {
                  "type": "auth",
                  "value": "API and third-party provider authentication follow separate per-token or cloud-provider billing rather than Claude subscription entitlements"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-pricing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor pricing observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Hobby is free; Individual Pro is $20 monthly with Pro+ and Ultra usage tiers; Teams Standard is $40 per user monthly with a Premium tier; Enterprise is custom"
                },
                {
                  "type": "policy",
                  "value": "every plan includes model usage; optional on-demand use is billed in arrears, taxes are excluded, and invoice or wire payment requires Enterprise"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-pricing",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini CLI plans observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "Google Account Free, Google AI Pro or Ultra, Google Developer Program, AI Studio API key, and Vertex AI authentication and billing paths are documented"
                },
                {
                  "type": "plan",
                  "value": "the reviewed Gemini CLI plans page describes usage and privacy differences but delegates exact Google AI subscription prices to linked plan details"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-plans",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/plan-pricing-disclosure",
      "markdown": "/features/plan-pricing-disclosure.md",
      "json": "/api/v1/features/plan-pricing-disclosure.json"
    },
    {
      "title": "Plugin marketplace",
      "description": "Discover and install extensions through a documented registry or marketplace.",
      "slug": "plugin-marketplace",
      "locale": "en",
      "seoTitle": "Plugin marketplace compatibility — Can My Agent Use",
      "socialTitle": "Plugin marketplace",
      "socialDescription": "Compare marketplace discovery, installation, update, and removal support.",
      "llmSummary": "A plugin marketplace is a documented registry or marketplace for discovering and installing extensions. Update, removal, private-extension, and organization-policy behavior are qualifiers.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "plugins"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Discover and install extensions through a documented registry or marketplace.",
      "specLabel": "Common product term",
      "aliases": [
        "plugin registry"
      ],
      "capabilityKind": "atomic",
      "parent": "plugins",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Grok Bot uses Settings → Plugins to discover and install supported connectors and packaged skills; private skills appear in a separate Yours area and can be enabled per Bot."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "xai-grok-bot-skills-marketplace",
          "title": "xAI — Grok Bot skills and routines",
          "href": "https://docs.x.ai/grok-bot/skills-routines-and-automations",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Save a skill"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "organization policy can require, restrict, or disable marketplace plugins"
                },
                {
                  "type": "runtime",
                  "value": "the marketplace covers supported connectors and packaged skills; private skills are managed under Yours"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-skills-marketplace",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/plugin-marketplace",
      "markdown": "/features/plugin-marketplace.md",
      "json": "/api/v1/features/plugin-marketplace.json"
    },
    {
      "title": "Plugin systems",
      "description": "Compare portable Agent Plugins, native product extensions, packaged components, marketplaces, isolation, and vendor-specific extensions independently.",
      "slug": "plugins",
      "locale": "en",
      "seoTitle": "Plugin system capability coverage — Can My Agent Use",
      "socialTitle": "Which plugin capabilities can my agent use?",
      "socialDescription": "Compare native and portable plugin capabilities without treating every extension format as interchangeable.",
      "llmSummary": "Plugin support is a family of independent claims covering portable manifests, native extensions, packaged skills, packaged MCP, distribution, isolation, and vendor extensions.",
      "audience": "Engineers comparing agent extension and distribution systems.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "plugins",
        "packaging",
        "distribution"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Track portable and product-native extension capabilities independently.",
      "specLabel": "Catalog grouping",
      "aliases": [
        "plugins",
        "extensions",
        "agent plugins",
        "plugin marketplace"
      ],
      "capabilityKind": "family",
      "related": [
        "agent-skills",
        "mcp"
      ],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Agent Plugins specification",
          "href": "https://agent-plugins.org/specification/1.0",
          "kind": "spec"
        }
      ],
      "support": [],
      "html": "/features/plugins",
      "markdown": "/features/plugins.md",
      "json": "/api/v1/features/plugins.json"
    },
    {
      "title": "Plugin vendor extensions",
      "description": "Preserve namespaced host-specific behavior without representing it as portable core support. This is tracked as an independent compatibility claim.",
      "slug": "plugin-vendor-extensions",
      "locale": "en",
      "seoTitle": "Plugin vendor extensions compatibility — Can My Agent Use",
      "socialTitle": "Plugin vendor extensions",
      "socialDescription": "Preserve namespaced host-specific behavior without representing it as portable core support. Unreviewed product cells remain unknown.",
      "llmSummary": "Plugin vendor extensions is atomic and does not follow automatically from broader plugins support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "plugins"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Preserve namespaced host-specific behavior without representing it as portable core support.",
      "specLabel": "Agent Plugins 1.0",
      "specification": {
        "id": "agent-plugins",
        "revision": "1.0.0",
        "maturity": "published convention",
        "role": "vendor extension",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agent-plugins.org/specification/1.0"
      },
      "aliases": [
        "namespaced plugin extensions"
      ],
      "capabilityKind": "atomic",
      "parent": "plugins",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Claude Code keeps foreign manifest fields non-fatal and has native metadata and experimental fields, but does not document the Agent Plugins reverse-domain extensions model."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Plugin vendor extensions reference",
          "href": "https://agent-plugins.org/specification/1.0",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-plugins-reference",
          "title": "Anthropic — Claude Code plugins reference",
          "href": "https://code.claude.com/docs/en/plugins-reference",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Plugin manifest schema — complete schema and unrecognized fields"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code plugins reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "vendor-extension",
                  "value": "Claude Code supports its own metadata and experimental manifest fields and treats foreign top-level fields as non-fatal, but does not document the Agent Plugins reverse-domain extensions object or namespace-directory model"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-plugins-reference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/plugin-vendor-extensions",
      "markdown": "/features/plugin-vendor-extensions.md",
      "json": "/api/v1/features/plugin-vendor-extensions.json"
    },
    {
      "title": "Pricing, usage, and limits",
      "description": "Group plan pricing, usage metering, rate limits, quotas, and resumable runs.",
      "slug": "usage-and-reliability",
      "locale": "en",
      "seoTitle": "Pricing, usage, and limit coverage — Can My Agent Use",
      "socialTitle": "Pricing, usage, and limit coverage",
      "socialDescription": "Compare plan pricing, usage meters, rate limits, quotas, and resumable runs.",
      "llmSummary": "Pricing, usage, and limits is an internal catalog grouping for plan disclosure, usage metering, rate limits, quotas, and resumable runs.",
      "audience": "Engineers and teams evaluating operating limits.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "operations",
        "cost",
        "usage",
        "limits"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "operations",
      "summary": "Group common pricing, usage, quota, rate-limit, and session-resume questions.",
      "specLabel": "Catalog grouping",
      "aliases": [
        "operational limits",
        "usage limits",
        "pricing",
        "quotas"
      ],
      "capabilityKind": "family",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        }
      ],
      "support": [],
      "html": "/features/usage-and-reliability",
      "markdown": "/features/usage-and-reliability.md",
      "json": "/api/v1/features/usage-and-reliability.json"
    },
    {
      "title": "Project rules",
      "description": "Load persistent or path-scoped instructions from a documented product rule format.",
      "slug": "native-rules",
      "locale": "en",
      "seoTitle": "Project rules compatibility — Can My Agent Use",
      "socialTitle": "Project rules",
      "socialDescription": "Discover persistent or path-scoped instructions in the product's own rule format. Unreviewed product cells remain unknown.",
      "llmSummary": "Product-native rules is atomic and does not follow automatically from broader instructions support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "instructions"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Load persistent or path-scoped instructions from a documented product rule format.",
      "specLabel": "Common product term",
      "aliases": [
        "agent rules"
      ],
      "capabilityKind": "atomic",
      "parent": "instructions",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code loads persistent CLAUDE.md instructions and recursively discovers unconditional or path-scoped Markdown rules in .claude/rules."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor project rules are versioned .mdc files under .cursor/rules with always-on, relevance, glob, or manual activation."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI automatically loads hierarchical GEMINI.md context files and discovers more-specific files just in time."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code supports workspace-wide copilot-instructions.md plus path- or task-scoped .instructions.md files."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Copilot CLI supports repository-wide copilot-instructions.md and path-specific .instructions.md files."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Cline's primary workspace rule format is Markdown or text under .clinerules, with optional paths conditions."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Continue loads persistent workspace rules from .continue/rules and supports glob-scoped rule frontmatter."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Windsurf loads workspace Markdown rules from .windsurf/rules with always-on, glob, model-decision, or manual activation."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "microsoft-vscode-custom-instructions",
          "title": "Visual Studio Code — Custom instructions",
          "href": "https://code.visualstudio.com/docs/agent-customization/custom-instructions",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Types of instruction files and .instructions.md files"
        },
        {
          "id": "anthropic-claude-code-memory-rules",
          "title": "Anthropic — How Claude remembers your project",
          "href": "https://code.claude.com/docs/en/memory",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "CLAUDE.md files and organize rules with .claude/rules"
        },
        {
          "id": "cursor-project-rules",
          "title": "Cursor — Rules",
          "href": "https://prod.cursor.com/docs/rules",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Project rules and rule anatomy"
        },
        {
          "id": "google-gemini-context-files",
          "title": "Google — Provide context with GEMINI.md files",
          "href": "https://geminicli.com/docs/cli/gemini-md/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Understand the context hierarchy"
        },
        {
          "id": "github-copilot-cli-custom-instructions",
          "title": "GitHub — Adding custom instructions for Copilot CLI",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported instruction locations"
        },
        {
          "id": "cline-primary-rules",
          "title": "Cline — Rules",
          "href": "https://docs.cline.bot/customization/cline-rules",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Supported rule types and paths conditional"
        },
        {
          "id": "continue-project-rules",
          "title": "Continue — Create and manage rules",
          "href": "https://docs.continue.dev/customize/deep-dives/rules",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Project-specific rules and rule file frontmatter"
        },
        {
          "id": "windsurf-workspace-rules",
          "title": "Windsurf — Memories and Rules",
          "href": "https://docs.windsurf.com/windsurf/cascade/memories",
          "kind": "docs",
          "publisher": "Windsurf",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Rules scope table"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code memory documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-memory-rules",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Cursor Agent in the desktop workbench"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-project-rules",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI context-file documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "google-gemini-context-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code custom-instructions documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-custom-instructions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI custom-instructions documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-custom-instructions",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cline-primary-rules",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Continue Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "continue-project-rules",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "windsurf",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Windsurf Rules documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "windsurf-workspace-rules",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/native-rules",
      "markdown": "/features/native-rules.md",
      "json": "/api/v1/features/native-rules.json"
    },
    {
      "title": "Project-scoped Agent Skills",
      "description": "Discover skills installed for a repository or workspace. This is tracked as an independent compatibility claim.",
      "slug": "skill-project-scope",
      "locale": "en",
      "seoTitle": "Project-scoped Agent Skills compatibility — Can My Agent Use",
      "socialTitle": "Project-scoped Agent Skills",
      "socialDescription": "Discover skills installed for a repository or workspace. Unreviewed product cells remain unknown.",
      "llmSummary": "Project-scoped Agent Skills is atomic and does not follow automatically from broader agent-skills support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "agent-skills"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Discover skills installed for a repository or workspace.",
      "specLabel": "Agent Skills specification",
      "specification": {
        "id": "agent-skills",
        "revision": "living",
        "maturity": "published convention",
        "role": "scope",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agentskills.io/specification"
      },
      "aliases": [
        "project skills"
      ],
      "capabilityKind": "atomic",
      "parent": "agent-skills",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code discovers project skills from `.claude/skills/` in the working directory, parent directories through the repository root, and nested directories on demand."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor discovers project skills from `.agents/skills/`, `.cursor/skills/`, and compatible Claude or Codex project directories."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI discovers workspace skills from `.gemini/skills/` and the portable `.agents/skills/` alias, with workspace entries taking precedence over user entries of the same name."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code discovers project skills from `.github/skills/`, `.claude/skills/`, and `.agents/skills/`, with optional additional project locations."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Project-scoped Agent Skills reference",
          "href": "https://agentskills.io/specification",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-skills",
          "title": "Anthropic — Extend Claude with skills",
          "href": "https://code.claude.com/docs/en/slash-commands",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Where skills live; automatic discovery from parent and nested directories"
        },
        {
          "id": "cursor-agent-skills",
          "title": "Cursor — Agent Skills",
          "href": "https://prod.cursor.com/docs/skills",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Skill directories"
        },
        {
          "id": "gemini-agent-skills",
          "title": "Gemini CLI — Managing Agent Skills",
          "href": "https://geminicli.com/docs/cli/using-agent-skills/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Discovery tiers"
        },
        {
          "id": "vscode-agent-skills",
          "title": "Visual Studio Code — Use Agent Skills",
          "href": "https://code.visualstudio.com/docs/agent-customization/agent-skills",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Create a skill"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "the catalog's Claude Code Agent Skills core row remains qualified as beta"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cursor-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "gemini-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/skill-project-scope",
      "markdown": "/features/skill-project-scope.md",
      "json": "/api/v1/features/skill-project-scope.json"
    },
    {
      "title": "Prompt cache controls",
      "description": "Mark reusable prompt segments, choose retention, or explicitly create, refresh, and invalidate cached context.",
      "slug": "prompt-cache-controls",
      "locale": "en",
      "seoTitle": "Prompt cache controls compatibility — Can My Agent Use",
      "socialTitle": "Prompt cache controls",
      "socialDescription": "Compare explicit breakpoints, retention choices, creation, refresh, and invalidation of prompt caches.",
      "llmSummary": "Prompt-cache controls let an operator or configuration mark reusable segments or manage cache lifetime; automatic caching alone does not establish control.",
      "audience": "Engineers optimizing repeated large prompts and agent instructions.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "context",
        "prompt-caching",
        "control"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Mark, retain, refresh, or invalidate cached prompt context.",
      "specLabel": "Common product term",
      "aliases": [
        "cache breakpoint",
        "cache retention",
        "explicit prompt cache"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "prompt-cache-reuse",
        "prompt-cache-telemetry"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code exposes environment-variable controls to disable prompt caching globally or per model and to choose documented five-minute or one-hour TTL behavior in eligible environments."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-code-prompt-caching",
          "title": "Anthropic — How Claude Code uses prompt caching",
          "href": "https://code.claude.com/docs/en/prompt-caching",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "DISABLE_PROMPT_CACHING and per-model variants disable caching; TTL variables select documented retention behavior where supported"
                },
                {
                  "type": "policy",
                  "value": "Claude Code manages prefix breakpoints automatically and does not expose arbitrary per-message breakpoint authoring in the reviewed harness documentation"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-prompt-caching",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/prompt-cache-controls",
      "markdown": "/features/prompt-cache-controls.md",
      "json": "/api/v1/features/prompt-cache-controls.json"
    },
    {
      "title": "Prompt cache telemetry",
      "description": "Report cache reads, writes, hits, misses, saved latency, or cached-token billing for a run.",
      "slug": "prompt-cache-telemetry",
      "locale": "en",
      "seoTitle": "Prompt cache telemetry compatibility — Can My Agent Use",
      "socialTitle": "Prompt cache telemetry",
      "socialDescription": "Compare visibility into prompt-cache hits, misses, token counts, latency, and cost.",
      "llmSummary": "Prompt-cache telemetry exposes whether reuse occurred and, ideally, cached read/write tokens, cost, latency, and cache scope; documented caching without visibility is a separate claim.",
      "audience": "Engineers verifying that context caching is effective and economical.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "context",
        "prompt-caching",
        "telemetry",
        "cost"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Inspect cache hits, misses, token counts, latency, or billing effects.",
      "specLabel": "Common product term",
      "aliases": [
        "cache hit metrics",
        "cached tokens",
        "cache observability"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "prompt-cache-reuse",
        "prompt-cache-controls",
        "usage-metering"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code exposes cache creation and cache read token counts through status-line data and OpenTelemetry, including per-user and per-session organization metrics."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents cached-token savings in /stats when token caching is available."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-code-prompt-caching",
          "title": "Anthropic — How Claude Code uses prompt caching",
          "href": "https://code.claude.com/docs/en/prompt-caching",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-code-monitoring",
          "title": "Anthropic — Monitor Claude Code usage",
          "href": "https://code.claude.com/docs/en/monitoring-usage",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-token-caching",
          "title": "Google — Gemini CLI token caching",
          "href": "https://geminicli.com/docs/cli/token-caching/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "current_usage exposes cache_creation_input_tokens and cache_read_input_tokens; OpenTelemetry reports cache read and creation tokens per request, user, and session"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-prompt-caching",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-code-monitoring",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/stats displays cached-token savings when caching is available; the reviewed page does not establish hit/miss events or retained historical telemetry"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-token-caching",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/prompt-cache-telemetry",
      "markdown": "/features/prompt-cache-telemetry.md",
      "json": "/api/v1/features/prompt-cache-telemetry.json"
    },
    {
      "title": "Prompt caching",
      "description": "Reuse eligible repeated prompt content across requests under documented caching behavior.",
      "slug": "prompt-cache-reuse",
      "locale": "en",
      "seoTitle": "Prompt and context caching compatibility — Can My Agent Use",
      "socialTitle": "Prompt caching",
      "socialDescription": "Compare automatic and persistent reuse of eligible repeated context across harnesses.",
      "llmSummary": "Prompt caching reuses eligible repeated prompt content under documented latency or billing behavior. Browser, HTTP, file, and retrieval caching do not count.",
      "audience": "Engineers comparing latency and token cost for repeated large contexts.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "context",
        "prompt-caching",
        "latency",
        "cost"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Reuse eligible repeated prompt content under documented caching behavior.",
      "specLabel": "Common product term",
      "aliases": [
        "prompt caching",
        "context caching",
        "cached input",
        "prefix caching"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "prompt-cache-controls",
        "prompt-cache-telemetry",
        "usage-metering"
      ],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code documents automatic prefix-based prompt caching for its system prompt, project context, conversation history, and tool results, with explicit invalidation behavior."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents automatic token caching for Gemini API-key and Vertex AI authentication, while OAuth through Code Assist does not support cached-content creation."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-code-prompt-caching",
          "title": "Anthropic — How Claude Code uses prompt caching",
          "href": "https://code.claude.com/docs/en/prompt-caching",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-token-caching",
          "title": "Google — Gemini CLI token caching",
          "href": "https://geminicli.com/docs/cli/token-caching/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "automatic exact-prefix caching covers stable request layers; switching models, reconnecting MCP servers, compaction, and upgrades can invalidate all or part of the prefix"
                },
                {
                  "type": "policy",
                  "value": "cache infrastructure and retention depend on the authentication and serving provider"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-prompt-caching",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "automatic caching reuses previous system instructions and context for Gemini API-key and Vertex AI users"
                },
                {
                  "type": "policy",
                  "value": "OAuth users through Google Personal or Enterprise Code Assist do not receive cached-content creation"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-token-caching",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/prompt-cache-reuse",
      "markdown": "/features/prompt-cache-reuse.md",
      "json": "/api/v1/features/prompt-cache-reuse.json"
    },
    {
      "title": "Pull request integration",
      "description": "Open or review pull requests through a documented product integration.",
      "slug": "git-pull-requests",
      "locale": "en",
      "seoTitle": "Pull request integration — Can My Agent Use",
      "socialTitle": "Pull request integration",
      "socialDescription": "Open or review pull requests through a documented product integration. Unreviewed cells remain unknown.",
      "llmSummary": "Pull request integration means a product documents opening or reviewing pull requests; unreviewed harness cells remain unknown.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "tools"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Open or review pull requests through a documented integration.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Product cells without reviewed public evidence remain unknown; opening and reviewing pull requests qualify independently, with surface-specific scope recorded below."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Code documents `/review [PR]` for local pull-request review and `--from-pr` for resuming a session linked to a pull request."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor documents Cloud Agents automatically opening pull requests and attaching test evidence and other artifacts to them."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code documents Cloud agent sessions that create a branch and pull request, plus local review and checkout controls for that result."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI documents a native `/review` command that runs its code-review agent against session changes."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "GitHub — Copilot cloud agent",
          "href": "https://docs.github.com/en/copilot/tutorials/cloud-agent/pilot-cloud-agent",
          "kind": "docs",
          "publisher": "GitHub",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-claude-code-commands-pr-review",
          "title": "Anthropic — Claude Code commands",
          "href": "https://code.claude.com/docs/en/commands",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "/review and /resume"
        },
        {
          "id": "cursor-cloud-agent-pull-requests",
          "title": "Cursor — What are background agents?",
          "href": "https://prod.cursor.com/help/ai-features/background-agents",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Pull-request results and artifacts"
        },
        {
          "id": "microsoft-vscode-cloud-agent-pull-request",
          "title": "Microsoft — Hand off work between agents in VS Code",
          "href": "https://code.visualstudio.com/docs/agents/agents-handoff-tutorial",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Continue in the cloud"
        },
        {
          "id": "github-copilot-cli-pr-review",
          "title": "GitHub — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "/review"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code command documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the documented native capability reviewed here is pull-request review and session linkage; opening a pull request can additionally depend on GitHub tooling and repository authorization"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-commands-pr-review",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Cloud Agent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "Cloud Agent pull requests require an authorized repository and run on Cursor's hosted VM environment"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-cloud-agent-pull-requests",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code cloud-agent handoff documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "the pull-request workflow applies to a GitHub-backed Cloud session selected from VS Code and requires repository authorization"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-cloud-agent-pull-request",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI command reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/review analyzes current session changes; the reviewed command reference does not by itself establish opening or reviewing a hosted pull-request object from the CLI"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-pr-review",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/git-pull-requests",
      "markdown": "/features/git-pull-requests.md",
      "json": "/api/v1/features/git-pull-requests.json"
    },
    {
      "title": "Rate limits and quotas",
      "description": "Document request, token, concurrency, or other product usage limits.",
      "slug": "rate-limit-disclosure",
      "locale": "en",
      "seoTitle": "Rate limits and quotas — Can My Agent Use",
      "socialTitle": "Rate limits and quotas",
      "socialDescription": "Compare documented request, token, concurrency, and usage limits.",
      "llmSummary": "Rate limits and quotas are documented product usage boundaries; their scope and reset period are recorded as qualifiers.",
      "audience": "Engineers planning production and high-volume agent workflows.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "operations",
        "rate-limits",
        "quotas",
        "concurrency"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "operations",
      "summary": "Record documented product usage limits and reset periods.",
      "specLabel": "Measured product property",
      "aliases": [
        "quota",
        "usage cap",
        "fair use limit",
        "concurrency limit"
      ],
      "capabilityKind": "atomic",
      "parent": "usage-and-reliability",
      "related": [
        "subagent-concurrency",
        "upload-limits",
        "usage-metering"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Cursor documents two monthly usage pools, real-time remaining allowance, a billing-cycle reset with no rollover, editor notification at the boundary, and optional on-demand usage. The numeric included allowance varies by plan and is not stated on the reviewed page."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI documents plan-based concurrent-subagent limits of 2, 4, 8, 16, or 32, a global session-tree maximum of 32, and rejection of new child requests until capacity becomes available. These are subagent quotas, not the complete request, token, tool, or premium-request envelope."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: OpenAI publishes plan- and model-specific estimated local-message ranges per five-hour window for ChatGPT Work and Codex, documents that local and cloud tasks share the window, notes additional weekly limits, and describes credit-based continuation. The ranges vary with task complexity and are not hard per-message guarantees."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "cursor-usage-limits",
          "title": "Cursor — Usage and limits",
          "href": "https://prod.cursor.com/help/models-and-usage/usage-limits",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Usage pools; limits; reset"
        },
        {
          "id": "github-copilot-cli-reference",
          "title": "GitHub Docs — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Subagent limits"
        },
        {
          "id": "openai-work-pricing-limits",
          "title": "OpenAI — ChatGPT Work and Codex pricing and usage limits",
          "href": "https://learn.chatgpt.com/docs/pricing",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Usage limits; what happens at the limit; current limits"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work usage-limit documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "local messages and cloud chats share a five-hour allowance; additional weekly limits may apply, and Enterprise or Edu flexible pricing can scale through credits"
                },
                {
                  "type": "runtime",
                  "value": "documented plan and model tables are estimated ranges because task size, context, reasoning, tools, retrieval, caching, and local versus cloud execution change consumption"
                },
                {
                  "type": "policy",
                  "value": "an active turn may finish at the boundary subject to fair use; eligible plans can buy credits, switch models, or use separately billed API-key sessions"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing-limits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT desktop usage-limit documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "local desktop tasks share the five-hour ChatGPT Work and Codex allowance with cloud chats; additional weekly limits may apply"
                },
                {
                  "type": "runtime",
                  "value": "ChatGPT Voice on desktop has a separate plan-dependent rolling five-hour allowance, while tasks started through Voice still consume the shared Codex task budget"
                },
                {
                  "type": "policy",
                  "value": "the published local-message and voice-minute ranges are estimates rather than fixed per-message guarantees"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing-limits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Codex CLI usage-limit documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "ChatGPT-authenticated local messages share a five-hour allowance with cloud chats and may have additional weekly limits; model-specific estimated ranges are published by plan"
                },
                {
                  "type": "runtime",
                  "value": "/status exposes remaining limits during the session; an active turn may finish at the boundary subject to fair use"
                },
                {
                  "type": "auth",
                  "value": "API-key sessions are billed independently at API rates and are not part of the ChatGPT-plan allowance"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing-limits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "usage is split into two monthly pools; remaining allowance, on-demand charges, and reset date are visible in the Spending dashboard"
                },
                {
                  "type": "runtime",
                  "value": "unused usage does not roll over; at the boundary the editor offers on-demand usage or a plan upgrade"
                },
                {
                  "type": "policy",
                  "value": "numeric included allowances and the complete request, token, upload, tool, and agent-concurrency envelope are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-usage-limits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 GitHub Copilot CLI documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "concurrent subagents are limited to 2 on Free or Education, 4 on Pro or Pro+, 8 on Max, 16 on Business, and 32 on Enterprise or usage-based billing"
                },
                {
                  "type": "runtime",
                  "value": "concurrency is counted across the full session tree; new child requests are rejected until an active child completes; maximum documented concurrency is 32"
                },
                {
                  "type": "policy",
                  "value": "this cell establishes subagent limits only, not the full request, token, premium-request, tool, or upload quota envelope"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-reference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/rate-limit-disclosure",
      "markdown": "/features/rate-limit-disclosure.md",
      "json": "/api/v1/features/rate-limit-disclosure.json"
    },
    {
      "title": "Realtime voice",
      "description": "Speak and listen over a live audio session.",
      "slug": "realtime-voice",
      "locale": "en",
      "seoTitle": "Realtime voice — Can My Agent Use",
      "socialTitle": "Realtime voice",
      "socialDescription": "Compare live speech input and audio response support.",
      "llmSummary": "Realtime voice supports live spoken input and audio responses. Turn-taking, interruption, latency, models, and session limits are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Speak and listen over a live audio session.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Product cells without reviewed public evidence remain unknown; dictation or read-aloud alone does not qualify as a live two-way audio session."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Microsoft documents Copilot Voice on copilot.com as listening continuously, speaking responses aloud, allowing interruption and follow-up speech, and producing a transcript when the live session ends."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Anthropic documents beta voice mode on Claude web and Claude Desktop as a complete two-way spoken conversation with hands-free and push-to-talk operation."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "OpenAI — Realtime API reference",
          "href": "https://platform.openai.com/docs/api-reference/realtime",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "microsoft-copilot-voice",
          "title": "Microsoft — Using Copilot Voice",
          "href": "https://support.microsoft.com/en-us/Microsoft-Copilot/using-copilot-voice-with-microsoft-copilot",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How to use Copilot Voice"
        },
        {
          "id": "anthropic-claude-voice-mode",
          "title": "Anthropic — Use voice mode",
          "href": "https://support.claude.com/en/articles/11101966-use-voice-mode",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Web and Claude Desktop; hands-free and push-to-talk modes"
        }
      ],
      "support": [
        {
          "harness": "copilot-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Microsoft Copilot Voice support documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "requires microphone permission; conversations can be time-limited and subscriber priority applies when capacity is constrained"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-copilot-voice",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude web voice-mode documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "voice mode is beta, counts toward normal plan usage, and can be disabled by an Enterprise owner through support"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-voice-mode",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "preview"
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Desktop voice-mode documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "voice mode is beta and uses hosted Claude models; this is a desktop client capability, not local audio-model execution"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-voice-mode",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "preview"
            }
          ]
        }
      ],
      "html": "/features/realtime-voice",
      "markdown": "/features/realtime-voice.md",
      "json": "/api/v1/features/realtime-voice.json"
    },
    {
      "title": "Reasoning effort controls",
      "description": "Choose a documented reasoning depth, effort, or budget for a run.",
      "slug": "reasoning-effort-controls",
      "locale": "en",
      "seoTitle": "Reasoning effort controls compatibility — Can My Agent Use",
      "socialTitle": "Reasoning effort controls",
      "socialDescription": "Compare operator control over reasoning depth, effort, and budgets.",
      "llmSummary": "Reasoning effort controls let an operator choose a documented reasoning mode or budget; model selection alone does not prove this capability.",
      "audience": "Engineers balancing latency, cost, and task quality.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "models",
        "reasoning",
        "latency",
        "cost"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "models-context",
      "summary": "Choose a documented reasoning depth, effort, or budget for a run.",
      "specLabel": "Common product term",
      "aliases": [
        "thinking budget",
        "reasoning mode",
        "thinking level"
      ],
      "capabilityKind": "atomic",
      "parent": "models-and-context",
      "related": [
        "model-selection",
        "usage-metering"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: ChatGPT Work on the web and ChatGPT desktop expose a reasoning control beneath the composer; Codex CLI exposes reasoning effort through /model, with documented Low through Ultra levels when supported."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude web and desktop expose effort and extended-thinking controls; Claude Code documents per-session and configured effort levels, subject to model support."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openai-models",
          "title": "OpenAI — Models in ChatGPT Work and Codex",
          "href": "https://learn.chatgpt.com/docs/models",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-change-model",
          "title": "Anthropic — Change model, effort, and thinking settings",
          "href": "https://support.claude.com/en/articles/8664678-change-the-model-effort-and-thinking-settings",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-code-model-config",
          "title": "Anthropic — Claude Code model configuration",
          "href": "https://code.claude.com/docs/en/model-config",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "available reasoning levels depend on the selected model and account eligibility"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "available reasoning levels depend on the selected model and account eligibility; Max may require enabling it in settings"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "documented selector includes Low, Medium, High, Extra high, Max, and Ultra when the selected model supports them"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-models",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "effort and extended thinking are distinct controls and depend on model availability"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-change-model",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "effort and extended thinking are distinct controls and depend on model availability"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-change-model",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "low, medium, high, xhigh, and max are documented where supported; ultrathink requests deeper reasoning for one turn"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-code-model-config",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/reasoning-effort-controls",
      "markdown": "/features/reasoning-effort-controls.md",
      "json": "/api/v1/features/reasoning-effort-controls.json"
    },
    {
      "title": "Role-based access control (RBAC)",
      "description": "Assign permissions to users through documented roles.",
      "slug": "role-based-access",
      "locale": "en",
      "seoTitle": "Role-based access control compatibility — Can My Agent Use",
      "socialTitle": "Role-based access control",
      "socialDescription": "Compare documented product roles and the permissions assigned to them.",
      "llmSummary": "Role-based access control assigns permissions to users through roles; possession of a shared link alone is not RBAC.",
      "audience": "Teams requiring least-privilege collaboration.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "collaboration",
        "permissions",
        "RBAC",
        "teams"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "collaboration",
      "summary": "Assign and enforce permissions through documented roles.",
      "specLabel": "Common product term",
      "aliases": [
        "RBAC",
        "team roles",
        "collaborator permissions"
      ],
      "capabilityKind": "atomic",
      "parent": "collaboration-and-portability",
      "related": [
        "admin-policy-controls",
        "audit-logs",
        "conversation-sharing"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Enterprise custom roles can grant product capabilities, connector and model access, and delegated administration through group assignments. Organization settings are the upper gate, permissions are additive across roles, and only members whose organization role is Custom are governed by custom roles."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor documents team Member, Admin, and Unpaid Admin roles plus Enterprise organization groups that can map cohorts into teams with Member or Admin roles and apply model and agent controls. The role vocabulary is fixed rather than an arbitrary custom-role builder."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Perplexity Enterprise supports base and custom roles assigned directly or through managed or SCIM groups. Roles grant product, sharing, file, API, security, and administrative permissions, while organization-level master switches remain separate."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Replit provides Admin, Member, Guest, and Viewer roles plus Enterprise custom groups and app-specific Owner, Publisher, Editor, Viewer, and None access levels. Groups can receive access to selected apps; permissions differ between organization and app scope."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "NIST — Role Based Access Control",
          "href": "https://csrc.nist.gov/projects/role-based-access-control",
          "kind": "spec",
          "publisher": "NIST",
          "reviewedAt": "2026-08-28"
        },
        {
          "title": "OpenAI — Role-based access controls for ChatGPT Enterprise",
          "href": "https://help.openai.com/en/articles/11750701-rbac",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-custom-roles",
          "title": "Anthropic Help Center — Manage custom roles on Enterprise plans",
          "href": "https://support.claude.com/en/articles/13930452-manage-custom-roles-on-enterprise-plans",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Custom roles; precedence; capabilities and permissions"
        },
        {
          "id": "cursor-iam-rbac",
          "title": "Cursor Docs — Identity and access management",
          "href": "https://prod.cursor.com/docs/enterprise/identity-and-access-management",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Role-Based Access Control"
        },
        {
          "id": "cursor-organization-groups",
          "title": "Cursor Docs — Organization Groups",
          "href": "https://prod.cursor.com/docs/enterprise/organization-groups",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Set team roles from mappings; group settings"
        },
        {
          "id": "perplexity-enterprise-rbac",
          "title": "Perplexity Help Center — Enterprise roles and permissions",
          "href": "https://www.perplexity.ai/help-center/en/articles/11187754-enterprise-roles-and-permissions",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Roles and groups; access evaluation; permissions reference"
        },
        {
          "id": "replit-roles-groups-access",
          "title": "Replit Docs — Roles, groups, and access",
          "href": "https://docs.replit.com/teams/identity-and-access-management/groups-and-permissions",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Roles; custom groups; app access control"
        }
      ],
      "support": [
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise custom-role documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "custom roles are available to Enterprise organizations and apply only after a member's organization role is set to Custom"
                },
                {
                  "type": "policy",
                  "value": "roles assigned through groups can grant Chat and other capabilities, connectors and tools, models and effort limits, and delegated administration"
                },
                {
                  "type": "runtime",
                  "value": "organization-level settings are the upper gate and capability grants are additive across applicable custom roles"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-custom-roles",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Enterprise desktop role enforcement observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise custom roles can grant or restrict Chat access across web, desktop, and mobile for members whose organization role is Custom"
                },
                {
                  "type": "policy",
                  "value": "group-assigned roles also govern connectors, models, effort limits, and other supported capabilities; the most restrictive organization-level gate remains authoritative"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-custom-roles",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor RBAC documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "team Member, Admin, and Unpaid Admin roles separate product use from team and security administration"
                },
                {
                  "type": "plan",
                  "value": "Enterprise organization groups can map directory or manually managed cohorts to teams with Member or Admin roles and attach model and agent controls"
                },
                {
                  "type": "runtime",
                  "value": "roles are built in rather than arbitrary custom permission bundles, and group settings commonly use a most-permissive merge"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-iam-rbac",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "cursor-organization-groups",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity Enterprise RBAC documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Enterprise administrators can manage base and custom roles and assign them directly or through Perplexity-managed or SCIM-synced groups"
                },
                {
                  "type": "policy",
                  "value": "roles grant file, sharing, API, security, product, and administrative permissions; grants are additive across roles"
                },
                {
                  "type": "runtime",
                  "value": "organization-level feature and public-sharing controls remain master switches that roles cannot override"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-enterprise-rbac",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "replit-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Replit roles and app-access documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "organization roles are Admin, Member, Guest, and Viewer; app access levels are Owner, Publisher, Editor, Viewer, and None"
                },
                {
                  "type": "plan",
                  "value": "Enterprise custom groups add fine-grained cohort access and can be synchronized from an identity provider"
                },
                {
                  "type": "runtime",
                  "value": "organization permissions and app-specific access are separate scopes, and groups receive app access through each app's Access panel"
                }
              ],
              "evidence": [
                {
                  "resourceId": "replit-roles-groups-access",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/role-based-access",
      "markdown": "/features/role-based-access.md",
      "json": "/api/v1/features/role-based-access.json"
    },
    {
      "title": "Sandbox network access",
      "description": "Allow, deny, or restrict outbound network access from a tool sandbox.",
      "slug": "sandbox-network",
      "locale": "en",
      "seoTitle": "Sandbox network access — Can My Agent Use",
      "socialTitle": "Sandbox network access",
      "socialDescription": "Compare outbound network access and restrictions for tool sandboxes.",
      "llmSummary": "Sandbox network access means a product documents allowing, denying, or restricting outbound access from its execution sandbox.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Allow, deny, or restrict outbound network access from a tool sandbox.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Product cells without reviewed public evidence remain unknown; network controls are scoped to the documented execution sandbox rather than ordinary application traffic."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents a sandbox network-access switch and sandbox profiles that allow direct or proxied network access."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: VS Code documents preview agent sandboxing with network blocked by default, unrestricted-network opt-in, and allow/deny domain controls."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor documents isolated Cloud Agent VMs governed by network policies and operator-controlled network access, but the reviewed page does not expose the policy's complete rule syntax."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI documents experimental OS-level sandboxing, an effective network policy, and explicit URL/domain allow and deny controls."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "Anthropic — Claude Code corporate proxy configuration",
          "href": "https://docs.anthropic.com/en/docs/claude-code/corporate-proxy",
          "kind": "docs",
          "publisher": "Anthropic",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-sandbox-configuration",
          "title": "Google — Gemini CLI configuration",
          "href": "https://geminicli.com/docs/reference/configuration/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "tools.sandboxNetworkAccess and sandboxing"
        },
        {
          "id": "microsoft-vscode-agent-approvals-sandbox",
          "title": "Microsoft — Manage approvals and permissions",
          "href": "https://code.visualstudio.com/docs/agents/run/approvals",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Sandbox agent commands and configure network access"
        },
        {
          "id": "cursor-cloud-agent-security",
          "title": "Cursor — What are background agents?",
          "href": "https://prod.cursor.com/help/ai-features/background-agents",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How background agents work"
        },
        {
          "id": "github-copilot-cli-sandbox-network",
          "title": "GitHub — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "/sandbox, --sandbox, --allow-url, and --deny-url"
        }
      ],
      "support": [
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI sandbox configuration",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "sandboxing is configurable and disabled by default; tools.sandboxNetworkAccess defaults to false and changes require restart"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-sandbox-configuration",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code approvals and sandbox documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "agent terminal sandboxing is preview-only and available on macOS, Linux, and WSL2"
                },
                {
                  "type": "policy",
                  "value": "outbound access is blocked unless allowed when sandboxing is enabled; domain allow and deny lists and an unrestricted-network switch are configurable"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-agent-approvals-sandbox",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "preview"
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Cloud Agent security documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "applies to isolated Cloud Agent VMs; first-party documentation states that environments have operator-controlled network access and network policies without documenting the full rule model on the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-cloud-agent-security",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI command reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "experimental",
                  "value": "OS-level local sandboxing and the --sandbox switch require experimental mode"
                },
                {
                  "type": "policy",
                  "value": "/sandbox exposes the effective network policy, while --allow-url and --deny-url control specific URLs or domains and deny rules take precedence"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-sandbox-network",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/sandbox-network",
      "markdown": "/features/sandbox-network.md",
      "json": "/api/v1/features/sandbox-network.json"
    },
    {
      "title": "Scheduled runs",
      "description": "Start a task on a schedule without a new human prompt.",
      "slug": "scheduled-runs",
      "locale": "en",
      "seoTitle": "Scheduled runs — Can My Agent Use",
      "socialTitle": "Scheduled runs",
      "socialDescription": "Compare scheduled task execution, limits, and background behavior.",
      "llmSummary": "Scheduled runs start saved tasks according to a schedule without a new human prompt. Hosting, limits, retention, and unattended-run behavior are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Start a task on a schedule without a new human prompt.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Grok Bot routines can run a workflow on a schedule, show the next run, execute while the operator's laptop is closed, and retain the 20 most recent run records; each Bot can own up to 50 routines."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Code can schedule recurring or one-shot prompts with `/loop` and cron tools inside a live session; it also exposes durable cloud Routines through `/schedule`, but Routines are a research preview."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor Automations run Cloud Agents on recurring preset or cron schedules, and Cloud Agent timer subscriptions can wake an existing conversation without another human prompt."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Warp documents scheduled recurring tasks for cloud agents on its Automation Platform; this is a hosted automation surface, not a timer inside the default local Warp Agent session."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "xai-grok-bot-routines",
          "title": "xAI — Grok Bot skills and routines",
          "href": "https://docs.x.ai/grok-bot/skills-routines-and-automations",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Create a routine"
        },
        {
          "id": "anthropic-claude-code-scheduled-tasks",
          "title": "Anthropic — Run prompts on a schedule",
          "href": "https://code.claude.com/docs/en/scheduled-tasks",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-claude-code-routines",
          "title": "Anthropic — Automate work with routines",
          "href": "https://code.claude.com/docs/en/web-scheduled-tasks",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-cloud-agent-automations",
          "title": "Cursor — Automations",
          "href": "https://cursor.com/docs/cloud-agent/automations",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Scheduled triggers"
        },
        {
          "id": "cursor-cloud-agent-capabilities",
          "title": "Cursor — Cloud Agent capabilities",
          "href": "https://cursor.com/docs/cloud-agent/capabilities",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Subscriptions"
        },
        {
          "id": "warp-cloud-agent-schedules",
          "title": "Warp — Getting started with Warp",
          "href": "https://docs.warp.dev/",
          "kind": "docs",
          "publisher": "Warp",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "In the cloud, as a cloud agent"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code scheduling documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "session-scoped tasks fire only while Claude Code is running and idle and recurring tasks expire after seven days"
                },
                {
                  "type": "preview",
                  "value": "durable cloud Routines created with /schedule are research preview, require Claude Code on the web, and have account and organization availability constraints"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-scheduled-tasks",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-claude-code-routines",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor Cloud Agent documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Automations create billable Cloud Agents; repository access and optional tools must be configured for each automation"
                },
                {
                  "type": "runtime",
                  "value": "conversation timer subscriptions last at most 180 days"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-cloud-agent-automations",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "cursor-cloud-agent-capabilities",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "warp",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Warp cloud-agent documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "schedules run cloud agents on Warp infrastructure or customer-managed infrastructure through the Automation Platform, not the default local app session"
                }
              ],
              "evidence": [
                {
                  "resourceId": "warp-cloud-agent-schedules",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "each Bot can own up to 50 routines and the app keeps the 20 most recent run records per routine"
                },
                {
                  "type": "policy",
                  "value": "unattended routines may be paused after a long absence and consequential actions should remain approval-gated"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-routines",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/scheduled-runs",
      "markdown": "/features/scheduled-runs.md",
      "json": "/api/v1/features/scheduled-runs.json"
    },
    {
      "title": "Screenshots",
      "description": "Capture a screen, window, or browser page for use as model input.",
      "slug": "screenshots",
      "locale": "en",
      "seoTitle": "Screenshots — Can My Agent Use",
      "socialTitle": "Screenshots",
      "socialDescription": "Compare screenshot capture scope by exact product surface.",
      "llmSummary": "Screenshot support captures a screen, window, or browser page for use as model input. Browser-only and arbitrary desktop capture are distinct qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Capture a screen, window, or browser page for use as model input.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: the first-party OpenWork Browser can take screenshots during browser-control tasks; arbitrary desktop capture is not documented."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: VS Code Copilot Chat can capture the current integrated-browser viewport and attach it as image context. Arbitrary desktop capture is not established by the current page."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI's optional browser agent can capture and analyze browser screenshots when a visual model is configured. The visual agent requires API-key or Vertex AI authentication and is unavailable with Sign in with Google."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openwork-screenshots",
          "title": "OpenWork — Control the browser",
          "href": "https://openworklabs.com/docs/start-here/do-work-with-it/control-the-browser",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-chat-context",
          "title": "Visual Studio Code — Add context to chat",
          "href": "https://code.visualstudio.com/docs/chat/copilot-chat-context",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Add browser context"
        },
        {
          "id": "gemini-cli-browser-agent",
          "title": "Gemini CLI — Subagents",
          "href": "https://geminicli.com/docs/core/subagents/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Browser agent; visual agent"
        }
      ],
      "support": [
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork Browser documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "browser screenshots only; arbitrary desktop capture is not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-screenshots",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "2026-08-26 VS Code chat-context documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the integrated browser can capture its current viewport and attach it as an image to Chat"
                },
                {
                  "type": "runtime",
                  "value": "arbitrary desktop, application-window, and multi-monitor capture is not established by the current reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-chat-context",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI browser-agent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the optional browser agent gains an analyze_screenshot tool that captures a browser screenshot and sends it to a configured vision model"
                },
                {
                  "type": "plan",
                  "value": "requires API-key or Vertex AI authentication and is unavailable with Sign in with Google"
                },
                {
                  "type": "runtime",
                  "value": "browser-only capture does not establish arbitrary desktop, application-window, or multi-monitor screenshot support"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-cli-browser-agent",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/screenshots",
      "markdown": "/features/screenshots.md",
      "json": "/api/v1/features/screenshots.json"
    },
    {
      "title": "Secrets management",
      "description": "Store and provide credentials to product tools or execution environments through a documented secrets feature.",
      "slug": "secrets-management",
      "locale": "en",
      "seoTitle": "Secrets management compatibility — Can My Agent Use",
      "socialTitle": "Secrets management",
      "socialDescription": "Compare documented secret storage, scope, injection, and masking behavior.",
      "llmSummary": "Secrets management is a documented product facility for storing credentials and providing them to tools or execution environments; plain-text configuration is not a secrets manager.",
      "audience": "Security engineers and teams connecting agents to real systems.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "secrets",
        "credentials",
        "redaction"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Store and provide credentials through a documented secrets feature.",
      "specLabel": "Common product term",
      "aliases": [
        "credential vault",
        "secret redaction",
        "environment secrets"
      ],
      "capabilityKind": "atomic",
      "parent": "data-security-controls",
      "related": [
        "subagent-approval-boundaries",
        "connectors",
        "mcp-oauth"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Cursor Background Agents accept development-environment secrets, store them encrypted at rest with KMS, and inject them into the remote agent environment. The reviewed page does not document per-tool allowlists, masking behavior, or a guarantee that the model cannot read an injected value."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: GitHub Copilot cloud agent has dedicated Agents secrets at repository and organization scope, repository allowlists for organization secrets, masked session logs, and an MCP-only prefix that withholds designated values from the general agent environment. It cannot access Actions, Codespaces, or Dependabot secrets."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Devin encrypts global secrets at rest and supports organization, personal, repository, and session scopes, including raw credentials, site cookies, and TOTP material. Organization members can use global secrets while only admins can view or edit them; environment injection means Devin or executed code can access the value."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Replit's Secrets tool encrypts app and account secrets with AES-256 at rest and TLS in transit and exposes linked values as environment variables to the app and Agent execution environment. Collaborators and non-owner organization members may still recover values by printing environment variables, which is an important disclosure boundary."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "GitHub — Secrets reference",
          "href": "https://docs.github.com/en/actions/reference/security/secrets",
          "kind": "docs",
          "publisher": "GitHub",
          "reviewedAt": "2026-08-28"
        },
        {
          "title": "GitHub — Agentic workflows and repository secrets",
          "href": "https://docs.github.com/en/actions/tutorials/develop-agentic-workflows-in-github-actions",
          "kind": "docs",
          "publisher": "GitHub",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-background-agent-secrets",
          "title": "Cursor Docs — Background Agents",
          "href": "https://docs.cursor.com/background-agent",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Base environment setup; secrets; security"
        },
        {
          "id": "github-copilot-agent-secrets",
          "title": "GitHub Docs — Configure secrets and variables for Copilot cloud agent",
          "href": "https://docs.github.com/en/enterprise-cloud@latest/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/configure-secrets-and-variables",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Scope; repository access; injection and masking"
        },
        {
          "id": "devin-secrets",
          "title": "Devin Docs — Secrets and site cookies",
          "href": "https://docs.devin.ai/product-guides/secrets",
          "kind": "docs",
          "publisher": "Cognition",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Global, personal, repository, and session secrets; injection"
        },
        {
          "id": "replit-secrets",
          "title": "Replit Docs — Secrets",
          "href": "https://docs.replit.com/core-concepts/project-editor/app-setup/secrets",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Features; app and account secrets; visibility"
        }
      ],
      "support": [
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor Background Agent secrets documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "development-environment secrets are stored encrypted at rest using KMS and injected into the remote Background Agent environment"
                },
                {
                  "type": "policy",
                  "value": "per-tool access controls, log masking, rotation, and prevention of model or shell access to injected values are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-background-agent-secrets",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Copilot cloud-agent secrets documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "dedicated Agents secrets can be scoped to a repository or organization, with all, private, or selected repository access for organization values"
                },
                {
                  "type": "runtime",
                  "value": "values are injected as environment variables and masked in session logs; COPILOT_MCP_-prefixed values are exposed only to MCP servers"
                },
                {
                  "type": "policy",
                  "value": "the cloud agent cannot access Actions, Codespaces, or Dependabot secrets and variables"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-agent-secrets",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "devin-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Devin secrets documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "encrypted-at-rest secrets support organization-wide, personal, repository, and session scope; global values are usable by all organization members but viewable and editable only by admins"
                },
                {
                  "type": "format",
                  "value": "supported credential forms include raw values, site cookies, and TOTP material"
                },
                {
                  "type": "runtime",
                  "value": "configured values are injected as environment variables for sessions created after configuration, so Devin and executed code can access them"
                }
              ],
              "evidence": [
                {
                  "resourceId": "devin-secrets",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "replit-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Replit Secrets documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "app-scoped and account-scoped secrets are encrypted with AES-256 at rest and TLS in transit and can be linked to selected Replit Apps"
                },
                {
                  "type": "runtime",
                  "value": "values are supplied to the app and Agent execution environment as environment variables; static deployments are excluded"
                },
                {
                  "type": "policy",
                  "value": "collaborators and non-owner organization members may be unable to reveal a value in the UI yet can still access it by printing the environment variable"
                }
              ],
              "evidence": [
                {
                  "resourceId": "replit-secrets",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/secrets-management",
      "markdown": "/features/secrets-management.md",
      "json": "/api/v1/features/secrets-management.json"
    },
    {
      "title": "Security and privacy",
      "description": "Compare retention, training use, residency, encryption, secrets, local-only operation, policy, and auditability independently.",
      "slug": "data-security-controls",
      "locale": "en",
      "seoTitle": "Security and privacy feature coverage — Can My Agent Use",
      "socialTitle": "Security and privacy feature coverage",
      "socialDescription": "Compare retention, training, residency, encryption, secrets, local-only operation, policy, and audit controls.",
      "llmSummary": "Security and privacy is an internal catalog grouping for retention, training-data use, data residency, key management, secrets, offline operation, organization policy, and audit logs.",
      "audience": "Security, privacy, compliance, platform, and procurement teams.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "privacy",
        "governance",
        "enterprise"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Group common security, privacy, and organization-control questions.",
      "specLabel": "Catalog grouping",
      "aliases": [
        "enterprise controls",
        "data governance",
        "privacy controls",
        "security controls"
      ],
      "capabilityKind": "family",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        }
      ],
      "support": [],
      "html": "/features/data-security-controls",
      "markdown": "/features/data-security-controls.md",
      "json": "/api/v1/features/data-security-controls.json"
    },
    {
      "title": "Session resume",
      "description": "Continue a previously saved product session through a documented resume feature.",
      "slug": "resumable-runs",
      "locale": "en",
      "seoTitle": "Session resume compatibility — Can My Agent Use",
      "socialTitle": "Session resume",
      "socialDescription": "Compare documented session continue and resume behavior.",
      "llmSummary": "Session resume means a product documents continuing a saved session; preserved state and cross-device behavior are qualifiers.",
      "audience": "Operators relying on long-running or mobile agent workflows.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "operations",
        "reliability",
        "resume",
        "checkpoints"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "operations",
      "summary": "Continue a previously saved product session.",
      "specLabel": "Common product term",
      "aliases": [
        "resume agent",
        "reconnect run",
        "run checkpoint",
        "session recovery"
      ],
      "capabilityKind": "atomic",
      "parent": "usage-and-reliability",
      "related": [
        "background-agents",
        "conversation-export"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code saves project-scoped sessions continuously and documents `--continue`, `--resume`, named or ID-based resume, and an interactive session picker."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents `--resume`, a searchable `/resume` browser, and restoring chat history and memory for continued work."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: VS Code documents persistent Copilot sessions, restoration after window reload, session sync across devices, and continued work through its sessions list."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor Agent CLI documents resuming the latest or a selected prior chat while loading its earlier context."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI documents local session persistence, account sync, `--continue`, `--resume`, and full-conversation restoration."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "Anthropic — Claude Code CLI reference",
          "href": "https://docs.anthropic.com/en/docs/claude-code/cli-usage",
          "kind": "docs",
          "publisher": "Anthropic",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-claude-code-session-management",
          "title": "Anthropic — Manage Claude Code sessions",
          "href": "https://code.claude.com/docs/en/sessions",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Resume a session"
        },
        {
          "id": "google-gemini-cli-session-management",
          "title": "Google — Manage Gemini CLI sessions and history",
          "href": "https://geminicli.com/docs/cli/tutorials/session-management/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How to resume where you left off"
        },
        {
          "id": "microsoft-vscode-session-management",
          "title": "Microsoft — Manage agent sessions in VS Code",
          "href": "https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Sessions list and session restoration"
        },
        {
          "id": "microsoft-vscode-session-sync",
          "title": "Microsoft — Sync and query session history",
          "href": "https://code.visualstudio.com/docs/agents/run/sessions/session-history",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Session sync across devices"
        },
        {
          "id": "cursor-agent-cli-session-resume",
          "title": "Cursor — Using Agent CLI",
          "href": "https://docs.cursor.com/en/cli/using",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "History"
        },
        {
          "id": "github-copilot-cli-session-resume",
          "title": "GitHub — Using Copilot CLI session data",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Resuming a previous session"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code session-management documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "sessions are stored per project directory as local transcripts; print-mode sessions require their session ID and retention is configurable"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-session-management",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI session-management documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "resume history is project-scoped and subject to configured retention and deletion"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-session-management",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code agent-session documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "local sessions restore after window reload; cross-device continuation depends on GitHub-backed session sync and can be disabled or repository-excluded"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-session-management",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "microsoft-vscode-session-sync",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent CLI usage documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Agent CLI can resume the most recent chat or a selected thread; cloud-agent persistence and retention are separate hosted behaviors"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-agent-cli-session-resume",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI session-data documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "sessions persist locally and sync to the GitHub account by default; organization policy and remote-session availability can limit cross-device behavior"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-session-resume",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/resumable-runs",
      "markdown": "/features/resumable-runs.md",
      "json": "/api/v1/features/resumable-runs.json"
    },
    {
      "title": "Shared projects",
      "description": "Share a project workspace containing documented product context such as chats, files, or instructions.",
      "slug": "shared-projects",
      "locale": "en",
      "seoTitle": "Shared projects compatibility — Can My Agent Use",
      "socialTitle": "Shared projects",
      "socialDescription": "Compare documented shared project workspaces, content, and permissions.",
      "llmSummary": "Shared projects are product-defined workspaces that multiple people can access; included context and permissions vary by product.",
      "audience": "Teams organizing ongoing agent work.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "collaboration",
        "projects",
        "context",
        "teams"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "collaboration",
      "summary": "Share a product-defined project workspace with other people.",
      "specLabel": "Common product term",
      "aliases": [
        "team workspace",
        "shared workspace",
        "project context"
      ],
      "capabilityKind": "atomic",
      "parent": "collaboration-and-portability",
      "related": [
        "role-based-access",
        "long-term-memory",
        "instructions"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude projects are self-contained workspaces with chat history, a knowledge base, and project instructions. Team and Enterprise users can share a project with individual members or the organization, assign view or edit access, manage membership, and collaboratively add documents and chats."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Perplexity Projects are persistent shared workspaces containing Search conversations, Computer tasks, files, instructions, connected tools, skills, credentials, and project memory. Owners can assign view or edit roles and restricted, organization-wide, or public-link scopes, with Enterprise controls for external and public sharing."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Replit projects can be shared with teammates who run separate Agent threads against the same project, see a shared task board, review completed work, and apply it to the main version. Team Workspaces extend access across projects, and owners can revoke project or workspace membership."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "OpenAI — Projects in ChatGPT",
          "href": "https://help.openai.com/en/articles/10169521-chatgpt-projects",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "title": "Anthropic — Projects in Claude",
          "href": "https://support.anthropic.com/en/articles/9517075-what-are-projects",
          "kind": "docs",
          "publisher": "Anthropic",
          "reviewedAt": "2026-08-28"
        },
        {
          "title": "OpenAI — Projects in ChatGPT",
          "href": "https://help.openai.com/en/articles/10169521-projects-in-chatgpt",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-claude-projects",
          "title": "Anthropic Help Center — What are projects?",
          "href": "https://support.claude.com/en/articles/9517075-what-are-projects",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Project knowledge; collaboration and sharing"
        },
        {
          "id": "perplexity-projects",
          "title": "Perplexity Help Center — What are Projects?",
          "href": "https://www.perplexity.ai/help-center/en/articles/10352961-what-are-spaces",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Collaboration and sharing; Project files; settings"
        },
        {
          "id": "replit-project-collaboration",
          "title": "Replit Docs — Invite teammates",
          "href": "https://docs.replit.com/build/invite-teammates",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Inviting teammates; shared task board; availability"
        },
        {
          "id": "replit-team-workspace",
          "title": "Replit Docs — Create a team workspace",
          "href": "https://docs.replit.com/build/create-a-team-workspace",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Workspace access; member management"
        }
      ],
      "support": [
        {
          "harness": "claude-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude projects documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "projects contain their own chat histories, knowledge files, and project instructions; paid plans can automatically use RAG as knowledge approaches context limits"
                },
                {
                  "type": "plan",
                  "value": "project creation is available on all plans, with a five-project limit on Free; member and organization sharing is limited to Team and Enterprise"
                },
                {
                  "type": "policy",
                  "value": "shared projects support view and edit roles, individual or bulk invitations, organization-wide visibility, membership removal, and an owner control that can disable organization-wide projects"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-projects",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity Projects documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "a Project persists Search conversations, Computer tasks, files, custom instructions, connected tools, skills, project credentials, and project-level memory"
                },
                {
                  "type": "policy",
                  "value": "roles are Owner, Can edit, and Can view; access can be restricted, organization-wide, or anyone-with-link where policy permits"
                },
                {
                  "type": "plan",
                  "value": "non-Enterprise projects support up to five contributors; Enterprise-owned projects support up to 9,999 and add organization edit plus public and external-sharing controls"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-projects",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "replit-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Replit project-collaboration documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "collaborators share a project while using separate Agent planning threads, isolated task copies, and a shared Kanban board; completed changes can be reviewed and applied to the main version"
                },
                {
                  "type": "plan",
                  "value": "Core supports five collaboration seats and one active background task; Pro supports fifteen seats and ten active background tasks"
                },
                {
                  "type": "policy",
                  "value": "projects can be invited individually or placed in a Team Workspace whose members receive access across every contained project; owners can revoke access"
                }
              ],
              "evidence": [
                {
                  "resourceId": "replit-project-collaboration",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "replit-team-workspace",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/shared-projects",
      "markdown": "/features/shared-projects.md",
      "json": "/api/v1/features/shared-projects.json"
    },
    {
      "title": "Streaming output",
      "description": "Show text or tool events as they arrive during a run.",
      "slug": "streaming-output",
      "locale": "en",
      "seoTitle": "Streaming output — Can My Agent Use",
      "socialTitle": "Streaming output",
      "socialDescription": "Compare live text, tool-event, progress, and status output.",
      "llmSummary": "Streaming output displays text or tool events before a run completes. Event types, ordering, transport, and structured output are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Show text or tool events as they arrive during a run.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop's documented host mode subscribes to OpenCode SSE events for live session updates."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "openwork-streaming",
          "title": "OpenWork — Publisher repository",
          "href": "https://github.com/different-ai/openwork",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork repository documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "openwork-streaming",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/streaming-output",
      "markdown": "/features/streaming-output.md",
      "json": "/api/v1/features/streaming-output.json"
    },
    {
      "title": "Structured outputs",
      "description": "Return JSON or schema-constrained output through a documented product feature.",
      "slug": "structured-output",
      "locale": "en",
      "seoTitle": "Structured outputs — Can My Agent Use",
      "socialTitle": "Structured outputs",
      "socialDescription": "Return JSON or schema-validated objects. Unreviewed cells remain unknown.",
      "llmSummary": "Structured outputs are documented JSON or schema-constrained product outputs; unreviewed harness cells remain unknown.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Return JSON or schema-constrained output through a documented product feature.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Product cells without reviewed public evidence remain unknown; a JSON transport envelope is distinguished from arbitrary user-supplied schema validation in qualifiers."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Code print mode documents both JSON/stream-JSON output and `--json-schema` validation against a caller-supplied JSON Schema."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI headless mode documents JSON and streaming JSON output with stable result, tool, error, and usage fields."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor Agent CLI documents `json` and `stream-json` output formats for programmatic use in print mode."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI documents `--output-format=json` as JSONL with one JSON object per line for programmatic execution."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "title": "OpenAI — Structured model outputs",
          "href": "https://developers.openai.com/api/docs/guides/structured-outputs",
          "kind": "docs",
          "publisher": "OpenAI",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-claude-code-cli-structured-output",
          "title": "Anthropic — Claude Code CLI reference",
          "href": "https://code.claude.com/docs/en/cli-reference",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "--json-schema and --output-format"
        },
        {
          "id": "google-gemini-cli-headless-output",
          "title": "Google — Gemini CLI headless mode reference",
          "href": "https://geminicli.com/docs/cli/headless/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Output formats"
        },
        {
          "id": "cursor-agent-cli-output-format",
          "title": "Cursor — Agent CLI output format",
          "href": "https://docs.cursor.com/en/cli/reference/output-format",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "JSON format and stream JSON format"
        },
        {
          "id": "github-copilot-cli-command-reference-output",
          "title": "GitHub — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "--output-format"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code CLI reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "caller-supplied JSON Schema validation is available in print mode through --json-schema; JSON and stream-json envelopes are available through --output-format"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-cli-structured-output",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI headless-mode documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "documented JSON output is a product-defined response and statistics envelope; this evidence does not establish caller-supplied JSON Schema conformance"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-headless-output",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent CLI output-format documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "JSON and stream-json formats apply to Agent CLI print mode; this evidence does not establish caller-supplied JSON Schema conformance"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-agent-cli-output-format",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI command reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "JSON output is a product-defined JSONL event envelope; this evidence does not establish caller-supplied JSON Schema conformance"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-command-reference-output",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/structured-output",
      "markdown": "/features/structured-output.md",
      "json": "/api/v1/features/structured-output.json"
    },
    {
      "title": "Subagent context",
      "description": "Define which conversation, instructions, files, memory, and tools a child agent receives.",
      "slug": "subagent-context-isolation",
      "locale": "en",
      "seoTitle": "Subagent context compatibility — Can My Agent Use",
      "socialTitle": "Subagent context",
      "socialDescription": "Compare child-agent context, inheritance, isolation, and context-window behavior.",
      "llmSummary": "Subagent context describes what a child receives from its parent. Fresh context, copied history, selected files, shared memory, and task-only context are recorded as distinct qualifiers.",
      "audience": "Engineers evaluating multi-agent correctness, privacy, and token cost.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents",
        "context",
        "isolation",
        "security"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Define which conversation, instructions, files, memory, and tools a child receives.",
      "specLabel": "Common product term",
      "aliases": [
        "child context",
        "subagent isolation",
        "context inheritance"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [
        "context-window",
        "subagent-approval-boundaries",
        "secrets-management"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code runs each subagent in its own context window with a custom system prompt and tool set; the child receives its task rather than the parent conversation history and returns a summary."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Gemini CLI subagents use an independent context loop, independent history, explicit tool sets, and recursion protection."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor subagents start with clean context, do not receive prior parent history, receive relevant information through the delegation prompt, and may use isolated project copies."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI describes subagents as separate-context workers, allowing offloaded information to stay outside the main context window."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: VS Code documents a separate context window that excludes the parent conversation history and receives the child task, applicable instructions, and current agent configuration."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/sub-agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How subagents work; manage subagent context"
        },
        {
          "id": "google-gemini-cli-subagents",
          "title": "Google — Gemini CLI subagents",
          "href": "https://geminicli.com/docs/core/subagents/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-subagents",
          "title": "Cursor — Subagents",
          "href": "https://cursor.com/docs/subagents",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-custom-agents",
          "title": "GitHub — Creating custom agents for Copilot CLI",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-agent-concepts",
          "title": "Visual Studio Code — Agents concepts",
          "href": "https://code.visualstudio.com/docs/agents/concepts/agents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Subagents"
        }
      ],
      "support": [
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "a child has independent history and only explicitly granted tools; it cannot invoke another subagent even when granted the all-tools wildcard"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "clean child context receives a parent-composed task prompt; project files share the checkout by default but can be isolated in a worktree, branch, or cloud VM"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "each subagent receives its own context window; exact inheritance of credentials, instructions, files, and later parent changes remains separately qualified"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-custom-agents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the child has a separate model context but normally shares the parent process's project files and environment unless worktree isolation is configured"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code agent-concepts documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the model context is isolated; project files and tools remain available according to the child agent configuration"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-agent-concepts",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-context-isolation",
      "markdown": "/features/subagent-context-isolation.md",
      "json": "/api/v1/features/subagent-context-isolation.json"
    },
    {
      "title": "Subagent delegation",
      "description": "Delegate a bounded task to a product-native child agent.",
      "slug": "subagent-delegation",
      "locale": "en",
      "seoTitle": "Subagent delegation compatibility — Can My Agent Use",
      "socialTitle": "Subagent delegation",
      "socialDescription": "Basic child-agent delegation tracked separately from nesting and permissions.",
      "llmSummary": "Basic delegation establishes one child-agent boundary but not recursion, MCP access, or write access.",
      "audience": "Engineers comparing multi-agent execution.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents",
        "delegation"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Delegate a bounded task to another agent process.",
      "specLabel": "Common product term",
      "aliases": [
        "child agent",
        "task delegation"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [
        "nested-subagents",
        "subagent-concurrency",
        "subagent-context-isolation",
        "subagent-result-handoff"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: OpenWork identifies agents as OpenCode primitives for specialized tasks that may use different models and extra context."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot can create focused named Bots, let Bots message each other asynchronously, and pass work among them. This is persistent peer-Bot delegation, not documented ephemeral child-session spawning."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude Code documents built-in and custom subagents that receive delegated tasks through the Agent tool, run in their own context, and return a summary to the parent conversation."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: ChatGPT Work and current local Codex releases can spawn specialized agents, expose their activity, and collect results into the parent response."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Gemini CLI exposes built-in and custom subagents as tools, with automatic delegation or explicit @agent prompting."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Cursor Agent can automatically or explicitly launch built-in and custom subagents on editor, CLI, and Cloud Agent surfaces."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI can automatically run built-in or custom agents as temporary subagents with separate context windows."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: VS Code documents the `agent/runSubagent` tool, built-in and custom child agents, autonomous child work, and final-result return to the main agent."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "openwork-subagents",
          "title": "OpenWork — Architecture",
          "href": "https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-collaboration",
          "title": "xAI — Grok Bot messaging and collaboration",
          "href": "https://docs.x.ai/grok-bot/chat-and-collaboration",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Let Bots hand work off"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/sub-agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How subagents work"
        },
        {
          "id": "openai-subagents",
          "title": "OpenAI — Subagents in ChatGPT and Codex",
          "href": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-subagents",
          "title": "Google — Gemini CLI subagents",
          "href": "https://geminicli.com/docs/core/subagents/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-subagents",
          "title": "Cursor — Subagents",
          "href": "https://cursor.com/docs/subagents",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-custom-agents",
          "title": "GitHub — Custom agents and subagents in Copilot CLI",
          "href": "https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-custom-agents",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Invoke a subagent"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "subagent workflows and visible activity require an eligible account; Ultra may delegate proactively while other levels generally require an explicit request"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "current local Codex releases delegate after a direct request or applicable AGENTS.md or skill instruction and surface each child thread"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "delegates after a direct request or applicable project or skill instruction; /agent opens child threads while the parent collects their results"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the main agent can automatically choose a matching subagent or be nudged to a named specialist with @agent syntax"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "applies to Cursor editor, CLI, and Cloud Agents; named subagents can be invoked with /name or natural language"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the main Copilot agent can automatically invoke built-in or custom agents as temporary subagents"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-custom-agents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to GitHub Copilot's local VS Code agent surface with the subagent tool enabled"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork architecture documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supplied by the embedded OpenCode agent runtime"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "stable"
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "delegation uses distinct persistent named Bots with asynchronous messages and visible handoffs, rather than documented ephemeral child sessions"
                },
                {
                  "type": "policy",
                  "value": "all Bots for an account share one hosted computer, so delegation does not create a separate filesystem, login, or credential security boundary"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-collaboration",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-delegation",
      "markdown": "/features/subagent-delegation.md",
      "json": "/api/v1/features/subagent-delegation.json"
    },
    {
      "title": "Subagent management",
      "description": "List, inspect, pause, resume, cancel, or retry child-agent tasks.",
      "slug": "subagent-lifecycle-controls",
      "locale": "en",
      "seoTitle": "Subagent management compatibility — Can My Agent Use",
      "socialTitle": "Subagent management",
      "socialDescription": "Compare listing, inspection, cancellation, pause, resume, retry, and timeout behavior for child agents.",
      "llmSummary": "Subagent management covers visibility into active children and documented cancel, pause, resume, retry, or limit behavior. Each operation is recorded separately as a qualifier.",
      "audience": "Operators supervising multi-agent runs.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents",
        "supervision",
        "cancellation"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "List, inspect, and control child-agent tasks.",
      "specLabel": "Common product term",
      "aliases": [
        "subagent cancellation",
        "child task control",
        "agent supervision"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [
        "subagent-concurrency",
        "background-agents"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code lists live subagents and background tasks, supports foreground/background execution, stopping and attaching to background work, resuming a subagent by ID, and a per-subagent `maxTurns` limit. Pause and retry semantics are not fully documented."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: ChatGPT Work exposes read-only Active and Done child lists; local Codex lets operators inspect child threads and ask the parent to steer, stop, or close them, with CLI thread switching through /agent."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: VS Code exposes each running child, current tool, elapsed time, prompt, full tool-call details, and returned result as a persistent read-only child chat; each child invocation is stateless and cannot receive follow-up messages."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/sub-agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Run subagents in foreground or background; resume subagents; maxTurns"
        },
        {
          "id": "anthropic-claude-code-parallel-agents",
          "title": "Anthropic — Run agents in parallel",
          "href": "https://code.claude.com/docs/en/agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Check on running work"
        },
        {
          "id": "openai-subagents",
          "title": "OpenAI — Subagents in ChatGPT and Codex",
          "href": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What you see in chat"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Active and Done lists and completed-result inspection are documented; the web sidebar cannot stop or steer an individual child"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "child threads are inspectable and the operator can ask Codex to steer, stop, or close them; pause, retry, deadlines, and priority are not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/agent switches among active threads and Codex accepts steer, stop, and close requests; pause, retry, deadlines, and priority are not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent and parallel-agent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "list, inspect, background, attach, stop, resume, and maximum-turn controls are documented; a general pause operation and explicit retry contract are not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-claude-code-parallel-agents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "live inspection and persistent read-only child records are documented; follow-up, resume, pause, retry, timeout, and cancellation controls are not established"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-lifecycle-controls",
      "markdown": "/features/subagent-lifecycle-controls.md",
      "json": "/api/v1/features/subagent-lifecycle-controls.json"
    },
    {
      "title": "Subagent MCP access",
      "description": "Allow a child agent to use MCP tools or declare its own MCP servers. This is tracked as an independent compatibility claim.",
      "slug": "subagent-mcp-access",
      "locale": "en",
      "seoTitle": "Subagent MCP access compatibility — Can My Agent Use",
      "socialTitle": "Subagent MCP access",
      "socialDescription": "Allow a child agent to use MCP tools or declare its own MCP servers. Unreviewed product cells remain unknown.",
      "llmSummary": "Subagent MCP access is atomic and does not follow automatically from broader subagents support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Allow a child agent to use MCP tools or declare its own MCP servers.",
      "specLabel": "Common product term",
      "aliases": [
        "child agent MCP"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code subagents inherit MCP tools by default unless restricted and can use `mcpServers` to reference parent-session servers or declare inline servers scoped to the child."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: VS Code custom agents can include individual MCP tools or complete `<server>/*` tool groups, and custom tool settings override defaults when the agent runs as a child."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/subagents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Available tools; scope MCP servers to a subagent"
        },
        {
          "id": "vscode-custom-agents",
          "title": "Visual Studio Code — Custom agents",
          "href": "https://code.visualstudio.com/docs/agent-customization/custom-agents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Custom agent file structure; tools"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Run a custom agent as a subagent"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "plugin-provided subagents ignore the `mcpServers` frontmatter field for security; project, user, managed, and CLI-defined subagents can use it"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code custom-agent and subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "MCP access is restricted by the child agent's tool list and the enabled MCP servers in the local VS Code session"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-custom-agents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-mcp-access",
      "markdown": "/features/subagent-mcp-access.md",
      "json": "/api/v1/features/subagent-mcp-access.json"
    },
    {
      "title": "Subagent permissions",
      "description": "Define which tools and permissions a child agent receives and how it requests approval.",
      "slug": "subagent-approval-boundaries",
      "locale": "en",
      "seoTitle": "Subagent permissions compatibility — Can My Agent Use",
      "socialTitle": "Subagent permissions",
      "socialDescription": "Compare child-agent tool permissions, inherited grants, and approval behavior.",
      "llmSummary": "Subagent permissions describe which tools and grants a child receives and how child actions obtain approval. Inheritance, restrictions, and escalation behavior are qualifiers.",
      "audience": "Security engineers and operators supervising delegated actions.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents",
        "approvals",
        "permissions",
        "security"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Control child-agent tools, inherited permissions, and approval behavior.",
      "specLabel": "Common product term",
      "aliases": [
        "child approvals",
        "delegated permissions",
        "subagent least privilege"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [
        "human-approval",
        "subagent-mcp-access",
        "subagent-write-access",
        "secrets-management"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code documents child-specific tool allowlists and denylists plus `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, and `plan` permission modes, with explicit rules for parent-mode precedence."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: ChatGPT Work children use the parent chat's available tools; local Codex children inherit the selected permission or sandbox policy, surface interactive approvals by source thread, and fail actions that need fresh approval in non-interactive flows."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI subagents can receive explicitly scoped tools, isolated MCP servers, and subagent-specific policy files; other agents remain unavailable to descendants."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code coordinator agents can allowlist callable children, and each custom child can restrict built-in, extension, and MCP tools; the reviewed docs do not define a separate child approval ledger."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/sub-agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Available tools; permission modes"
        },
        {
          "id": "openai-subagents",
          "title": "OpenAI — Subagents in ChatGPT and Codex",
          "href": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-subagents",
          "title": "Google — Gemini CLI subagents",
          "href": "https://geminicli.com/docs/core/subagents/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Restrict which subagents an agent can use; coordinator and worker pattern"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "children use the tools available to the parent chat and website or connector permissions remain tool-specific; no local sandbox or approval-mode control is exposed"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "subagents inherit the permission mode chosen for the parent turn; choose it before delegation"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "interactive approval prompts identify the child thread; actions needing a new approval fail in non-interactive execution and return the error to the parent"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "tool lists, inline or inherited MCP servers, and named policy rules can be scoped to a child; recursion protection always removes other agents"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "parent `bypassPermissions`, `acceptEdits`, or auto mode can take precedence over a child definition; background subagents auto-deny actions that would require a new prompt"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "child identity and tool allowlists are configurable, but separate child approval ownership, grant consumption, and escalation semantics are not fully documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-approval-boundaries",
      "markdown": "/features/subagent-approval-boundaries.md",
      "json": "/api/v1/features/subagent-approval-boundaries.json"
    },
    {
      "title": "Subagent results",
      "description": "Return a child agent's findings or work to the parent.",
      "slug": "subagent-result-handoff",
      "locale": "en",
      "seoTitle": "Subagent results compatibility — Can My Agent Use",
      "socialTitle": "Subagent results",
      "socialDescription": "Compare how child-agent summaries, files, citations, diffs, status, and errors return to the parent.",
      "llmSummary": "Subagent results describe what a child returns to its parent. Text summaries, files, citations, diffs, status, errors, and structured result objects are recorded as separate qualifiers.",
      "audience": "Engineers building auditable multi-agent workflows.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents",
        "handoff",
        "provenance"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Return a child agent's findings or work to the parent.",
      "specLabel": "Common product term",
      "aliases": [
        "child result",
        "agent handoff",
        "subagent artifacts"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [
        "subagent-delegation",
        "artifact-export",
        "streaming-output"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Grok Bots can hand work to one another through visible asynchronous messages and shared files. Bot-to-group handoff messages are text-only, while images can be sent directly to another Bot; the docs do not define a typed result envelope for status, citations, or errors."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Code subagents report a final summary to the parent conversation and can preserve file edits in the shared workspace or an isolated worktree. The docs do not define a typed result envelope for citations, status, artifacts, or errors."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: ChatGPT Work and Codex collect child results into the parent response and preserve inspectable child threads, but the reviewed documentation does not define a typed citation, artifact, diff, or error envelope."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini CLI subagents report findings back to the main agent after completing an isolated context loop; no typed result envelope is defined on the reviewed page."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cursor subagents return a final message to the parent and can leave work on shared or isolated branches; the reviewed page does not define typed result provenance."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: VS Code returns only a child's final result to the parent while retaining the prompt, full tool trace, and returned result in an inspectable read-only child chat; no typed result envelope is documented."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-bot-collaboration",
          "title": "xAI — Grok Bot messaging and collaboration",
          "href": "https://docs.x.ai/grok-bot/chat-and-collaboration",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Let Bots hand work off"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/sub-agents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How subagents work; worktree isolation"
        },
        {
          "id": "openai-subagents",
          "title": "OpenAI — Subagents in ChatGPT and Codex",
          "href": "https://learn.chatgpt.com/docs/agent-configuration/subagents",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "google-gemini-cli-subagents",
          "title": "Google — Gemini CLI subagents",
          "href": "https://geminicli.com/docs/core/subagents/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-subagents",
          "title": "Cursor — Subagents",
          "href": "https://cursor.com/docs/subagents",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What you see in chat; invoke a subagent"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "activity, results, and child threads are inspectable and consolidated into the response, but no typed artifact, citation, diff, status, or error schema is documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current ChatGPT desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "child threads and summaries remain inspectable, but no typed artifact, citation, diff, status, or error schema is documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/agent exposes child threads and the parent collects results, but no typed artifact, citation, diff, status, or error schema is documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "findings return to the parent, but no typed artifact, citation, diff, status, or error schema is documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "a final message and child branch changes remain available, but no typed artifact, citation, status, or error schema is documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the parent receives a final result and the operator can inspect the child trace, but no typed artifact, citation, diff, status, or error schema is documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the parent receives a prose summary and can observe child file changes, but no typed result schema for citations, artifact identities, status, or errors is documented"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "visible asynchronous messages and shared files preserve useful handoff context, but Bot-to-group handoff messages are text-only and no typed result schema is documented"
                },
                {
                  "type": "policy",
                  "value": "shared files live on one account-scoped computer and do not create an isolated provenance boundary"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-collaboration",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-result-handoff",
      "markdown": "/features/subagent-result-handoff.md",
      "json": "/api/v1/features/subagent-result-handoff.json"
    },
    {
      "title": "Subagent write access",
      "description": "Allow a child agent to create or modify project files. This is tracked as an independent compatibility claim.",
      "slug": "subagent-write-access",
      "locale": "en",
      "seoTitle": "Subagent write access compatibility — Can My Agent Use",
      "socialTitle": "Subagent write access",
      "socialDescription": "Allow a child agent to create or modify project files. Unreviewed product cells remain unknown.",
      "llmSummary": "Subagent write access is atomic and does not follow automatically from broader subagents support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Allow a child agent to create or modify project files.",
      "specLabel": "Common product term",
      "aliases": [
        "child agent edits"
      ],
      "capabilityKind": "atomic",
      "parent": "subagents",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code subagents can inherit Edit and Write tools or receive an explicit tool allowlist; `acceptEdits` and worktree isolation provide documented write-control modes."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: VS Code custom agents used as subagents can receive the `edit` tool, and the official coordinator example assigns code-writing work to an Implementer child."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-subagents",
          "title": "Anthropic — Create custom subagents",
          "href": "https://code.claude.com/docs/en/subagents",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Available tools; permission modes; worktree isolation"
        },
        {
          "id": "vscode-subagents",
          "title": "Visual Studio Code — Subagents in Visual Studio Code",
          "href": "https://code.visualstudio.com/docs/agents/run/subagents",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Coordinator and worker pattern"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "actual writes depend on the subagent's tools, permission mode, inherited parent permissions, and optional worktree isolation"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code subagent documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "writes require the child configuration to expose an editing tool and remain subject to VS Code trust and approval controls"
                }
              ],
              "evidence": [
                {
                  "resourceId": "vscode-subagents",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/subagent-write-access",
      "markdown": "/features/subagent-write-access.md",
      "json": "/api/v1/features/subagent-write-access.json"
    },
    {
      "title": "Subagents",
      "description": "Compare delegation, nesting, concurrency, context isolation, model choice, permissions, lifecycle control, and result handoff independently.",
      "slug": "subagents",
      "locale": "en",
      "seoTitle": "Subagent capability coverage — Can My Agent Use",
      "socialTitle": "Which subagent capabilities can my agent use?",
      "socialDescription": "Compare delegation depth, concurrency, context, models, permissions, controls, and handoff without treating subagents as one boolean.",
      "llmSummary": "Subagents are a family of separate claims covering delegation, nesting, concurrency, context isolation, model choice, tool and write permissions, approvals, lifecycle control, and result handoff.",
      "audience": "Engineers comparing multi-agent execution and permission boundaries.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "subagents",
        "delegation",
        "permissions"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Track child-agent execution, isolation, permissions, supervision, and handoff independently.",
      "specLabel": "Catalog grouping",
      "aliases": [
        "child agents",
        "delegated agents",
        "multi-agent delegation"
      ],
      "capabilityKind": "family",
      "related": [
        "mcp"
      ],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        }
      ],
      "support": [],
      "html": "/features/subagents",
      "markdown": "/features/subagents.md",
      "json": "/api/v1/features/subagents.json"
    },
    {
      "title": "Terminal commands",
      "description": "Propose or run shell commands in a project environment.",
      "slug": "terminal",
      "locale": "en",
      "seoTitle": "Terminal command compatibility — Can My Agent Use",
      "socialTitle": "Can my agent run terminal commands?",
      "socialDescription": "Compare terminal command support by exact product surface.",
      "llmSummary": "Terminal command support lets a product propose or execute shell commands in a project environment. Approval, shell, sandbox, working directory, and persistence are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "workspace",
        "terminal"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Propose or execute shell commands in a project environment.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code documents Bash as a permission-controlled tool and provides CLI modes for agentic command execution."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor Agent documents running terminal commands while completing coding tasks."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: OpenAI documents Codex CLI as able to run code and commands locally in the selected directory."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini CLI's official tool reference includes the `run_shell_command` tool with workspace and approval controls."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: VS Code documents terminal tools for agent mode, with user-configurable approval and auto-approval behavior."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: OpenWork's OpenCode-backed runtime includes shell execution, with permission requests surfaced in the desktop app and policy controlled by the host."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Grok Bot's persistent cloud computer includes a command line and filesystem; local-computer commands are a separate capability controlled by a desktop approval policy."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI can run shell tools in the current repository or directory, with potentially destructive commands gated by its permission system."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: Cline's built-in Bash tool runs commands in a persistent shell session and can be approval-gated by settings or policy."
        },
        {
          "id": 10,
          "text": "Evidence checked 2026-08-28: Continue Agent mode exposes `run_terminal_command`, which runs commands from the workspace root after the tool-permission step unless configured Automatic."
        },
        {
          "id": 11,
          "text": "Evidence checked 2026-08-28: OpenCode's built-in Bash tool lets the model execute shell commands in the project environment, subject to configurable allow, ask, or deny permissions."
        },
        {
          "id": 12,
          "text": "Evidence checked 2026-08-28: Zed's native Agent is documented as able to run code in the project, and its permission system includes a terminal tool."
        },
        {
          "id": 13,
          "text": "Evidence checked 2026-08-28: Warp Agent runs commands and interprets results in the local app; the same agent is also available through Warp Agent CLI."
        },
        {
          "id": 14,
          "text": "Evidence checked 2026-08-28: Devin executes shell commands in its hosted development environment and exposes the complete command history and outputs in the session UI."
        },
        {
          "id": 15,
          "text": "Evidence checked 2026-08-28: Aider includes a user-invoked `/run` command for executing shell commands and optionally adding output to chat, but the cited reference does not establish an autonomous model tool for proposing and running commands."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "anthropic-cli-terminal",
          "title": "Anthropic — Claude Code CLI reference",
          "href": "https://docs.anthropic.com/en/docs/claude-code/cli-usage",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-agent-terminal",
          "title": "Cursor — Agent overview",
          "href": "https://cursor.com/docs/agent/overview",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openai-codex-terminal",
          "title": "OpenAI — Get started with Codex CLI",
          "href": "https://help.openai.com/en/articles/11096431",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "gemini-terminal",
          "title": "Gemini CLI — Tool reference",
          "href": "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-terminal",
          "title": "Visual Studio Code — Tools in agents",
          "href": "https://code.visualstudio.com/docs/copilot/concepts/tools",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openwork-terminal",
          "title": "OpenWork — Architecture",
          "href": "https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-terminal",
          "title": "xAI — Grok Bot computer and apps",
          "href": "https://docs.x.ai/grok-bot/computer-and-apps",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "github-copilot-cli-terminal",
          "title": "GitHub — Allowing and denying tool use in Copilot CLI",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cline-tools-terminal",
          "title": "Cline — Tools reference",
          "href": "https://docs.cline.bot/tools-reference/all-cline-tools",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "bash"
        },
        {
          "id": "continue-agent-terminal",
          "title": "Continue — How Agent mode works",
          "href": "https://docs.continue.dev/features/agent/how-it-works",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What Tools Are Available in Agent Mode"
        },
        {
          "id": "opencode-tools-terminal",
          "title": "OpenCode — Tools",
          "href": "https://opencode.ai/docs/tools/",
          "kind": "docs",
          "publisher": "OpenCode",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "bash"
        },
        {
          "id": "zed-agent-terminal",
          "title": "Zed — AI quick start",
          "href": "https://zed.dev/docs/ai/quick-start",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use the Zed Agent"
        },
        {
          "id": "warp-agent-terminal",
          "title": "Warp — Getting started with Warp",
          "href": "https://docs.warp.dev/",
          "kind": "docs",
          "publisher": "Warp",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "In the Warp app"
        },
        {
          "id": "devin-session-terminal",
          "title": "Devin — Session tools",
          "href": "https://docs.devin.ai/work-with-devin/devin-session-tools",
          "kind": "docs",
          "publisher": "Cognition",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Shell and Terminal"
        },
        {
          "id": "aider-run-command",
          "title": "Aider — In-chat commands",
          "href": "https://aider.chat/docs/usage/commands.html",
          "kind": "docs",
          "publisher": "Aider",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "/run"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "anthropic-cli-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cursor-agent-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "openai-codex-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "gemini-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "shell execution is scoped by repository or working-directory permissions and potentially destructive commands require approval unless pre-authorized"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "approval, auto-approval, or disablement depends on Cline settings and policy"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-tools-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                10
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Continue documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "terminal execution is available in Agent mode, not read-only Plan mode, and depends on model tool-use support and tool policy"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-agent-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "opencode",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                11
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenCode documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "the Bash tool can be allowed, approval-gated, or denied through permission rules"
                }
              ],
              "evidence": [
                {
                  "resourceId": "opencode-tools-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                12
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "terminal calls remain subject to Zed Agent profiles, tool permissions, and workspace trust"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-agent-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "warp",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                13
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Warp documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "the local Agent documents review and approval controls before actions execute"
                }
              ],
              "evidence": [
                {
                  "resourceId": "warp-agent-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "devin-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                14
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Devin documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "commands run in Devin's hosted development environment rather than the operator's local terminal"
                }
              ],
              "evidence": [
                {
                  "resourceId": "devin-session-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "aider",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                15
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Aider documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the documented /run command is invoked by the person; this evidence does not establish an autonomous agent shell tool"
                }
              ],
              "evidence": [
                {
                  "resourceId": "aider-run-command",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork architecture documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "shell execution remains subject to OpenWork and OpenCode permission rules"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "commands run on the account-scoped hosted computer by default; credentials and files there are shared across the account's Bots"
                },
                {
                  "type": "policy",
                  "value": "commands on the operator's local Mac or Windows computer are separately controlled and default to asking every time"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-terminal",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/terminal",
      "markdown": "/features/terminal.md",
      "json": "/api/v1/features/terminal.json"
    },
    {
      "title": "Training data controls",
      "description": "Control or document whether product content may be used for model training or service improvement.",
      "slug": "training-data-controls",
      "locale": "en",
      "seoTitle": "Training data controls — Can My Agent Use",
      "socialTitle": "Training data controls",
      "socialDescription": "Compare defaults and opt-out controls for training, service improvement, evaluation, and human review.",
      "llmSummary": "Training-data controls distinguish model training, service improvement, evaluation, safety review, and user feedback; consumer and business defaults may differ.",
      "audience": "Privacy, legal, security, and procurement teams.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "security",
        "privacy",
        "training",
        "data-use"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "security-privacy",
      "summary": "Control or document model-training and service-improvement use of product content.",
      "specLabel": "Common product term",
      "aliases": [
        "training opt-out",
        "data use",
        "improve models",
        "human review"
      ],
      "capabilityKind": "atomic",
      "parent": "data-security-controls",
      "related": [
        "data-retention-controls",
        "admin-policy-controls"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents that Grok Bot training opt-out follows the applicable Cursor account and privacy settings, with organization privacy mode governing while a member is on a team. The reviewed page does not fully separate training, evaluation, safety review, feedback, or every subprocessor's use."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: OpenAI states that ChatGPT Business and Enterprise do not train on business data by default across ChatGPT Work and Codex surfaces. This plan-qualified statement does not establish the default or controls for personal Free, Go, Plus, or Pro accounts."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Claude Code lets Free, Pro, and Max users choose whether data may improve future Claude models; Team, Enterprise, API, third-party platform, and government use is not used to train generative models under commercial terms unless the customer affirmatively provides data. Feedback and optional transcript sharing follow separate rules."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Gemini Apps' Keep Activity setting controls whether future personal-account chats train Google's AI models. Turning it off stops training unless the user submits feedback, while service delivery and safety processing—including possible human review—continue."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Cursor Privacy Mode prevents Customer Data from being used for Cursor training and uses zero-data-retention agreements with model providers. Safety classifiers and triggered abuse investigations are documented exceptions, and turning Privacy Mode off permits broader storage and training use."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-bot-privacy",
          "title": "xAI — Grok Bot approvals, security, and privacy",
          "href": "https://docs.x.ai/grok-bot/approvals-security-and-privacy",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Cursor account and data settings"
        },
        {
          "id": "openai-work-pricing-data",
          "title": "OpenAI — ChatGPT Work and Codex pricing",
          "href": "https://learn.chatgpt.com/docs/pricing",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Business; Enterprise; plan comparison"
        },
        {
          "id": "anthropic-claude-code-data-usage",
          "title": "Anthropic — Claude Code data usage",
          "href": "https://code.claude.com/docs/en/data-usage",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Data training policy; feedback; session quality surveys"
        },
        {
          "id": "google-gemini-privacy-hub",
          "title": "Google — Gemini Apps Privacy Hub",
          "href": "https://support.google.com/gemini/answer/13594961",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Keep Activity; human review; feedback"
        },
        {
          "id": "cursor-data-use",
          "title": "Cursor — Data Use and Privacy Overview",
          "href": "https://cursor.com/data-use",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Privacy Mode"
        }
      ],
      "support": [
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "training opt-out follows Cursor account and privacy settings, and an organization's privacy mode governs team members"
                },
                {
                  "type": "runtime",
                  "value": "the reviewed page does not fully distinguish foundation-model training, evaluation, safety review, feedback, human review, and third-party subprocessors"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-privacy",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "ChatGPT Business and Enterprise business data is not used for training by default"
                },
                {
                  "type": "policy",
                  "value": "this cell does not establish the default, opt-out mechanics, feedback use, or human-review policy for personal plans"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing-data",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "chatgpt-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT Work documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "ChatGPT Business and Enterprise business data is not used for training by default"
                },
                {
                  "type": "policy",
                  "value": "this cell does not establish the default, opt-out mechanics, feedback use, or human-review policy for personal plans"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing-data",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Codex pricing documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "enterprise-managed",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "ChatGPT Business and Enterprise business data is not used for training by default when Codex is used through the workspace plan"
                },
                {
                  "type": "auth",
                  "value": "API-key authentication follows API data controls and is not established by this ChatGPT-plan cell"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing-data",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Code documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "plan",
                  "value": "Free, Pro, and Max users can choose whether their data may improve future Claude models; Team, Enterprise, API, third-party platform, and government data is not used to train generative models under commercial terms unless affirmatively provided"
                },
                {
                  "type": "policy",
                  "value": "/feedback, /bug, /share, optional transcript surveys, and customer opt-in programs have separate documented retention and improvement rules"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-data-usage",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps privacy documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "auth",
                  "value": "this cell applies to signed-in personal accounts; work and school accounts follow administrator-controlled Workspace terms"
                },
                {
                  "type": "policy",
                  "value": "with Keep Activity off, future chats do not train Google's AI models unless feedback is submitted; service delivery and safety processing can still involve human review"
                },
                {
                  "type": "policy",
                  "value": "audio and Gemini Live video or screenshare improvement is controlled by a separate setting and is off by default"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-privacy-hub",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor privacy documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "Privacy Mode prevents Customer Data from training Cursor models and uses ZDR agreements with model providers; non-ZDR models require designation or administrator opt-in"
                },
                {
                  "type": "policy",
                  "value": "safety classifiers and triggered abuse investigations are exceptions; turning Privacy Mode off permits broader storage, improvement, and model-training use"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-data-use",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/training-data-controls",
      "markdown": "/features/training-data-controls.md",
      "json": "/api/v1/features/training-data-controls.json"
    },
    {
      "title": "Usage metering",
      "description": "Report documented product usage such as requests, tokens, or cost.",
      "slug": "usage-metering",
      "locale": "en",
      "seoTitle": "Usage metering compatibility — Can My Agent Use",
      "socialTitle": "Usage metering",
      "socialDescription": "Compare documented request, token, project, or cost usage reporting.",
      "llmSummary": "Usage metering reports documented consumption such as requests, tokens, or cost; available dimensions and reporting delay are qualifiers.",
      "audience": "Engineers and administrators controlling agent spend.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "operations",
        "usage",
        "cost",
        "metering"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "operations",
      "summary": "Inspect documented product usage such as requests, tokens, or cost.",
      "specLabel": "Common product term",
      "aliases": [
        "cost meter",
        "token usage",
        "spend dashboard",
        "usage dashboard"
      ],
      "capabilityKind": "atomic",
      "parent": "usage-and-reliability",
      "related": [
        "prompt-cache-telemetry",
        "context-usage-visibility",
        "rate-limit-disclosure"
      ],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code's `/usage` screen reports current-session tokens by model, cache reads and writes, duration, code changes, and an estimated cost. Subscription users also receive plan-usage bars and attribution across skills, subagents, plugins, MCP servers, and scheduled tasks, with documented version and device-scope boundaries."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor's Spending dashboard reports real-time consumption for its separate monthly model pools, remaining allowance, on-demand charges, and request-level cost and pool details. The reviewed page does not establish a portable telemetry export or tool and subagent cost breakdown."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: ChatGPT's usage dashboard reports current limits and remaining capacity, while Codex CLI also exposes remaining limits through `/status`. OpenAI publishes a credit rate card separating input, cached input, and output consumption by model, but task-level consumption varies with context, reasoning, tools, retrieval, and caching."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI exposes `/usage` as a built-in informational command for current usage, and its model picker and credit-limit controls document session-level consumption boundaries."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: VS Code's agent-session context control reports total AI credits consumed by the current session alongside context-token usage."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-costs",
          "title": "Anthropic — Manage Claude Code costs effectively",
          "href": "https://code.claude.com/docs/en/costs",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Using the /usage command; prompt cache statistics; plan usage breakdown"
        },
        {
          "id": "cursor-usage-limits",
          "title": "Cursor — Usage and limits",
          "href": "https://prod.cursor.com/help/models-and-usage/usage-limits",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How do I check my usage?"
        },
        {
          "id": "openai-work-pricing-usage",
          "title": "OpenAI — ChatGPT Work and Codex pricing and usage",
          "href": "https://learn.chatgpt.com/docs/pricing",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Where can I see my current usage limits?; tokens and credits"
        },
        {
          "id": "github-copilot-cli-usage-command",
          "title": "GitHub — Copilot CLI command reference",
          "href": "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "/usage and --max-ai-credits"
        },
        {
          "id": "microsoft-vscode-session-context-usage",
          "title": "Microsoft — Manage agent sessions in VS Code",
          "href": "https://code.visualstudio.com/docs/agents/run/sessions/manage-sessions",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Manage session context"
        }
      ],
      "support": [
        {
          "harness": "chatgpt-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 ChatGPT usage documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the account usage dashboard shows current limits and remaining capacity; the published rate card separates input, cached input, and output credits by model"
                },
                {
                  "type": "plan",
                  "value": "ChatGPT Work and Codex share usage; included limits, flexible credits, and overage options vary by plan"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing-usage",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Codex CLI usage documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/status reports remaining plan limits during an active session, and the account dashboard provides the broader current allowance"
                },
                {
                  "type": "auth",
                  "value": "ChatGPT-plan authentication uses shared plan limits and credits; API-key authentication is billed separately at API token rates"
                },
                {
                  "type": "policy",
                  "value": "context, reasoning, tools, retrieval, caching, execution mode, and model choice affect consumption, so prompt length alone does not predict usage"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openai-work-pricing-usage",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Claude Code documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/usage shows session tokens by model, cache reads and writes, duration, code changes, and locally estimated cost; /clear resets session totals"
                },
                {
                  "type": "plan",
                  "value": "Pro, Max, Team, and Enterprise add plan-usage bars and approximate local attribution across skills, subagents, plugins, MCP servers, and scheduled tasks"
                },
                {
                  "type": "policy",
                  "value": "session cost is an estimate unless organization pricing is configured; authoritative billing remains in the applicable console or provider"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-costs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Cursor documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Spending dashboard shows real-time use, remaining allowance, on-demand charges, reset date, and request-level cost and pool details"
                },
                {
                  "type": "plan",
                  "value": "Cursor Models and third-party Other Models draw from separate monthly pools; Auto requests are charged at the routed model's list price"
                },
                {
                  "type": "policy",
                  "value": "portable telemetry export and separate tool, compute, storage, and subagent consumption are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-usage-limits",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI command reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "/usage is a documented informational command and --max-ai-credits sets a soft per-response ceiling; the reviewed page does not enumerate the meter's dimensions, delay, or billing-final status"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-usage-command",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code agent-session documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the session context control exposes total AI credits consumed, but the reviewed page does not establish request-level cost dimensions, export, or billing-final values"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-session-context-usage",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/usage-metering",
      "markdown": "/features/usage-metering.md",
      "json": "/api/v1/features/usage-metering.json"
    },
    {
      "title": "User-scoped Agent Skills",
      "description": "Discover personal or global skills outside the current project. This is tracked as an independent compatibility claim.",
      "slug": "skill-user-scope",
      "locale": "en",
      "seoTitle": "User-scoped Agent Skills compatibility — Can My Agent Use",
      "socialTitle": "User-scoped Agent Skills",
      "socialDescription": "Discover personal or global skills outside the current project. Unreviewed product cells remain unknown.",
      "llmSummary": "User-scoped Agent Skills is atomic and does not follow automatically from broader agent-skills support.",
      "audience": "Engineers comparing agent harness capabilities.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "runtime",
        "agent-skills"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "runtime",
      "summary": "Discover personal or global skills outside the current project.",
      "specLabel": "Agent Skills specification",
      "specification": {
        "id": "agent-skills",
        "revision": "living",
        "maturity": "published convention",
        "role": "scope",
        "authority": "specification maintainers",
        "canonicalUrl": "https://agentskills.io/specification"
      },
      "aliases": [
        "personal skills"
      ],
      "capabilityKind": "atomic",
      "parent": "agent-skills",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Code discovers personal skills from `~/.claude/skills/` and makes them available across projects."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Cursor discovers user-level skills from `~/.agents/skills/`, `~/.cursor/skills/`, and compatible Claude or Codex directories on the machine where the agent runs."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI discovers user skills from `~/.gemini/skills/` and `~/.agents/skills/`, available across projects."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: VS Code discovers personal skills from `~/.copilot/skills/`, `~/.claude/skills/`, and `~/.agents/skills/`."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "User-scoped Agent Skills reference",
          "href": "https://agentskills.io/specification",
          "kind": "spec"
        },
        {
          "id": "anthropic-claude-code-skills",
          "title": "Anthropic — Extend Claude with skills",
          "href": "https://code.claude.com/docs/en/slash-commands",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Where skills live"
        },
        {
          "id": "cursor-agent-skills",
          "title": "Cursor — Agent Skills",
          "href": "https://prod.cursor.com/docs/skills",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Skill directories"
        },
        {
          "id": "gemini-agent-skills",
          "title": "Gemini CLI — Managing Agent Skills",
          "href": "https://geminicli.com/docs/cli/using-agent-skills/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Discovery tiers"
        },
        {
          "id": "vscode-agent-skills",
          "title": "Visual Studio Code — Use Agent Skills",
          "href": "https://code.visualstudio.com/docs/agent-customization/agent-skills",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Create a skill"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "preview",
                  "value": "the catalog's Claude Code Agent Skills core row remains qualified as beta"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "local user-scope folders are read from the machine where Cursor Agent runs and are not copied to Cloud Agents, remote SSH sessions, or managed workers"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "gemini-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code Agent Skills documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-agent-skills",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/skill-user-scope",
      "markdown": "/features/skill-user-scope.md",
      "json": "/api/v1/features/skill-user-scope.json"
    },
    {
      "title": "Video input",
      "description": "Upload or select a video for use as model input.",
      "slug": "video-input",
      "locale": "en",
      "seoTitle": "Video input compatibility — Can My Agent Use",
      "socialTitle": "Video input",
      "socialDescription": "Compare direct video upload, supported formats, duration limits, and what parts of a video reach the model.",
      "llmSummary": "Video input means an uploaded video contributes model context. Frame, audio, transcript, timing, and format behavior are recorded as qualifiers only when documented.",
      "audience": "Engineers comparing multimodal video workflows.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "perception",
        "video",
        "uploads",
        "multimodal"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "perception",
      "summary": "Upload or select a video for use as model input.",
      "specLabel": "Common product term",
      "aliases": [
        "video input",
        "video attachment",
        "video upload",
        "video understanding"
      ],
      "capabilityKind": "atomic",
      "parent": "file-inputs",
      "related": [
        "image-input",
        "audio-file-input",
        "upload-limits"
      ],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: xAI documents direct video uploads in Grok chats and describes transcription and interpretation of audio and video, but the reviewed FAQ does not specify frame sampling, temporal reasoning, or audio-visual alignment."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Grok Bot lists video among common supported inputs and documents a 200 MB per-video limit, but it does not describe which frames, audio, transcript, timing, or metadata reach the model."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini Apps accept video uploads up to 2 GB and document total video-duration limits of 5 minutes without a Google AI plan or 1 hour with Google AI Pro or Ultra. The reviewed page does not define frame sampling, timecode, or audio-visual alignment semantics."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Perplexity web accepts common video containers and automatically transcribes spoken content, but its documentation explicitly says visual scenes in video are not indexed or searchable. This is transcript-oriented input rather than documented visual-video understanding."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Gemini CLI custom commands encode a supported video path referenced with @{...} and inject it as multimodal input. The reviewed page does not enumerate containers, codecs, duration, frame sampling, timecodes, or audio-visual alignment."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "xai-grok-files-faq",
          "title": "xAI — Grok files and data FAQ",
          "href": "https://docs.x.ai/grok/faq",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Files & Data"
        },
        {
          "id": "xai-grok-bot-files",
          "title": "xAI — Grok Bot files and results",
          "href": "https://docs.x.ai/grok-bot/files-and-results",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Attach files"
        },
        {
          "id": "google-gemini-upload-files",
          "title": "Google Gemini Apps Help — Upload and analyze files",
          "href": "https://support.google.com/gemini/answer/14903178?co=GENIE.Platform%3DDesktop&hl=en",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Upload and analyze files; upload limits"
        },
        {
          "id": "perplexity-file-uploads",
          "title": "Perplexity Help Center — File uploads",
          "href": "https://www.perplexity.ai/help-center/en/articles/10354807-file-uploads",
          "kind": "docs",
          "publisher": "Perplexity",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Video files; supported file types"
        },
        {
          "id": "gemini-cli-custom-commands",
          "title": "Gemini CLI — Custom commands",
          "href": "https://geminicli.com/docs/cli/custom-commands/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Injecting file content with @{...}; multimodal support"
        }
      ],
      "support": [
        {
          "harness": "grok-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "transcription and interpretation are documented, but frame sampling, temporal reasoning, timecodes, and audio-visual alignment are not"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-files-faq",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "video is accepted up to 200 MB, but frame, audio, transcript, timing, metadata, and sampling semantics are not documented on the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Gemini Apps documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "direct video upload and analysis are documented, with a 2 GB per-video limit"
                },
                {
                  "type": "plan",
                  "value": "total video is limited to 5 minutes without a Google AI plan and 1 hour with Google AI Pro or Ultra"
                },
                {
                  "type": "runtime",
                  "value": "frame sampling, temporal precision, timecodes, and audio-visual alignment are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-upload-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "perplexity-web",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Perplexity web documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "MP4, MPEG, MOV, AVI, FLV, MPG, WebM, WMV, and 3GPP uploads are accepted and spoken content is automatically transcribed"
                },
                {
                  "type": "runtime",
                  "value": "visual scenes in video are explicitly not indexed or searchable, so this does not establish frame-based or temporal visual understanding"
                },
                {
                  "type": "runtime",
                  "value": "the general file-upload page documents a 40 MB per-file limit"
                }
              ],
              "evidence": [
                {
                  "resourceId": "perplexity-file-uploads",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI custom-command documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "supported video files referenced with @{...} inside a custom command are encoded and injected as multimodal input"
                },
                {
                  "type": "runtime",
                  "value": "accepted containers, codecs, limits, frame sampling, timecodes, temporal reasoning, audio handling, and ordinary-prompt attachment methods are not established by the reviewed page"
                }
              ],
              "evidence": [
                {
                  "resourceId": "gemini-cli-custom-commands",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/video-input",
      "markdown": "/features/video-input.md",
      "json": "/api/v1/features/video-input.json"
    },
    {
      "title": "Web fetch",
      "description": "Retrieve live web pages or APIs during a run.",
      "slug": "web-fetch",
      "locale": "en",
      "seoTitle": "Web fetch — Can My Agent Use",
      "socialTitle": "Web fetch",
      "socialDescription": "Compare live web-page and API retrieval during a run.",
      "llmSummary": "Web fetch retrieves current web pages or API responses during a run. Authentication, network policy, rendering, and source attribution are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "tools"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Retrieve live web pages or APIs during a run.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Product cells without reviewed public evidence remain unknown; support for web search alone does not prove URL-fetch support."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Anthropic documents Claude Code's built-in `WebFetch` tool as fetching content from a specified URL."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Google documents Gemini CLI's `web_fetch` tool as retrieving and processing content from specific URLs, with URL approval and plan-mode confirmation controls."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Microsoft documents VS Code's built-in `#web/fetch` agent tool as fetching content from a given web page, subject to URL request and response approvals."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "anthropic-claude-code-tools-reference",
          "title": "Anthropic — Claude Code tools reference",
          "href": "https://code.claude.com/docs/en/tools-reference",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "WebFetch"
        },
        {
          "id": "google-gemini-cli-web-fetch",
          "title": "Google — Gemini CLI web fetch tool",
          "href": "https://geminicli.com/docs/tools/web-fetch/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Technical reference and technical behavior"
        },
        {
          "id": "microsoft-vscode-agent-web-fetch",
          "title": "Microsoft — VS Code AI features cheat sheet",
          "href": "https://code.visualstudio.com/docs/agents/reference/ai-features-cheat-sheet",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Agent tools —"
        },
        {
          "id": "microsoft-vscode-agent-url-approvals",
          "title": "Microsoft — Manage approvals and permissions",
          "href": "https://code.visualstudio.com/docs/agents/run/approvals",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "URL approval"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code tools reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "WebFetch requires permission and is subject to configured allow and deny rules plus Anthropic's hostname safety check"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-tools-reference",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI web fetch documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "shows a confirmation dialog for converted URLs and always requires explicit confirmation in Plan Mode"
                }
              ],
              "evidence": [
                {
                  "resourceId": "google-gemini-cli-web-fetch",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Visual Studio Code agent tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "URL access uses request pre-approval and fetched-response review unless trusted-domain or approval settings apply"
                }
              ],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-agent-web-fetch",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "microsoft-vscode-agent-url-approvals",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/web-fetch",
      "markdown": "/features/web-fetch.md",
      "json": "/api/v1/features/web-fetch.json"
    },
    {
      "title": "WebMCP",
      "description": "Compare imperative tools, declarative forms, discovery, execution, permissions, lifecycle, and security signals independently.",
      "slug": "webmcp",
      "locale": "en",
      "seoTitle": "WebMCP capability coverage — Can My Agent Use",
      "socialTitle": "Which parts of WebMCP can my agent use?",
      "socialDescription": "Track the draft WebMCP API as independent web-platform and agent capabilities.",
      "llmSummary": "WebMCP is a draft capability family covering imperative and declarative tools, discovery and execution, permissions, cancellation, and security annotations.",
      "audience": "Web platform architects and agent-tooling engineers.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "webmcp",
        "web",
        "tools",
        "draft"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Expose website functionality as structured tools through a browser-mediated agent boundary.",
      "specLabel": "WebMCP draft 2026-08-26",
      "specification": {
        "id": "webmcp",
        "revision": "2026-08-26 draft",
        "maturity": "draft community group report",
        "role": "website, user agent, or browser agent",
        "authority": "W3C Web Machine Learning Community Group",
        "canonicalUrl": "https://webmachinelearning.github.io/webmcp/"
      },
      "aliases": [
        "Web Model Context Protocol",
        "site tools",
        "document.modelContext"
      ],
      "capabilityKind": "family",
      "related": [
        "mcp"
      ],
      "relations": [],
      "highlight": true,
      "notes": [],
      "issues": [],
      "resources": [
        {
          "title": "WebMCP Draft Community Group Report",
          "href": "https://webmachinelearning.github.io/webmcp/",
          "kind": "spec"
        }
      ],
      "support": [],
      "html": "/features/webmcp",
      "markdown": "/features/webmcp.md",
      "json": "/api/v1/features/webmcp.json"
    },
    {
      "title": "WebMCP declarative form tools",
      "description": "Expose semantic HTML forms as structured tools through WebMCP annotations. Draft and implementation support are tracked independently.",
      "slug": "webmcp-declarative-tools",
      "locale": "en",
      "seoTitle": "WebMCP declarative form tools compatibility — Can My Agent Use",
      "socialTitle": "WebMCP declarative form tools",
      "socialDescription": "Expose semantic HTML forms as structured tools through WebMCP annotations. Browser and agent evidence remains revision-specific.",
      "llmSummary": "WebMCP declarative form tools is an atomic WebMCP capability and does not imply every other part of the draft.",
      "audience": "Web platform architects and agent-tooling engineers.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "webmcp",
        "web",
        "draft"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Expose semantic HTML forms as structured tools through WebMCP annotations.",
      "specLabel": "WebMCP draft 2026-08-26",
      "specification": {
        "id": "webmcp",
        "revision": "2026-08-26 draft",
        "maturity": "draft community group report",
        "role": "website, user agent, or browser agent",
        "authority": "W3C Web Machine Learning Community Group",
        "canonicalUrl": "https://webmachinelearning.github.io/webmcp/"
      },
      "aliases": [
        "tool-enabled forms"
      ],
      "capabilityKind": "atomic",
      "parent": "webmcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Chrome documents this WebMCP behavior through its origin-trial developer surface; availability is experimental and must not be read as stable browser-wide support."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "webmcp-draft",
          "title": "WebMCP Draft Community Group Report",
          "href": "https://webmachinelearning.github.io/webmcp/",
          "kind": "spec",
          "publisher": "W3C Web Machine Learning Community Group",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "chrome-webmcp-docs",
          "title": "Chrome for Developers — WebMCP and AI agents",
          "href": "https://developer.chrome.com/docs/ai/agents",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "chrome-webmcp-preview",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Chrome WebMCP origin-trial documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "origin-trial",
                  "value": "registration in the Chrome WebMCP origin trial is required"
                },
                {
                  "type": "feature-flag",
                  "value": "support is not claimed for stable default Chrome"
                }
              ],
              "evidence": [
                {
                  "resourceId": "chrome-webmcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/webmcp-declarative-tools",
      "markdown": "/features/webmcp-declarative-tools.md",
      "json": "/api/v1/features/webmcp-declarative-tools.json"
    },
    {
      "title": "WebMCP execution cancellation",
      "description": "Cancel pending tool registration or execution through abort signals and lifecycle rules. Draft and implementation support are tracked independently.",
      "slug": "webmcp-cancellation",
      "locale": "en",
      "seoTitle": "WebMCP execution cancellation compatibility — Can My Agent Use",
      "socialTitle": "WebMCP execution cancellation",
      "socialDescription": "Cancel pending tool registration or execution through abort signals and lifecycle rules. Browser and agent evidence remains revision-specific.",
      "llmSummary": "WebMCP execution cancellation is an atomic WebMCP capability and does not imply every other part of the draft.",
      "audience": "Web platform architects and agent-tooling engineers.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "webmcp",
        "web",
        "draft"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Cancel pending tool registration or execution through abort signals and lifecycle rules.",
      "specLabel": "WebMCP draft 2026-08-26",
      "specification": {
        "id": "webmcp",
        "revision": "2026-08-26 draft",
        "maturity": "draft community group report",
        "role": "website, user agent, or browser agent",
        "authority": "W3C Web Machine Learning Community Group",
        "canonicalUrl": "https://webmachinelearning.github.io/webmcp/"
      },
      "aliases": [
        "AbortSignal"
      ],
      "capabilityKind": "atomic",
      "parent": "webmcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Chrome's WebMCP Imperative API documentation exposes AbortSignal for canceling pending execution and passes a cancellation signal into the tool callback; Chrome 153 separately changed registration abort so unregistering no longer breaks in-flight work."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "webmcp-draft",
          "title": "WebMCP Draft Community Group Report",
          "href": "https://webmachinelearning.github.io/webmcp/",
          "kind": "spec",
          "publisher": "W3C Web Machine Learning Community Group",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "chrome-webmcp-imperative-cancellation",
          "title": "Chrome for Developers — WebMCP Imperative API",
          "href": "https://developer.chrome.com/docs/ai/webmcp/imperative-api",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Unregister tools, handle tool cancellation, and execute tool"
        }
      ],
      "support": [
        {
          "harness": "chrome-webmcp-preview",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Chrome 153 WebMCP origin-trial documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "origin-trial",
                  "value": "WebMCP is an experimental origin trial and local testing requires the enable-webmcp-testing flag"
                },
                {
                  "type": "protocol-revision",
                  "value": "Chrome 153 separates tool unregistration from cancellation of in-flight execution; execution cancellation remains exposed through AbortSignal"
                }
              ],
              "evidence": [
                {
                  "resourceId": "webmcp-draft",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "chrome-webmcp-imperative-cancellation",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/webmcp-cancellation",
      "markdown": "/features/webmcp-cancellation.md",
      "json": "/api/v1/features/webmcp-cancellation.json"
    },
    {
      "title": "WebMCP imperative tools",
      "description": "Register JavaScript-backed tools through document.modelContext.registerTool(). Draft and implementation support are tracked independently.",
      "slug": "webmcp-imperative-tools",
      "locale": "en",
      "seoTitle": "WebMCP imperative tools compatibility — Can My Agent Use",
      "socialTitle": "WebMCP imperative tools",
      "socialDescription": "Register JavaScript-backed tools through document.modelContext.registerTool(). Browser and agent evidence remains revision-specific.",
      "llmSummary": "WebMCP imperative tools is an atomic WebMCP capability and does not imply every other part of the draft.",
      "audience": "Web platform architects and agent-tooling engineers.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "webmcp",
        "web",
        "draft"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Register JavaScript-backed tools through document.modelContext.registerTool().",
      "specLabel": "WebMCP draft 2026-08-26",
      "specification": {
        "id": "webmcp",
        "revision": "2026-08-26 draft",
        "maturity": "draft community group report",
        "role": "website, user agent, or browser agent",
        "authority": "W3C Web Machine Learning Community Group",
        "canonicalUrl": "https://webmachinelearning.github.io/webmcp/"
      },
      "aliases": [
        "registerTool"
      ],
      "capabilityKind": "atomic",
      "parent": "webmcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Chrome documents this WebMCP behavior through its origin-trial developer surface; availability is experimental and must not be read as stable browser-wide support."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "webmcp-draft",
          "title": "WebMCP Draft Community Group Report",
          "href": "https://webmachinelearning.github.io/webmcp/",
          "kind": "spec",
          "publisher": "W3C Web Machine Learning Community Group",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "chrome-webmcp-docs",
          "title": "Chrome for Developers — WebMCP and AI agents",
          "href": "https://developer.chrome.com/docs/ai/agents",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "chrome-webmcp-preview",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Chrome WebMCP origin-trial documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "origin-trial",
                  "value": "registration in the Chrome WebMCP origin trial is required"
                },
                {
                  "type": "feature-flag",
                  "value": "support is not claimed for stable default Chrome"
                }
              ],
              "evidence": [
                {
                  "resourceId": "chrome-webmcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/webmcp-imperative-tools",
      "markdown": "/features/webmcp-imperative-tools.md",
      "json": "/api/v1/features/webmcp-imperative-tools.json"
    },
    {
      "title": "WebMCP permissions policy",
      "description": "Gate tool exposure across documents and origins through the tools permissions policy. Draft and implementation support are tracked independently.",
      "slug": "webmcp-permissions-policy",
      "locale": "en",
      "seoTitle": "WebMCP permissions policy compatibility — Can My Agent Use",
      "socialTitle": "WebMCP permissions policy",
      "socialDescription": "Gate tool exposure across documents and origins through the tools permissions policy. Browser and agent evidence remains revision-specific.",
      "llmSummary": "WebMCP permissions policy is an atomic WebMCP capability and does not imply every other part of the draft.",
      "audience": "Web platform architects and agent-tooling engineers.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "webmcp",
        "web",
        "draft"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Gate tool exposure across documents and origins through the tools permissions policy.",
      "specLabel": "WebMCP draft 2026-08-26",
      "specification": {
        "id": "webmcp",
        "revision": "2026-08-26 draft",
        "maturity": "draft community group report",
        "role": "website, user agent, or browser agent",
        "authority": "W3C Web Machine Learning Community Group",
        "canonicalUrl": "https://webmachinelearning.github.io/webmcp/"
      },
      "aliases": [
        "Permissions-Policy tools"
      ],
      "capabilityKind": "atomic",
      "parent": "webmcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Chrome documents both WebMCP APIs as gated by the `tools` Permissions Policy, defaulting to `self`, with explicit delegation required for cross-origin iframes and separate secure-origin exposure checks."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "webmcp-draft",
          "title": "WebMCP Draft Community Group Report",
          "href": "https://webmachinelearning.github.io/webmcp/",
          "kind": "spec",
          "publisher": "W3C Web Machine Learning Community Group",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "chrome-webmcp-permissions-policy",
          "title": "Chrome for Developers — WebMCP",
          "href": "https://developer.chrome.com/docs/ai/webmcp",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Security and permissions"
        },
        {
          "id": "chrome-webmcp-cross-origin-policy",
          "title": "Chrome for Developers — WebMCP Imperative API",
          "href": "https://developer.chrome.com/docs/ai/webmcp/imperative-api",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Cross-origin iframes"
        }
      ],
      "support": [
        {
          "harness": "chrome-webmcp-preview",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Chrome 153 WebMCP origin-trial documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "origin-trial",
                  "value": "WebMCP is an experimental origin trial and local testing requires the enable-webmcp-testing flag"
                },
                {
                  "type": "policy",
                  "value": "the tools policy defaults to self; cross-origin use requires iframe delegation plus explicit secure-origin exposure and request options"
                }
              ],
              "evidence": [
                {
                  "resourceId": "webmcp-draft",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "chrome-webmcp-permissions-policy",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "chrome-webmcp-cross-origin-policy",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/webmcp-permissions-policy",
      "markdown": "/features/webmcp-permissions-policy.md",
      "json": "/api/v1/features/webmcp-permissions-policy.json"
    },
    {
      "title": "WebMCP security annotations",
      "description": "Communicate read-only and untrusted-content hints across the site-to-agent boundary. Draft and implementation support are tracked independently.",
      "slug": "webmcp-security-annotations",
      "locale": "en",
      "seoTitle": "WebMCP security annotations compatibility — Can My Agent Use",
      "socialTitle": "WebMCP security annotations",
      "socialDescription": "Communicate read-only and untrusted-content hints across the site-to-agent boundary. Browser and agent evidence remains revision-specific.",
      "llmSummary": "WebMCP security annotations is an atomic WebMCP capability and does not imply every other part of the draft.",
      "audience": "Web platform architects and agent-tooling engineers.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "webmcp",
        "web",
        "draft"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Communicate read-only and untrusted-content hints across the site-to-agent boundary.",
      "specLabel": "WebMCP draft 2026-08-26",
      "specification": {
        "id": "webmcp",
        "revision": "2026-08-26 draft",
        "maturity": "draft community group report",
        "role": "website, user agent, or browser agent",
        "authority": "W3C Web Machine Learning Community Group",
        "canonicalUrl": "https://webmachinelearning.github.io/webmcp/"
      },
      "aliases": [
        "untrustedContentHint"
      ],
      "capabilityKind": "atomic",
      "parent": "webmcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Chrome's origin-trial documentation exposes `readOnlyHint` and `untrustedContentHint` in registered and discovered WebMCP tools and publishes handling guidance for both hints."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "webmcp-draft",
          "title": "WebMCP Draft Community Group Report",
          "href": "https://webmachinelearning.github.io/webmcp/",
          "kind": "spec",
          "publisher": "W3C Web Machine Learning Community Group",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "chrome-webmcp-security-annotations-api",
          "title": "Chrome for Developers — WebMCP Imperative API",
          "href": "https://developer.chrome.com/docs/ai/webmcp/imperative-api",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "annotations and discovered tool representation"
        },
        {
          "id": "chrome-webmcp-security-annotations-guidance",
          "title": "Chrome for Developers — WebMCP tool security",
          "href": "https://developer.chrome.com/docs/ai/webmcp/secure-tools",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use annotation hints"
        }
      ],
      "support": [
        {
          "harness": "chrome-webmcp-preview",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Chrome 153 WebMCP origin-trial documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "origin-trial",
                  "value": "WebMCP is an experimental origin trial and local testing requires the enable-webmcp-testing flag"
                },
                {
                  "type": "policy",
                  "value": "annotations are advisory hints to the consuming agent; they do not by themselves enforce read-only behavior or sanitize untrusted output"
                }
              ],
              "evidence": [
                {
                  "resourceId": "webmcp-draft",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "chrome-webmcp-security-annotations-api",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "chrome-webmcp-security-annotations-guidance",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/webmcp-security-annotations",
      "markdown": "/features/webmcp-security-annotations.md",
      "json": "/api/v1/features/webmcp-security-annotations.json"
    },
    {
      "title": "WebMCP tool discovery",
      "description": "Expose the active page tool list and schemas to a WebMCP-aware agent. Draft and implementation support are tracked independently.",
      "slug": "webmcp-tool-discovery",
      "locale": "en",
      "seoTitle": "WebMCP tool discovery compatibility — Can My Agent Use",
      "socialTitle": "WebMCP tool discovery",
      "socialDescription": "Expose the active page tool list and schemas to a WebMCP-aware agent. Browser and agent evidence remains revision-specific.",
      "llmSummary": "WebMCP tool discovery is an atomic WebMCP capability and does not imply every other part of the draft.",
      "audience": "Web platform architects and agent-tooling engineers.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "webmcp",
        "web",
        "draft"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Expose the active page tool list and schemas to a WebMCP-aware agent.",
      "specLabel": "WebMCP draft 2026-08-26",
      "specification": {
        "id": "webmcp",
        "revision": "2026-08-26 draft",
        "maturity": "draft community group report",
        "role": "website, user agent, or browser agent",
        "authority": "W3C Web Machine Learning Community Group",
        "canonicalUrl": "https://webmachinelearning.github.io/webmcp/"
      },
      "aliases": [
        "getTools"
      ],
      "capabilityKind": "atomic",
      "parent": "webmcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Chrome documents this WebMCP behavior through its origin-trial developer surface; availability is experimental and must not be read as stable browser-wide support."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "webmcp-draft",
          "title": "WebMCP Draft Community Group Report",
          "href": "https://webmachinelearning.github.io/webmcp/",
          "kind": "spec",
          "publisher": "W3C Web Machine Learning Community Group",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "chrome-webmcp-docs",
          "title": "Chrome for Developers — WebMCP and AI agents",
          "href": "https://developer.chrome.com/docs/ai/agents",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "chrome-webmcp-preview",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Chrome WebMCP origin-trial documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "origin-trial",
                  "value": "registration in the Chrome WebMCP origin trial is required"
                },
                {
                  "type": "feature-flag",
                  "value": "support is not claimed for stable default Chrome"
                }
              ],
              "evidence": [
                {
                  "resourceId": "chrome-webmcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/webmcp-tool-discovery",
      "markdown": "/features/webmcp-tool-discovery.md",
      "json": "/api/v1/features/webmcp-tool-discovery.json"
    },
    {
      "title": "WebMCP tool execution",
      "description": "Invoke a page tool with structured arguments and return its result to the agent. Draft and implementation support are tracked independently.",
      "slug": "webmcp-tool-execution",
      "locale": "en",
      "seoTitle": "WebMCP tool execution compatibility — Can My Agent Use",
      "socialTitle": "WebMCP tool execution",
      "socialDescription": "Invoke a page tool with structured arguments and return its result to the agent. Browser and agent evidence remains revision-specific.",
      "llmSummary": "WebMCP tool execution is an atomic WebMCP capability and does not imply every other part of the draft.",
      "audience": "Web platform architects and agent-tooling engineers.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "interfaces",
        "webmcp",
        "web",
        "draft"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "interfaces",
      "summary": "Invoke a page tool with structured arguments and return its result to the agent.",
      "specLabel": "WebMCP draft 2026-08-26",
      "specification": {
        "id": "webmcp",
        "revision": "2026-08-26 draft",
        "maturity": "draft community group report",
        "role": "website, user agent, or browser agent",
        "authority": "W3C Web Machine Learning Community Group",
        "canonicalUrl": "https://webmachinelearning.github.io/webmcp/"
      },
      "aliases": [
        "executeTool"
      ],
      "capabilityKind": "atomic",
      "parent": "webmcp",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Chrome documents this WebMCP behavior through its origin-trial developer surface; availability is experimental and must not be read as stable browser-wide support."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "webmcp-draft",
          "title": "WebMCP Draft Community Group Report",
          "href": "https://webmachinelearning.github.io/webmcp/",
          "kind": "spec",
          "publisher": "W3C Web Machine Learning Community Group",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "chrome-webmcp-docs",
          "title": "Chrome for Developers — WebMCP and AI agents",
          "href": "https://developer.chrome.com/docs/ai/agents",
          "kind": "docs",
          "publisher": "Google Chrome",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "chrome-webmcp-preview",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "Chrome WebMCP origin-trial documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "preview-enabled",
              "qualifiers": [
                {
                  "type": "origin-trial",
                  "value": "registration in the Chrome WebMCP origin trial is required"
                },
                {
                  "type": "feature-flag",
                  "value": "support is not claimed for stable default Chrome"
                }
              ],
              "evidence": [
                {
                  "resourceId": "chrome-webmcp-docs",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ],
              "stage": "experimental"
            }
          ]
        }
      ],
      "html": "/features/webmcp-tool-execution",
      "markdown": "/features/webmcp-tool-execution.md",
      "json": "/api/v1/features/webmcp-tool-execution.json"
    },
    {
      "title": "Workspace files",
      "description": "Read or edit files in a user-selected project workspace.",
      "slug": "workspace-files",
      "locale": "en",
      "seoTitle": "Workspace file compatibility — Can My Agent Use",
      "socialTitle": "Can my agent use workspace files?",
      "socialDescription": "Compare workspace file access by exact product surface.",
      "llmSummary": "Workspace file access means reading or changing files inside a user-selected project. Local or hosted scope, permissions, sandboxing, and persistence are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "workspace",
        "files"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Read or edit files inside a user-selected project.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": true,
      "notes": [
        {
          "id": 1,
          "text": "Evidence checked 2026-08-28: Claude Desktop extensions can bundle local MCP servers that expose files or applications, but access depends on the installed extension and its permissions."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Code is documented as an agentic coding tool that works in a codebase and includes file editing in its permission surface."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Cursor Agent documents autonomous codebase exploration and file editing in the opened project."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: OpenAI documents Codex CLI as a local coding agent that can read, change, and run code in the selected directory."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents file-system tools for listing, reading, searching, writing, and patching files within the workspace."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: VS Code agent tools include workspace search and file editing in the open workspace."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: OpenWork Desktop selects a project folder, runs its host stack against that workspace, and routes workspace file access through the OpenWork server and OpenCode runtime."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Grok Bot provides a durable `/workspace` directory on its hosted computer and lets Bots read files saved there by other Bots. The directory and its contents are shared across all Bots on the account, not selected as an isolated local project."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: GitHub Copilot CLI reads files in the current repository or directory and can edit them, with writes governed by its tool-permission system."
        },
        {
          "id": 10,
          "text": "Evidence checked 2026-08-28: Cline provides built-in tools for reading files, searching a workspace, editing or writing files, and applying patches."
        },
        {
          "id": 11,
          "text": "Evidence checked 2026-08-28: Continue Agent mode exposes read, create, and edit tools for files in the project; Plan mode restricts the session to read-only tools."
        },
        {
          "id": 12,
          "text": "Evidence checked 2026-08-28: OpenCode's built-in tools read codebase files and edit, create, overwrite, or patch files relative to the project."
        },
        {
          "id": 13,
          "text": "Evidence checked 2026-08-28: Zed's native Agent is documented as able to read, edit, and search code in the open project."
        },
        {
          "id": 14,
          "text": "Evidence checked 2026-08-28: Aider accepts source files or a repository as its working context, reads related code, and edits or creates files requested in the session."
        },
        {
          "id": 15,
          "text": "Evidence checked 2026-08-28: Warp Agent writes and refactors code across the local codebase and includes a file tree and code editor for reviewing changes."
        },
        {
          "id": 16,
          "text": "Evidence checked 2026-08-28: Devin works in a hosted VS Code environment loaded with the user's repositories and performs code edits there; this is not direct access to an arbitrary local folder."
        },
        {
          "id": 17,
          "text": "Evidence checked 2026-08-28: Replit Agent writes code and sets up a hosted project in the Project Editor, including projects imported from GitHub or uploaded files; the workspace is Replit-hosted rather than an arbitrary local directory."
        }
      ],
      "issues": [],
      "resources": [
        {
          "id": "anthropic-desktop-files",
          "title": "Anthropic — Local MCP servers on Claude Desktop",
          "href": "https://support.anthropic.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "anthropic-cli-files",
          "title": "Anthropic — Claude Code CLI reference",
          "href": "https://docs.anthropic.com/en/docs/claude-code/cli-usage",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cursor-agent-files",
          "title": "Cursor — Agent overview",
          "href": "https://cursor.com/docs/agent/overview",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openai-codex-files",
          "title": "OpenAI — Get started with Codex CLI",
          "href": "https://help.openai.com/en/articles/11096431",
          "kind": "docs",
          "publisher": "OpenAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "gemini-files",
          "title": "Gemini CLI — Tool reference",
          "href": "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "vscode-files",
          "title": "Visual Studio Code — Tools in agents",
          "href": "https://code.visualstudio.com/docs/copilot/concepts/tools",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "openwork-workspace-files",
          "title": "OpenWork — Architecture",
          "href": "https://github.com/different-ai/openwork/blob/dev/ARCHITECTURE.md",
          "kind": "docs",
          "publisher": "OpenWork",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "xai-grok-bot-workspace",
          "title": "xAI — Grok Bot files and results",
          "href": "https://docs.x.ai/grok-bot/files-and-results",
          "kind": "docs",
          "publisher": "xAI",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Shared computer files"
        },
        {
          "id": "github-copilot-cli-files",
          "title": "GitHub — Allowing and denying tool use in Copilot CLI",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        },
        {
          "id": "cline-tools-files",
          "title": "Cline — Tools reference",
          "href": "https://docs.cline.bot/tools-reference/all-cline-tools",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "editor, read_files, and apply_patch"
        },
        {
          "id": "continue-agent-files",
          "title": "Continue — How Agent mode works",
          "href": "https://docs.continue.dev/features/agent/how-it-works",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "What Built-in Tools Are Available"
        },
        {
          "id": "opencode-tools-files",
          "title": "OpenCode — Tools",
          "href": "https://opencode.ai/docs/tools/",
          "kind": "docs",
          "publisher": "OpenCode",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "edit, write, read, and apply_patch"
        },
        {
          "id": "zed-agent-files",
          "title": "Zed — AI quick start",
          "href": "https://zed.dev/docs/ai/quick-start",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use the Zed Agent"
        },
        {
          "id": "aider-workspace-files",
          "title": "Aider — Usage",
          "href": "https://aider.chat/docs/usage.html",
          "kind": "docs",
          "publisher": "Aider",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Adding files and making changes"
        },
        {
          "id": "warp-agent-files",
          "title": "Warp — Getting started with Warp",
          "href": "https://docs.warp.dev/",
          "kind": "docs",
          "publisher": "Warp",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "In the Warp app"
        },
        {
          "id": "devin-session-files",
          "title": "Devin — Session tools",
          "href": "https://docs.devin.ai/work-with-devin/devin-session-tools",
          "kind": "docs",
          "publisher": "Cognition",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Devin IDE"
        },
        {
          "id": "replit-project-editor-files",
          "title": "Replit — Project Editor",
          "href": "https://docs.replit.com/learn/projects-and-artifacts/project-editor",
          "kind": "docs",
          "publisher": "Replit",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28"
        }
      ],
      "support": [
        {
          "harness": "claude-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                1
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Desktop documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "separately installed extension and permissions required"
                }
              ],
              "evidence": [
                {
                  "resourceId": "anthropic-desktop-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "anthropic-cli-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cursor-agent-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "codex-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Codex CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "openai-codex-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "gemini-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "vscode-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "access is scoped to the current repository or directory, and file writes require approval unless a matching permission is saved or pre-granted"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                10
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "tool availability and approval behavior depend on settings and policy"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cline-tools-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                11
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Continue documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "create and edit tools require Agent mode and model tool-use support; Plan mode is read-only"
                }
              ],
              "evidence": [
                {
                  "resourceId": "continue-agent-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "opencode",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                12
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenCode documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "read and edit behavior can be allowed, approval-gated, or denied through permission rules"
                }
              ],
              "evidence": [
                {
                  "resourceId": "opencode-tools-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                13
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "file operations remain subject to Agent profiles, tool permissions, and workspace trust"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-agent-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "aider",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                14
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Aider documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "files can be named explicitly, added during chat, or discovered from the repository; Aider recommends limiting explicitly added files"
                }
              ],
              "evidence": [
                {
                  "resourceId": "aider-workspace-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "warp",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                15
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Warp documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "the local Agent documents review and approval controls before actions execute"
                }
              ],
              "evidence": [
                {
                  "resourceId": "warp-agent-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "devin-web",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                16
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Devin documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Devin edits repositories loaded into its hosted VS Code environment, not arbitrary local folders on the operator's computer"
                }
              ],
              "evidence": [
                {
                  "resourceId": "devin-session-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "replit-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                17
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Replit Agent documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Agent operates in a Replit-hosted project; local code must be imported from GitHub or uploaded before Agent can use it"
                }
              ],
              "evidence": [
                {
                  "resourceId": "replit-project-editor-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "openwork-desktop",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenWork architecture documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "access is limited by the selected workspace and OpenWork approval rules"
                }
              ],
              "evidence": [
                {
                  "resourceId": "openwork-workspace-files",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "grok-bot-desktop",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "hosted-observation",
                "revision": "2026-08-28 Grok Bot desktop documentation observation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "hosted-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "the documented workspace is a durable hosted `/workspace` shared across all Bots on one account, not an isolated user-selected local project"
                },
                {
                  "type": "policy",
                  "value": "access to the operator's local files is separately controlled and requires local-computer permission"
                }
              ],
              "evidence": [
                {
                  "resourceId": "xai-grok-bot-workspace",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/workspace-files",
      "markdown": "/features/workspace-files.md",
      "json": "/api/v1/features/workspace-files.json"
    },
    {
      "title": "Workspace search",
      "description": "Search file names, text, or symbols across a workspace.",
      "slug": "workspace-search",
      "locale": "en",
      "seoTitle": "Workspace search — Can My Agent Use",
      "socialTitle": "Workspace search",
      "socialDescription": "Compare file-name, text, symbol, and semantic search across a workspace.",
      "llmSummary": "Workspace search locates files, text, or symbols across a project. Query types, indexing, scope, and semantic retrieval are qualifiers.",
      "audience": "Engineers comparing chat, desktop, and CLI agent harnesses.",
      "contentKind": "feature",
      "status": "published",
      "tags": [
        "tools"
      ],
      "updated": "2026-08-28T00:00:00.000Z",
      "published": "2026-08-28T00:00:00.000Z",
      "category": "tools",
      "summary": "Search file names, text, or symbols across a workspace.",
      "specLabel": "Common product term",
      "aliases": [],
      "capabilityKind": "atomic",
      "related": [],
      "relations": [],
      "highlight": false,
      "notes": [
        {
          "id": 1,
          "text": "No reviewed public evidence is attached to this capability row. Unknown records the evidence gap."
        },
        {
          "id": 2,
          "text": "Evidence checked 2026-08-28: Claude Code documents Glob and Grep built-ins and describes searching relevant files before coordinated edits."
        },
        {
          "id": 3,
          "text": "Evidence checked 2026-08-28: Gemini CLI documents glob and grep_search tools that search file names and contents across the workspace."
        },
        {
          "id": 4,
          "text": "Evidence checked 2026-08-28: Cursor documents Agent tools for searching files, folders, names, directory structures, and exact content patterns."
        },
        {
          "id": 5,
          "text": "Evidence checked 2026-08-28: VS Code documents workspace-context search tools that locate relevant files, symbols, and text."
        },
        {
          "id": 6,
          "text": "Evidence checked 2026-08-28: Copilot CLI documents automatic read-only codebase search plus grep and glob tools."
        },
        {
          "id": 7,
          "text": "Evidence checked 2026-08-28: Cline documents a ripgrep-powered codebase search built-in."
        },
        {
          "id": 8,
          "text": "Evidence checked 2026-08-28: Continue documents glob search, grep search, repository map, subdirectory, and codebase tools in Plan and Agent modes."
        },
        {
          "id": 9,
          "text": "Evidence checked 2026-08-28: OpenCode documents built-in grep and glob tools for codebase content and path search."
        },
        {
          "id": 10,
          "text": "Evidence checked 2026-08-28: Zed documents that its native Agent can search code in the current project."
        },
        {
          "id": 11,
          "text": "Evidence checked 2026-08-28: Aider analyzes the repository to build a compact map and uses that map to identify relevant code, but does not document it as an explicit queryable search tool."
        },
        {
          "id": 12,
          "text": "Evidence checked 2026-08-28: Windsurf documents Search and Analyze among Cascade's codebase tools."
        }
      ],
      "issues": [],
      "resources": [
        {
          "title": "Methodology",
          "href": "/methodology",
          "kind": "note"
        },
        {
          "id": "microsoft-vscode-workspace-context",
          "title": "Visual Studio Code — How Copilot understands your workspace",
          "href": "https://code.visualstudio.com/docs/agents/reference/workspace-context",
          "kind": "docs",
          "publisher": "Microsoft",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Workspace search tools"
        },
        {
          "id": "anthropic-claude-code-search-tools",
          "title": "Anthropic — Claude Code tools reference",
          "href": "https://code.claude.com/docs/en/tools-reference",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Glob and Grep"
        },
        {
          "id": "anthropic-claude-code-workflow",
          "title": "Anthropic — How Claude Code works",
          "href": "https://code.claude.com/docs/en/how-claude-code-works",
          "kind": "docs",
          "publisher": "Anthropic",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Agentic loop across a project"
        },
        {
          "id": "google-gemini-file-system-tools",
          "title": "Google — Gemini CLI file system tools",
          "href": "https://geminicli.com/docs/tools/file-system/",
          "kind": "docs",
          "publisher": "Google",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "glob and grep_search"
        },
        {
          "id": "cursor-agent-tools",
          "title": "Cursor — Agent overview",
          "href": "https://cursor.com/docs/agent/overview",
          "kind": "docs",
          "publisher": "Cursor",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Search files and folders"
        },
        {
          "id": "github-copilot-cli-tool-controls",
          "title": "GitHub — Allowing and denying tool use in Copilot CLI",
          "href": "https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools",
          "kind": "docs",
          "publisher": "GitHub",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Introduction and available tools"
        },
        {
          "id": "cline-codebase-search",
          "title": "Cline — Tools reference",
          "href": "https://docs.cline.bot/tools-reference/all-cline-tools",
          "kind": "docs",
          "publisher": "Cline",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Built-In Tools"
        },
        {
          "id": "continue-agent-tools",
          "title": "Continue — How Agent mode works",
          "href": "https://docs.continue.dev/features/agent/how-it-works",
          "kind": "docs",
          "publisher": "Continue",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Tools available in Plan mode"
        },
        {
          "id": "opencode-search-tools",
          "title": "OpenCode — Tools",
          "href": "https://opencode.ai/docs/tools",
          "kind": "docs",
          "publisher": "OpenCode",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "grep and glob"
        },
        {
          "id": "zed-agent-project-search",
          "title": "Zed — AI Quick Start",
          "href": "https://zed.dev/docs/ai/quick-start",
          "kind": "docs",
          "publisher": "Zed Industries",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Use the Zed Agent"
        },
        {
          "id": "aider-repository-map",
          "title": "Aider — Frequently asked questions",
          "href": "https://aider.chat/docs/faq.html",
          "kind": "docs",
          "publisher": "Aider",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "How can I add all files to the chat and repository map"
        },
        {
          "id": "windsurf-cascade-search-tools",
          "title": "Windsurf — Cascade overview",
          "href": "https://docs.windsurf.com/windsurf/cascade/cascade",
          "kind": "docs",
          "publisher": "Windsurf",
          "evidenceType": "documented",
          "reviewedAt": "2026-08-28",
          "locator": "Tool Calling"
        }
      ],
      "support": [
        {
          "harness": "claude-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                2
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Claude Code tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "anthropic-claude-code-search-tools",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                },
                {
                  "resourceId": "anthropic-claude-code-workflow",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "gemini-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                3
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Gemini CLI file-system tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "google-gemini-file-system-tools",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cursor",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                4
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cursor Agent tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Cursor Agent in the desktop workbench"
                }
              ],
              "evidence": [
                {
                  "resourceId": "cursor-agent-tools",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "vscode-copilot",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                5
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current VS Code workspace-context documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "microsoft-vscode-workspace-context",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "copilot-cli",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                6
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current GitHub Copilot CLI tool-permissions documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "read-only search operations are allowed automatically unless tool restrictions override them"
                }
              ],
              "evidence": [
                {
                  "resourceId": "github-copilot-cli-tool-controls",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "cline",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                7
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cline tools reference",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "cline-codebase-search",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "continue",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                8
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Continue Agent mode documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "continue-agent-tools",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "opencode",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                9
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current OpenCode tools documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "policy",
                  "value": "grep and glob availability can be allowed, denied, or set to ask through OpenCode permissions"
                }
              ],
              "evidence": [
                {
                  "resourceId": "opencode-search-tools",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "zed-agent",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                10
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Zed Agent quick-start documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "host-role",
                  "value": "claim is scoped to Zed's native Agent"
                }
              ],
              "evidence": [
                {
                  "resourceId": "zed-agent-project-search",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "aider",
          "versions": [
            {
              "track": "current",
              "status": "partial",
              "noteIds": [
                11
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Aider repository-map documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [
                {
                  "type": "runtime",
                  "value": "Aider provides a task-aware repository map for relevance discovery, but the reviewed documentation does not expose a dedicated interactive workspace-search tool"
                }
              ],
              "evidence": [
                {
                  "resourceId": "aider-repository-map",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        },
        {
          "harness": "windsurf",
          "versions": [
            {
              "track": "current",
              "status": "yes",
              "noteIds": [
                12
              ],
              "target": {
                "kind": "dated-documentation",
                "revision": "current Cascade overview documentation",
                "observedAt": "2026-08-28"
              },
              "environmentProfile": "local-default",
              "qualifiers": [],
              "evidence": [
                {
                  "resourceId": "windsurf-cascade-search-tools",
                  "type": "documented",
                  "observedAt": "2026-08-28"
                }
              ]
            }
          ]
        }
      ],
      "html": "/features/workspace-search",
      "markdown": "/features/workspace-search.md",
      "json": "/api/v1/features/workspace-search.json"
    }
  ]
}