---
title: "Compare harnesses"
canonical: "https://canmyagentuse.com/compare"
contentKind: "page"
locale: "en"
description: "Compare two exact harness surfaces without generalizing across product families."
llmSummary: "Compare two exact harness surfaces without generalizing across product families."
publishedAt: null
updatedAt: "2026-08-28T00:00:00.000Z"
verifiedAt: null
tags: []
---

# Compare harnesses

Compare two exact harness surfaces without generalizing across product families.

- HTML: https://canmyagentuse.com/compare
- Markdown: https://canmyagentuse.com/compare.md

Comparing [Cursor](/harnesses/cursor.md) with [Claude CLI](/harnesses/claude-cli.md). Current track only; view: `all`.

Unknown means insufficient published evidence; it does not mean unsupported.

## Results (125)

| Capability | Cursor | Claude CLI |
| --- | --- | --- |
| [Agent Plugins failure isolation](/features/agent-plugin-failure-isolation.md)<br><small>Reject invalid components narrowly without disabling valid components in the same package.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code plugin marketplace documentation · local-default · runtime: 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 · 1 source</small> |
| [Agent Plugins packaged MCP](/features/agent-plugin-mcp.md)<br><small>Load MCP server configuration contained in an Agent Plugins package.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Agent Plugins packaged skills](/features/agent-plugin-skills.md)<br><small>Load portable Agent Skills contained in an Agent Plugins package.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Agent Plugins portable manifest](/features/agent-plugin-core.md)<br><small>Load the published portable plugin.json manifest and its core components.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Agent Skills](/features/agent-skills.md)<br><small>Track every important Agent Skills behavior independently.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Agent Skills core and discovery](/features/skills.md)<br><small>Recognize, discover, and load reusable instruction packages centered on SKILL.md.</small> | Supported<br><small>dated-documentation: current Cursor Agent Skills documentation · local-default · 1 source</small> | Partial<br><small>dated-documentation: current Claude Code documentation · preview-enabled · preview: Claude Code support is beta · 1 source</small> |
| [Agent Skills manual invocation](/features/skill-manual-invocation.md)<br><small>Let a user or agent explicitly select and activate a named skill.</small> | Supported<br><small>dated-documentation: current Cursor Agent Skills documentation · local-default · 1 source</small> | Partial<br><small>dated-documentation: current Claude Code skills documentation · preview-enabled · preview: the catalog's Claude Code Agent Skills core row remains qualified as beta · 1 source</small> |
| [Agent Skills progressive loading](/features/skill-progressive-loading.md)<br><small>Load skill metadata first and defer full instructions or resources until relevant.</small> | Supported<br><small>dated-documentation: current Cursor Agent Skills documentation · local-default · 1 source</small> | Partial<br><small>dated-documentation: current Claude Code skills documentation · preview-enabled · preview: the catalog's Claude Code Agent Skills core row remains qualified as beta · 1 source</small> |
| [Agent Skills references and assets](/features/skill-references-assets.md)<br><small>Resolve supporting reference files, templates, and assets from a skill package.</small> | Supported<br><small>dated-documentation: current Cursor Agent Skills documentation · local-default · 1 source</small> | Partial<br><small>dated-documentation: current Claude Code skills documentation · preview-enabled · preview: the catalog's Claude Code Agent Skills core row remains qualified as beta · 1 source</small> |
| [Agent Skills scripts](/features/skill-scripts.md)<br><small>Resolve and execute optional scripts included with an Agent Skill under explicit runtime policy.</small> | Supported<br><small>dated-documentation: current Cursor Agent Skills documentation · local-default · policy: actual execution depends on the agent's tool permissions and available language runtime · 1 source</small> | Partial<br><small>dated-documentation: current Claude Code skills documentation · preview-enabled · preview: the catalog's Claude Code Agent Skills core row remains qualified as beta · policy: script execution remains governed by the active tool permissions and workspace trust · 1 source</small> |
| [AGENTS.md root instructions](/features/agents-md.md)<br><small>Discover and apply the cross-agent AGENTS.md convention at repository scope.</small> | Supported<br><small>dated-documentation: current Cursor Rules documentation · local-default · host-role: claim is scoped to Cursor Agent in the desktop workbench · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Artifact export](/features/artifact-export.md)<br><small>Download generated files and other documented outputs.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Audio file input](/features/audio-file-input.md)<br><small>Upload recorded audio for use as model input.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Audit logs](/features/audit-logs.md)<br><small>Record security-relevant activity in an administrative audit log.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Automatic context compaction](/features/automatic-context-compaction.md)<br><small>Continue long sessions by automatically summarizing or pruning older context.</small> | Supported<br><small>dated-documentation: current Cursor chat-summarization documentation · local-default · runtime: Cursor summarizes older messages as chats exceed the model context window and separately condenses oversized files and folders · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code documentation · local-default · runtime: auto-compaction summarizes history when approaching context limits; retained-state reliability still requires boundary testing · 1 source</small> |
| [Background agents](/features/background-agents.md)<br><small>Keep a run going after the operator leaves the session.</small> | Partial<br><small>dated-documentation: current Cursor Cloud Agents documentation · hosted-default · runtime: Cursor Desktop starts a separate Cloud Agent VM; the default local desktop agent is not itself detached · plan: a paid Cursor plan and connected source-control account are required · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Browser automation](/features/browser-automation.md)<br><small>Control a browser for navigation, clicks, forms, and page reading.</small> | Supported<br><small>dated-documentation: current Cursor browser-tools documentation · local-default · runtime: automation is scoped to Cursor's integrated browser rather than arbitrary desktop applications · policy: enterprise MCP origin policy can restrict browser access · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Code execution](/features/code-execution.md)<br><small>Run generated code in a documented execution environment.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Collaboration](/features/collaboration-and-portability.md)<br><small>Group sharing, shared workspace, access-control, and export questions.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Computer use](/features/computer-use.md)<br><small>Inspect and act on a visual interface through screenshots and input actions.</small> | Partial<br><small>dated-documentation: current Cursor browser documentation · local-default · runtime: integrated browser only · policy: enterprise MCP origin policy can restrict access · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Concurrent subagents](/features/subagent-concurrency.md)<br><small>Run multiple child-agent tasks concurrently with explicit queue and fan-out limits.</small> | Supported<br><small>dated-documentation: current Cursor subagent documentation · local-default · runtime: multiple Task calls can start simultaneously; shared-checkout writers can collide unless worktree or cloud isolation is requested · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code parallel-agent documentation · local-default · runtime: running several subagents at once multiplies token use and shares the account's rate limits · 2 sources</small> |
| [Connectors](/features/connectors.md)<br><small>Connect to external services authorized by the user or organization.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Context compaction controls](/features/context-compaction-controls.md)<br><small>Trigger, inspect, configure, or disable context compaction.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code documentation · local-default · runtime: /compact can include task-specific preservation instructions; CLAUDE.md can define reusable compact guidance · 1 source</small> |
| [Context usage](/features/context-usage-visibility.md)<br><small>Inspect consumed or remaining context budget during a conversation or run.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code documentation · local-default · runtime: /usage and status-line fields expose token usage; /context identifies major context consumers such as MCP definitions · 1 source</small> |
| [Context window](/features/context-window.md)<br><small>Record the documented context-window limit by product, model, and mode.</small> | Supported<br><small>dated-documentation: current Cursor models documentation · local-default · runtime: normal mode uses 200k tokens; Max Mode extends to the selected model's maximum, with some supported models reaching 1M · plan: Max Mode availability and billing depend on plan and model · 1 source</small> | Partial<br><small>dated-documentation: current Claude Code documentation · local-default · plan: Opus with 1M context is included on Max, Team, and Enterprise; Pro requires usage credits, and Sonnet 1M requires credits on subscription plans · runtime: the [1m] model suffix selects an eligible 1M variant; effective input remains lower after system, tools, history, and output reservations · 1 source</small> |
| [Conversation export](/features/conversation-export.md)<br><small>Export conversation history in a documented format.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor chat-history documentation observation · local-default · runtime: local Agent chats can be exported as Markdown · runtime: 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 · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Conversation sharing](/features/conversation-sharing.md)<br><small>Share a conversation through a documented link or invitation.</small> | Partial<br><small>hosted-observation: 2026-08-28 Cursor Background Agent sharing documentation observation · hosted-default · runtime: web and mobile Background Agent runs can be shared by link for teammate diff review and feedback · policy: recipient roles, account or team restrictions, expiration, revocation, and full transcript visibility are not established by the reviewed page · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Custom instructions](/features/custom-instructions.md)<br><small>Persist instructions at user or project scope.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Data residency](/features/data-residency.md)<br><small>Select or document geographic storage or processing regions.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor Enterprise residency documentation observation · enterprise-managed · plan: US-only residency is enabled per Enterprise team through the account team; EU and Iceland inference-only coverage is available on request · policy: supported US-only coverage includes model inference, content-processing pipelines, customer-data storage and backups, Cloud Agents, Tab, editing, autocomplete, and semantic search · runtime: 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 · 1 source</small> | Partial<br><small>hosted-observation: 2026-08-28 Claude Code inference-location documentation observation · enterprise-managed · plan: the usage-based Enterprise US-only inference setting explicitly applies to Claude Code signed into that organization · policy: the setting constrains inference to the US but does not establish local-only execution or multiple selectable storage regions · runtime: connectors, support, analytics, storage, local files, and other non-inference processing have separate location boundaries · 2 sources</small> |
| [Data retention controls](/features/data-retention-controls.md)<br><small>Configure or document retention and deletion for covered product data.</small> | Partial<br><small>hosted-observation: 2026-08-28 Cursor privacy documentation observation · local-default · policy: Privacy Mode uses ZDR agreements with model providers; encrypted file-content caches are temporary and their server-side keys exist only for the request · runtime: codebase indexing may persist embeddings and metadata, and abuse-triggered data may follow provider investigation retention · policy: user-configurable retention periods, backup expiry, and verified deletion completion are not established by the reviewed page · 1 source</small> | Partial<br><small>hosted-observation: 2026-08-28 Claude Code documentation observation · local-default · plan: 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 · runtime: local plaintext session transcripts are kept for 30 days by default and can be adjusted with cleanupPeriodDays · policy: feedback submissions, safety processing, remote sessions, cloud providers, and local artifacts have separate paths and retention rules · 1 source</small> |
| [Diffs and patches](/features/diffs-and-patches.md)<br><small>Propose or apply file changes as diffs or patches.</small> | Supported<br><small>dated-documentation: current Cursor diff-review documentation · local-default · host-role: claim is scoped to Cursor Agent in the desktop workbench · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Document input](/features/office-document-input.md)<br><small>Upload common document formats for use as model input.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Encryption key management](/features/encryption-key-controls.md)<br><small>Record documented encryption key ownership, scope, rotation, and revocation.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor CMEK documentation observation · enterprise-managed · plan: Enterprise customers contact sales to enable CMEK · policy: embeddings and Cloud Agent data stored in Cursor infrastructure are encrypted with the customer key, and the customer controls key rotation and access · runtime: the reviewed page does not establish CMEK coverage for every prompt, model-provider request, external integration, shared link, or local artifact · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [File and media inputs](/features/file-inputs.md)<br><small>Group common file type, media input, and upload-limit questions.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [File upload limits](/features/upload-limits.md)<br><small>Record numeric attachment size, count, page, duration, storage, and rolling quotas.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code error documentation · local-default · runtime: 30 MB maximum request-size boundary; attached PDFs are limited to 100 pages and 32 MB · runtime: one image can be up to 8,000 pixels on its longest edge, or 2,000 pixels when many images are in context · policy: rolling usage, project storage, and remaining quota are not documented by the reviewed page · 1 source</small> |
| [Human approval](/features/human-approval.md)<br><small>Pause before a tool action or file change until a person confirms.</small> | Supported<br><small>dated-documentation: current Cursor documentation · local-default · policy: ordinary workspace-file edits do not prompt; terminal, MCP, configuration-file, and sensitive actions do unless pre-approved or another run mode applies · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code documentation · local-default · policy: prompts depend on permission mode and rules; acceptEdits, auto, dontAsk, and bypassPermissions reduce or remove routine prompts · 1 source</small> |
| [Image input](/features/image-input.md)<br><small>Attach, paste, or select an image for use as model input.</small> | Supported<br><small>dated-documentation: current Cursor Agent documentation · local-default · runtime: PNG, JPEG, GIF, WebP, and SVG files enter conversation context when the selected model is vision-capable · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code workflow documentation · local-default · runtime: 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 · runtime: multiple images, diagrams, screenshots, and mockups are documented; accepted formats and complete model-specific limits are not listed on the workflow page · 1 source</small> |
| [Local models](/features/local-models.md)<br><small>Run against a model hosted on the operator's machine.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Long-term memory](/features/long-term-memory.md)<br><small>Persist notes across sessions.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP Apps](/features/mcp-apps.md)<br><small>Render an interactive interface returned by an MCP server inside the product.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP cancellation](/features/mcp-cancellation.md)<br><small>Cancel an in-flight MCP request and handle cancellation correctly.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP client role](/features/mcp-client-role.md)<br><small>Consume capabilities exposed by MCP servers.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · policy: configured server enablement, tool approval, enterprise allowlists, and server health determine which capabilities are available · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · policy: configured server scope, enterprise managed configuration, tool permissions, and server health determine which MCP capabilities are available in a session · 1 source</small> |
| [MCP elicitation](/features/mcp-elicitation.md)<br><small>Handle structured user-input requests initiated by an MCP server.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · runtime: the documentation confirms elicitation generally but does not enumerate form-mode, URL-mode, or automation-hook behavior · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · policy: an Elicitation hook may be configured to auto-respond instead of showing the interactive dialog · 1 source</small> |
| [MCP legacy HTTP and SSE](/features/mcp-legacy-sse.md)<br><small>Connect through the superseded HTTP plus SSE transport when migration compatibility is required.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · transport: SSE remains supported for compatibility, while Cursor separately documents Streamable HTTP for current HTTP endpoints · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · transport: SSE is retained for legacy compatibility; Anthropic recommends the HTTP transport where the server supports it · 1 source</small> |
| [MCP list-changed notifications](/features/mcp-list-changed.md)<br><small>Refresh capability lists when a server announces dynamic changes.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · 1 source</small> |
| [MCP logging](/features/mcp-logging.md)<br><small>Receive structured log messages emitted by an MCP server.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP OAuth authorization](/features/mcp-oauth.md)<br><small>Complete the MCP authorization flow for protected remote servers.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · auth: remote servers may use dynamic registration or configured static credentials, and redirect URLs differ between web/agents and desktop surfaces · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · auth: OAuth applies to HTTP servers and requires a server-compatible redirect and client-registration flow · 1 source</small> |
| [MCP progress notifications](/features/mcp-progress.md)<br><small>Receive progress updates for long-running requests.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP prompt-list notifications](/features/mcp-prompts-list-changed.md)<br><small>Refresh prompt templates after a server announces changes.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · 1 source</small> |
| [MCP prompts](/features/mcp-prompts.md)<br><small>Invoke reusable MCP prompt templates.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · runtime: available templates and their arguments depend on prompts exposed by the connected server · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · runtime: commands appear only for prompts exposed by connected and healthy MCP servers · 1 source</small> |
| [MCP Registry metadata](/features/mcp-registry.md)<br><small>Discover MCP servers and metadata through the official registry model.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP resource subscriptions](/features/mcp-resource-subscriptions.md)<br><small>Subscribe to resource changes and receive update notifications.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP resources](/features/mcp-resources.md)<br><small>Read MCP resources as live context.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · runtime: exact resource availability, URI schemes, and media types depend on the connected server · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · runtime: resource availability and media types depend on the connected server · 1 source</small> |
| [MCP revision compatibility](/features/mcp-revision.md)<br><small>Implement or negotiate the exact dated MCP revision.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP roots](/features/mcp-roots.md)<br><small>Provide filesystem or workspace roots to an MCP server.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · runtime: the documentation confirms the capability but does not enumerate Cursor's root selection or change-notification policy · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · runtime: the documented root is the directory Claude Code was launched from · 1 source</small> |
| [MCP sampling](/features/mcp-sampling.md)<br><small>Handle server requests for model sampling through the client.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP server instructions](/features/mcp-server-instructions.md)<br><small>Consume server-provided instructions during initialization.</small> | Unknown<br><small>no attached public evidence</small> | Partial<br><small>dated-documentation: current Claude Code MCP documentation · local-default · runtime: 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 · 1 source</small> |
| [MCP server role](/features/mcp-server-role.md)<br><small>Expose capabilities from the harness as an MCP server.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · host-role: the consuming MCP client is responsible for user confirmation around the exposed Claude Code tool calls · 1 source</small> |
| [MCP stdio transport](/features/mcp-stdio.md)<br><small>Connect to a local MCP server over standard input and output.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · transport: Cursor launches the configured local command; executable availability, environment, workspace trust, and enterprise policy can prevent connection · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · transport: server command, arguments, environment, and configuration scope are supplied by the operator or administrator · 1 source</small> |
| [MCP Streamable HTTP](/features/mcp-streamable-http.md)<br><small>Connect to an MCP server over the current Streamable HTTP transport.</small> | Supported<br><small>dated-documentation: current Cursor MCP documentation observed 2026-08-28 · local-default · transport: the configured HTTP endpoint must be reachable and may be restricted by authentication, enterprise MCP policy, and URL/network allowlists · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code MCP documentation · local-default · transport: the remote server must be reachable from the Claude Code host and may require headers or OAuth · 1 source</small> |
| [MCP task listing](/features/mcp-task-listing.md)<br><small>List and page through tasks exposed by the task utility.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP tasks](/features/mcp-tasks.md)<br><small>Create, inspect, and manage long-running MCP tasks.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [MCP tools](/features/mcp-tools.md)<br><small>Invoke operations exposed by a Model Context Protocol server.</small> | Supported<br><small>dated-documentation: current Cursor documentation · local-default · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code CLI documentation · local-default · 1 source</small> |
| [Model Context Protocol](/features/mcp.md)<br><small>Track tools, prompts, resources, and interactive apps as independent parts of MCP.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Model fallback](/features/model-fallback.md)<br><small>Switch to another model after a documented failure condition.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Model selection](/features/model-selection.md)<br><small>Choose the model or documented model class used for a run.</small> | Supported<br><small>dated-documentation: current Cursor model-selection documentation · local-default · plan: selectable model inventory, pricing, and Max Mode availability depend on the current Cursor plan and provider availability · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code documentation · local-default · runtime: supports /model, --model, ANTHROPIC_MODEL, and persistent model settings with documented precedence · 1 source</small> |
| [Models and context](/features/models-and-context.md)<br><small>Track model access and the full lifecycle of input, output, compaction, and cached context.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Multi-file edit](/features/multi-file-edit.md)<br><small>Edit multiple files during one task.</small> | Supported<br><small>dated-documentation: current Cursor Agent mode documentation · local-default · host-role: claim is scoped to Cursor Agent in the desktop workbench · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code workflow documentation · local-default · policy: coordinated multi-file editing is documented, but whether edits are approved individually or reviewed after the fact depends on the active permission mode · 1 source</small> |
| [Native plugin system](/features/native-plugins.md)<br><small>Install and load a product-specific extension package.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Nested AGENTS.md instructions](/features/nested-agents-md.md)<br><small>Apply nested AGENTS.md files with directory-sensitive precedence.</small> | Supported<br><small>dated-documentation: current Cursor Rules documentation · local-default · host-role: claim is scoped to Cursor Agent in the desktop workbench · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Nested subagents](/features/nested-subagents.md)<br><small>Allow a child agent to delegate further work to another child agent.</small> | Unknown<br><small>no attached public evidence</small> | Unsupported<br><small>dated-documentation: current Claude Code subagent documentation · local-default · runtime: the restriction applies to Claude Code subagents; separate agent-team teammates and independently dispatched sessions use different orchestration models · 1 source</small> |
| [Offline operation](/features/local-only-mode.md)<br><small>Run a documented workflow without a required network connection.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Organization policy controls](/features/admin-policy-controls.md)<br><small>Centrally configure and enforce product settings for an organization.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>hosted-observation: 2026-08-28 Claude Code managed settings observation · enterprise-managed · policy: admin settings override user, project, local, and --settings values and can govern permissions, models, MCP servers, marketplaces, sandboxing, login, telemetry, and minimum versions · transport: policy can be delivered by server-managed settings, MDM or OS policy, managed files, or a restricted Windows user-policy fallback · runtime: source selection and optional merging have documented precedence, version gates, stricter-lower-level exceptions, refresh intervals, and /status verification · 1 source</small> |
| [Output token limit](/features/output-token-limit.md)<br><small>Record the maximum generated response budget by exact model and harness mode.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [PDF input](/features/pdf-documents.md)<br><small>Upload a PDF for use as model input.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code error documentation · local-default · runtime: attached PDFs are supported up to 100 pages and 32 MB · policy: password-protected and invalid PDFs are rejected; complete OCR, form, annotation, and embedded-media fidelity is not established · 1 source</small> |
| [Per-subagent model selection](/features/subagent-model-selection.md)<br><small>Choose or constrain each child agent's model independently of the parent.</small> | Supported<br><small>dated-documentation: current Cursor subagent documentation · local-default · plan: team policy, plan eligibility, or legacy Max Mode requirements may override an explicit child model · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code subagent documentation · local-default · runtime: available model aliases and effort levels depend on the account and current model catalog · 1 source</small> |
| [Persistent instructions](/features/instructions.md)<br><small>Track portable and product-native instruction discovery independently.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Plans and pricing](/features/plan-pricing-disclosure.md)<br><small>Compare documented plan, seat, included-usage, credit, and overage pricing by exact product.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor pricing observation · local-default · plan: 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 · policy: every plan includes model usage; optional on-demand use is billed in arrears, taxes are excluded, and invoice or wire payment requires Enterprise · 1 source</small> | Supported<br><small>hosted-observation: 2026-08-28 Claude Code pricing observation · local-default · plan: Claude Code is included with Pro, Max, Team, and Enterprise paths; Team standard and premium seats and Enterprise seat-plus-usage pricing are published · auth: API and third-party provider authentication follow separate per-token or cloud-provider billing rather than Claude subscription entitlements · 1 source</small> |
| [Plugin marketplace](/features/plugin-marketplace.md)<br><small>Discover and install extensions through a documented registry or marketplace.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Plugin systems](/features/plugins.md)<br><small>Track portable and product-native extension capabilities independently.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Plugin vendor extensions](/features/plugin-vendor-extensions.md)<br><small>Preserve namespaced host-specific behavior without representing it as portable core support.</small> | Unknown<br><small>no attached public evidence</small> | Partial<br><small>dated-documentation: current Claude Code plugins reference · local-default · vendor-extension: 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 · 1 source</small> |
| [Pricing, usage, and limits](/features/usage-and-reliability.md)<br><small>Group common pricing, usage, quota, rate-limit, and session-resume questions.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Project rules](/features/native-rules.md)<br><small>Load persistent or path-scoped instructions from a documented product rule format.</small> | Supported<br><small>dated-documentation: current Cursor Rules documentation · local-default · host-role: claim is scoped to Cursor Agent in the desktop workbench · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code memory documentation · local-default · 1 source</small> |
| [Project-scoped Agent Skills](/features/skill-project-scope.md)<br><small>Discover skills installed for a repository or workspace.</small> | Supported<br><small>dated-documentation: current Cursor Agent Skills documentation · local-default · 1 source</small> | Partial<br><small>dated-documentation: current Claude Code skills documentation · preview-enabled · preview: the catalog's Claude Code Agent Skills core row remains qualified as beta · 1 source</small> |
| [Prompt cache controls](/features/prompt-cache-controls.md)<br><small>Mark, retain, refresh, or invalidate cached prompt context.</small> | Unknown<br><small>no attached public evidence</small> | Partial<br><small>dated-documentation: current Claude Code documentation · local-default · runtime: DISABLE_PROMPT_CACHING and per-model variants disable caching; TTL variables select documented retention behavior where supported · policy: Claude Code manages prefix breakpoints automatically and does not expose arbitrary per-message breakpoint authoring in the reviewed harness documentation · 1 source</small> |
| [Prompt cache telemetry](/features/prompt-cache-telemetry.md)<br><small>Inspect cache hits, misses, token counts, latency, or billing effects.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code documentation · local-default · runtime: current_usage exposes cache_creation_input_tokens and cache_read_input_tokens; OpenTelemetry reports cache read and creation tokens per request, user, and session · 2 sources</small> |
| [Prompt caching](/features/prompt-cache-reuse.md)<br><small>Reuse eligible repeated prompt content under documented caching behavior.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code documentation · local-default · runtime: automatic exact-prefix caching covers stable request layers; switching models, reconnecting MCP servers, compaction, and upgrades can invalidate all or part of the prefix · policy: cache infrastructure and retention depend on the authentication and serving provider · 1 source</small> |
| [Pull request integration](/features/git-pull-requests.md)<br><small>Open or review pull requests through a documented integration.</small> | Supported<br><small>dated-documentation: current Cursor Cloud Agent documentation · hosted-default · auth: Cloud Agent pull requests require an authorized repository and run on Cursor's hosted VM environment · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code command documentation · local-default · runtime: 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 · 1 source</small> |
| [Rate limits and quotas](/features/rate-limit-disclosure.md)<br><small>Record documented product usage limits and reset periods.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor documentation observation · local-default · plan: usage is split into two monthly pools; remaining allowance, on-demand charges, and reset date are visible in the Spending dashboard · runtime: unused usage does not roll over; at the boundary the editor offers on-demand usage or a plan upgrade · policy: numeric included allowances and the complete request, token, upload, tool, and agent-concurrency envelope are not established by the reviewed page · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Realtime voice](/features/realtime-voice.md)<br><small>Speak and listen over a live audio session.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Reasoning effort controls](/features/reasoning-effort-controls.md)<br><small>Choose a documented reasoning depth, effort, or budget for a run.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code documentation · local-default · runtime: low, medium, high, xhigh, and max are documented where supported; ultrathink requests deeper reasoning for one turn · 1 source</small> |
| [Role-based access control (RBAC)](/features/role-based-access.md)<br><small>Assign and enforce permissions through documented roles.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor RBAC documentation observation · enterprise-managed · policy: team Member, Admin, and Unpaid Admin roles separate product use from team and security administration · plan: Enterprise organization groups can map directory or manually managed cohorts to teams with Member or Admin roles and attach model and agent controls · runtime: roles are built in rather than arbitrary custom permission bundles, and group settings commonly use a most-permissive merge · 2 sources</small> | Unknown<br><small>no attached public evidence</small> |
| [Sandbox network access](/features/sandbox-network.md)<br><small>Allow, deny, or restrict outbound network access from a tool sandbox.</small> | Partial<br><small>dated-documentation: current Cursor Cloud Agent security documentation · hosted-default · runtime: 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 · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Scheduled runs](/features/scheduled-runs.md)<br><small>Start a task on a schedule without a new human prompt.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor Cloud Agent documentation observation · hosted-default · runtime: Automations create billable Cloud Agents; repository access and optional tools must be configured for each automation · runtime: conversation timer subscriptions last at most 180 days · 2 sources</small> | Supported<br><small>dated-documentation: current Claude Code scheduling documentation · local-default · runtime: session-scoped tasks fire only while Claude Code is running and idle and recurring tasks expire after seven days · preview: durable cloud Routines created with /schedule are research preview, require Claude Code on the web, and have account and organization availability constraints · 2 sources</small> |
| [Screenshots](/features/screenshots.md)<br><small>Capture a screen, window, or browser page for use as model input.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Secrets management](/features/secrets-management.md)<br><small>Store and provide credentials through a documented secrets feature.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor Background Agent secrets documentation observation · hosted-default · runtime: development-environment secrets are stored encrypted at rest using KMS and injected into the remote Background Agent environment · policy: per-tool access controls, log masking, rotation, and prevention of model or shell access to injected values are not established by the reviewed page · 1 source</small> | Unknown<br><small>no attached public evidence</small> |
| [Security and privacy](/features/data-security-controls.md)<br><small>Group common security, privacy, and organization-control questions.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Session resume](/features/resumable-runs.md)<br><small>Continue a previously saved product session.</small> | Supported<br><small>dated-documentation: current Cursor Agent CLI usage documentation · local-default · runtime: Agent CLI can resume the most recent chat or a selected thread; cloud-agent persistence and retention are separate hosted behaviors · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code session-management documentation · local-default · runtime: sessions are stored per project directory as local transcripts; print-mode sessions require their session ID and retention is configurable · 1 source</small> |
| [Shared projects](/features/shared-projects.md)<br><small>Share a product-defined project workspace with other people.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Streaming output](/features/streaming-output.md)<br><small>Show text or tool events as they arrive during a run.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Structured outputs](/features/structured-output.md)<br><small>Return JSON or schema-constrained output through a documented product feature.</small> | Supported<br><small>dated-documentation: current Cursor Agent CLI output-format documentation · local-default · runtime: JSON and stream-json formats apply to Agent CLI print mode; this evidence does not establish caller-supplied JSON Schema conformance · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code CLI reference · local-default · runtime: caller-supplied JSON Schema validation is available in print mode through --json-schema; JSON and stream-json envelopes are available through --output-format · 1 source</small> |
| [Subagent context](/features/subagent-context-isolation.md)<br><small>Define which conversation, instructions, files, memory, and tools a child receives.</small> | Supported<br><small>dated-documentation: current Cursor subagent documentation · local-default · runtime: 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 · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code subagent documentation · local-default · runtime: the child has a separate model context but normally shares the parent process's project files and environment unless worktree isolation is configured · 1 source</small> |
| [Subagent delegation](/features/subagent-delegation.md)<br><small>Delegate a bounded task to another agent process.</small> | Supported<br><small>dated-documentation: current Cursor subagent documentation · local-default · runtime: applies to Cursor editor, CLI, and Cloud Agents; named subagents can be invoked with /name or natural language · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code subagent documentation · local-default · 1 source</small> |
| [Subagent management](/features/subagent-lifecycle-controls.md)<br><small>List, inspect, and control child-agent tasks.</small> | Unknown<br><small>no attached public evidence</small> | Partial<br><small>dated-documentation: current Claude Code subagent and parallel-agent documentation · local-default · runtime: list, inspect, background, attach, stop, resume, and maximum-turn controls are documented; a general pause operation and explicit retry contract are not established · 2 sources</small> |
| [Subagent MCP access](/features/subagent-mcp-access.md)<br><small>Allow a child agent to use MCP tools or declare its own MCP servers.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code subagent documentation · local-default · runtime: plugin-provided subagents ignore the `mcpServers` frontmatter field for security; project, user, managed, and CLI-defined subagents can use it · 1 source</small> |
| [Subagent permissions](/features/subagent-approval-boundaries.md)<br><small>Control child-agent tools, inherited permissions, and approval behavior.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code subagent documentation · local-default · policy: parent `bypassPermissions`, `acceptEdits`, or auto mode can take precedence over a child definition; background subagents auto-deny actions that would require a new prompt · 1 source</small> |
| [Subagent results](/features/subagent-result-handoff.md)<br><small>Return a child agent's findings or work to the parent.</small> | Supported<br><small>dated-documentation: current Cursor subagent documentation · local-default · runtime: a final message and child branch changes remain available, but no typed artifact, citation, status, or error schema is documented · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code subagent documentation · local-default · runtime: 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 · 1 source</small> |
| [Subagent write access](/features/subagent-write-access.md)<br><small>Allow a child agent to create or modify project files.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code subagent documentation · local-default · policy: actual writes depend on the subagent's tools, permission mode, inherited parent permissions, and optional worktree isolation · 1 source</small> |
| [Subagents](/features/subagents.md)<br><small>Track child-agent execution, isolation, permissions, supervision, and handoff independently.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Terminal commands](/features/terminal.md)<br><small>Propose or execute shell commands in a project environment.</small> | Supported<br><small>dated-documentation: current Cursor documentation · local-default · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code CLI documentation · local-default · 1 source</small> |
| [Training data controls](/features/training-data-controls.md)<br><small>Control or document model-training and service-improvement use of product content.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor privacy documentation observation · local-default · policy: 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 · policy: safety classifiers and triggered abuse investigations are exceptions; turning Privacy Mode off permits broader storage, improvement, and model-training use · 1 source</small> | Supported<br><small>hosted-observation: 2026-08-28 Claude Code documentation observation · local-default · plan: 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 · policy: /feedback, /bug, /share, optional transcript surveys, and customer opt-in programs have separate documented retention and improvement rules · 1 source</small> |
| [Usage metering](/features/usage-metering.md)<br><small>Inspect documented product usage such as requests, tokens, or cost.</small> | Supported<br><small>hosted-observation: 2026-08-28 Cursor documentation observation · local-default · runtime: Spending dashboard shows real-time use, remaining allowance, on-demand charges, reset date, and request-level cost and pool details · plan: Cursor Models and third-party Other Models draw from separate monthly pools; Auto requests are charged at the routed model's list price · policy: portable telemetry export and separate tool, compute, storage, and subagent consumption are not established by the reviewed page · 1 source</small> | Supported<br><small>hosted-observation: 2026-08-28 Claude Code documentation observation · local-default · runtime: /usage shows session tokens by model, cache reads and writes, duration, code changes, and locally estimated cost; /clear resets session totals · plan: Pro, Max, Team, and Enterprise add plan-usage bars and approximate local attribution across skills, subagents, plugins, MCP servers, and scheduled tasks · policy: session cost is an estimate unless organization pricing is configured; authoritative billing remains in the applicable console or provider · 1 source</small> |
| [User-scoped Agent Skills](/features/skill-user-scope.md)<br><small>Discover personal or global skills outside the current project.</small> | Supported<br><small>dated-documentation: current Cursor Agent Skills documentation · local-default · runtime: 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 · 1 source</small> | Partial<br><small>dated-documentation: current Claude Code skills documentation · preview-enabled · preview: the catalog's Claude Code Agent Skills core row remains qualified as beta · 1 source</small> |
| [Video input](/features/video-input.md)<br><small>Upload or select a video for use as model input.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Web fetch](/features/web-fetch.md)<br><small>Retrieve live web pages or APIs during a run.</small> | Unknown<br><small>no attached public evidence</small> | Supported<br><small>dated-documentation: current Claude Code tools reference · local-default · policy: WebFetch requires permission and is subject to configured allow and deny rules plus Anthropic's hostname safety check · 1 source</small> |
| [WebMCP](/features/webmcp.md)<br><small>Expose website functionality as structured tools through a browser-mediated agent boundary.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [WebMCP declarative form tools](/features/webmcp-declarative-tools.md)<br><small>Expose semantic HTML forms as structured tools through WebMCP annotations.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [WebMCP execution cancellation](/features/webmcp-cancellation.md)<br><small>Cancel pending tool registration or execution through abort signals and lifecycle rules.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [WebMCP imperative tools](/features/webmcp-imperative-tools.md)<br><small>Register JavaScript-backed tools through document.modelContext.registerTool().</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [WebMCP permissions policy](/features/webmcp-permissions-policy.md)<br><small>Gate tool exposure across documents and origins through the tools permissions policy.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [WebMCP security annotations](/features/webmcp-security-annotations.md)<br><small>Communicate read-only and untrusted-content hints across the site-to-agent boundary.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [WebMCP tool discovery](/features/webmcp-tool-discovery.md)<br><small>Expose the active page tool list and schemas to a WebMCP-aware agent.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [WebMCP tool execution](/features/webmcp-tool-execution.md)<br><small>Invoke a page tool with structured arguments and return its result to the agent.</small> | Unknown<br><small>no attached public evidence</small> | Unknown<br><small>no attached public evidence</small> |
| [Workspace files](/features/workspace-files.md)<br><small>Read or edit files inside a user-selected project.</small> | Supported<br><small>dated-documentation: current Cursor documentation · local-default · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code CLI documentation · local-default · 1 source</small> |
| [Workspace search](/features/workspace-search.md)<br><small>Search file names, text, or symbols across a workspace.</small> | Supported<br><small>dated-documentation: current Cursor Agent tools documentation · local-default · host-role: claim is scoped to Cursor Agent in the desktop workbench · 1 source</small> | Supported<br><small>dated-documentation: current Claude Code tools documentation · local-default · 2 sources</small> |

Use the linked capability records for targets, constraints, dates, and evidence.
