---
title: "Structured outputs"
canonical: "https://canmyagentuse.com/features/structured-output"
contentKind: "feature"
locale: "en"
description: "Return JSON or schema-constrained output through a documented product feature."
llmSummary: "Structured outputs are documented JSON or schema-constrained product outputs; unreviewed harness cells remain unknown."
publishedAt: "2026-08-28T00:00:00.000Z"
updatedAt: "2026-08-28T00:00:00.000Z"
verifiedAt: "2026-08-28"
tags: ["interfaces"]
---

# Structured outputs

Structured outputs are documented JSON or schema-constrained product outputs; unreviewed harness cells remain unknown.

- HTML: https://canmyagentuse.com/features/structured-output
- JSON: https://canmyagentuse.com/api/v1/features/structured-output.json
- Markdown: https://canmyagentuse.com/features/structured-output.md

Terminology basis: **Common product term** — https://developers.openai.com/api/docs/guides/structured-outputs.

## Current support at a glance

Structured outputs: 4 supported, 0 partial, 0 unsupported, 27 unreviewed across 31 cataloged products.

- Reviewed current products: 4 of 31
- Supported: 4
- Partial: 0
- Unsupported: 0
- Unreviewed: 27
- Not applicable: 0

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

Return JSON or schema-constrained output through a documented product feature.

The matrix below lists published **web**, **desktop**, and **CLI** surfaces. Unreviewed cells remain **unknown** until a dated note and public source support a more specific status.

Use the Markdown and JSON twins if you are an agent reading this site.

## Catalog context

- Category: [interfaces](/categories/interfaces.md)
- Terminology basis: Common product term
- Aliases: None

## Compatibility assertions

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

### ChatGPT (web)

- Harness: [ChatGPT](/harnesses/chatgpt-web.md)
- current: **Unknown**
- preview: **Unknown**

### Claude (web)

- Harness: [Claude](/harnesses/claude-web.md)
- current: **Unknown**
- preview: **Unknown**

### Gemini (web)

- Harness: [Gemini](/harnesses/gemini-web.md)
- current: **Unknown**
- preview: **Unknown**

### Copilot (web)

- Harness: [Copilot](/harnesses/copilot-web.md)
- current: **Unknown**
- preview: **Unknown**

### Grok (web)

- Harness: [Grok](/harnesses/grok-web.md)
- current: **Unknown**
- preview: **Unknown**

### Grok Bot (desktop)

- Harness: [Grok Bot](/harnesses/grok-bot-desktop.md)
- current: **Unknown**

### Perplexity (web)

- Harness: [Perplexity](/harnesses/perplexity-web.md)
- current: **Unknown**
- preview: **Unknown**

### Le Chat (web)

- Harness: [Le Chat](/harnesses/le-chat.md)
- current: **Unknown**
- preview: **Unknown**

### Devin (web)

- Harness: [Devin](/harnesses/devin-web.md)
- current: **Unknown**
- preview: **Unknown**

### Replit Agent (web)

- Harness: [Replit Agent](/harnesses/replit-agent.md)
- current: **Unknown**
- preview: **Unknown**

### ChatGPT (desktop)

- Harness: [ChatGPT](/harnesses/chatgpt-desktop.md)
- current: **Unknown**
- preview: **Unknown**

### Claude (desktop)

- Harness: [Claude](/harnesses/claude-desktop.md)
- current: **Unknown**
- preview: **Unknown**

### Cursor (desktop)

