---
title: "op. diagnostics"
description: "Owner: the platform spec (defs/platform.ts). The status is the code's own; the exit comes from its category (CATEGORIES). A warning or info code never sets the status or the exit."
order: 32
---

# `op.*` diagnostics

Owner: the platform spec (`defs/platform.ts`). The status is the code's own; the exit comes from its category (`CATEGORIES`). A warning or info code never sets the status or the exit.

| Code | Category | Severity | Status | Exit | Retry | Fix | Args |
|---|---|---|---|---|---|---|---|
| <a id="op.dry_unsupported"></a>`op.dry_unsupported` | input | error | 400 | 2 | no | — | `op` |
| <a id="op.input_invalid"></a>`op.input_invalid` | input | error | 400 | 2 | no | — | `path`, `expected` |
| <a id="op.input_not_json"></a>`op.input_not_json` | input | error | 400 | 2 | no | — | — |
| <a id="op.method_not_allowed"></a>`op.method_not_allowed` | input | error | 405 | 2 | no | — | `method`, `allowed` |
| <a id="op.name_collision"></a>`op.name_collision` | schema | error | 400 | 2 | no | — | `a`, `b`, `projected` |
| <a id="op.option_ignored"></a>`op.option_ignored` | input | warning | — | 2 | no | — | `option`, `op` |
| <a id="op.output_invalid"></a>`op.output_invalid` | platform | error | 500 | 1 | no | — | `op`, `path` |
| <a id="op.output_too_large"></a>`op.output_too_large` | platform | error | 500 | 1 | no | — | `op`, `bytes`, `max` |
| <a id="op.scope_mismatch"></a>`op.scope_mismatch` | input | error | 400 | 2 | no | — | `op`, `scope` |
| <a id="op.unknown"></a>`op.unknown` | not_found | error | 404 | 3 | no | yes | `name`, `near` |