- Harness: [Cursor](/harnesses/cursor.md)
- current: **Supported**
  - Target: dated-documentation — current Cursor Agent CLI output-format documentation; observed 2026-08-28
  - Environment: local-default
  - Constraint (runtime): JSON and stream-json formats apply to Agent CLI print mode; this evidence does not establish caller-supplied JSON Schema conformance
  - Evidence: [Cursor — Agent CLI output format](https://docs.cursor.com/en/cli/reference/output-format) — documented; observed 2026-08-28
  - Qualification note 4: Evidence checked 2026-08-28: Cursor Agent CLI documents `json` and `stream-json` output formats for programmatic use in print mode.
- preview: **Unknown**

### OpenWork Desktop (desktop)

- Harness: [OpenWork Desktop](/harnesses/openwork-desktop.md)
- current: **Unknown**

### Copilot Chat (desktop)

- Harness: [Copilot Chat](/harnesses/vscode-copilot.md)
- current: **Unknown**
- preview: **Unknown**

### Chrome WebMCP origin trial (desktop)

- Harness: [Chrome WebMCP origin trial](/harnesses/chrome-webmcp-preview.md)
- current: **Unknown**

### Windsurf (desktop)

- Harness: [Windsurf](/harnesses/windsurf.md)
- current: **Unknown**
- preview: **Unknown**

### Zed Agent (desktop)

- Harness: [Zed Agent](/harnesses/zed-agent.md)
- current: **Unknown**
- preview: **Unknown**

### Continue (desktop)

- Harness: [Continue](/harnesses/continue.md)
- current: **Unknown**
- preview: **Unknown**

### Cline (desktop)

- Harness: [Cline](/harnesses/cline.md)
- current: **Unknown**
- preview: **Unknown**

### JetBrains AI (desktop)

- Harness: [JetBrains AI](/harnesses/jetbrains-ai.md)
- current: **Unknown**
- preview: **Unknown**

### Warp (desktop)

- Harness: [Warp](/harnesses/warp.md)
- current: **Unknown**
- preview: **Unknown**

### Claude CLI (cli)

- Harness: [Claude CLI](/harnesses/claude-cli.md)
- current: **Supported**
  - Target: dated-documentation — current Claude Code CLI reference; observed 2026-08-28
  - Environment: local-default
  - Constraint (runtime): caller-supplied JSON Schema validation is available in print mode through --json-schema; JSON and stream-json envelopes are available through --output-format
  - Evidence: [Anthropic — Claude Code CLI reference](https://code.claude.com/docs/en/cli-reference) — documented; observed 2026-08-28
  - Qualification note 2: 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.
- preview: **Unknown**

### ChatGPT CLI (cli)

- Harness: [ChatGPT CLI](/harnesses/chatgpt-cli.md)
- current: **Unknown**
- preview: **Unknown**

### Codex CLI (cli)

- Harness: [Codex CLI](/harnesses/codex-cli.md)
- current: **Unknown**
- preview: **Unknown**

### OpenCode (cli)

- Harness: [OpenCode](/harnesses/opencode.md)
- current: **Unknown**
- preview: **Unknown**

### Gemini CLI (cli)

- Harness: [Gemini CLI](/harnesses/gemini-cli.md)
- current: **Supported**
  - Target: dated-documentation — current Gemini CLI headless-mode documentation; observed 2026-08-28
  - Environment: local-default
  - Constraint (runtime): documented JSON output is a product-defined response and statistics envelope; this evidence does not establish caller-supplied JSON Schema conformance
  - Evidence: [Google — Gemini CLI headless mode reference](https://geminicli.com/docs/cli/headless/) — documented; observed 2026-08-28
  - Qualification note 3: Evidence checked 2026-08-28: Gemini CLI headless mode documents JSON and streaming JSON output with stable result, tool, error, and usage fields.
- preview: **Unknown**

### Aider (cli)

- Harness: [Aider](/harnesses/aider.md)
- current: **Unknown**
- preview: **Unknown**

### Goose (cli)

- Harness: [Goose](/harnesses/goose.md)
- current: **Unknown**
- preview: **Unknown**

### Copilot CLI (cli)

- Harness: [Copilot CLI](/harnesses/copilot-cli.md)
- current: **Supported**
  - Target: dated-documentation — current GitHub Copilot CLI command reference; observed 2026-08-28
  - Environment: local-default
  - Constraint (runtime): JSON output is a product-defined JSONL event envelope; this evidence does not establish caller-supplied JSON Schema conformance
  - Evidence: [GitHub — Copilot CLI command reference](https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference) — documented; observed 2026-08-28
  - Qualification note 5: Evidence checked 2026-08-28: GitHub Copilot CLI documents `--output-format=json` as JSONL with one JSON object per line for programmatic execution.
- preview: **Unknown**

### Amp (cli)

- Harness: [Amp](/harnesses/amp-cli.md)
- current: **Unknown**
- preview: **Unknown**
