Error reference changederrors
Nearest release: v2.1.250, published an hour before this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Recorded here
Lines+19added
Lines−0removed
From line
108
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits187to this page, all time
### Tool input schema is invalid
The whole hunk
from line 108, old and new numbered
/
This page is larger than the 256 KiB this site keeps, so one side of the diff below stops where the stored text does.
from line 108
108108| `Unable to resize image` | [Request errors](#unable-to-resize-image) |
109109| `PDF too large` / `PDF is password protected` | [Request errors](#pdf-errors) |
110110| `Extra inputs are not permitted` | [Request errors](#extra-inputs-are-not-permitted) |
111| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` | [Request errors](#tool-input-schema-is-invalid) |
111112| `There's an issue with the selected model` | [Request errors](#theres-an-issue-with-the-selected-model) |
112113| `Model ... is not a recognized model id` | [Request errors](#model-is-not-a-recognized-model-id) |
113114| `Claude Opus is not available with the Claude Pro plan` | [Request errors](#claude-opus-is-not-available-with-the-claude-pro-plan) |
from line 1534
15331534* Configure your gateway to forward the `anthropic-beta` header. See [feature pass-through](/docs/en/llm-gateway-protocol#feature-pass-through) for what gateways must forward.
15341535* As a fallback, set [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/en/env-vars) before launching. [Disable pre-release capabilities](/docs/en/llm-gateway-protocol#disable-pre-release-capabilities) covers the exact scope.
15351536
1537### Tool input schema is invalid
1538
1539A tool in the request declared an `input_schema` that fails the API's JSON Schema validation, so the API rejected the whole request. The number after `tools.` is the failing tool's position in the request's tool list, not a name you can look up.
1540
1541```text theme={null}
1542API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid
1543```
1544
1545Claude Code [excludes MCP tools whose input schema would fail this validation](/docs/en/mcp#tools-with-invalid-input-schemas) when it loads a server's tools, so requests normally never include one. On a deployment that doesn't receive the remote configuration that enables the exclusion, Claude Code records in the server's log which tool would be rejected but sends it anyway, so this error can still occur. The error can also occur for a tool whose schema declares a JSON Schema dialect other than draft 2020-12 in `$schema`: Claude Code doesn't check those schemas against the JSON Schema meta-schema, though it still excludes one with an invalid top-level property name.
1546
1547Before v2.1.216, no deployment ran the exclusion checks.
1548
1549**What to do:**
1550
1551* If your Claude Code version is earlier than v2.1.216, run `claude update`.
1552* Remove or [disable](/docs/en/mcp#disable-a-server-without-removing-it) the MCP server that declares the invalid schema. The error names the tool only by position. On v2.1.216 or later, check each server's log for a line naming a tool whose input schema would be rejected. If no log names one, disable servers one at a time.
1553* If you maintain the server, fix the tool's `input_schema`. The schema must be valid JSON Schema, and top-level property names must be 1 to 64 characters long and use only ASCII letters and digits, `_`, `.`, and `-`. See [Tools with invalid input schemas](/docs/en/mcp#tools-with-invalid-input-schemas).
1554
15361555<h3 id="theres-an-issue-with-the-selected-model">
15371556 There's an issue with the selected model
15381557</h3>
from line 2488
24692488* From the shell, run `claude attach <id>` again. Claude Code prints `Session <id>'s terminal host died — restarting it on a fresh one…` and reopens the session
24702489* You can't restart a shell-command row this way; dispatch the command again to rerun it
24712490
2472Before v2.1.247, a dead host process could pass every liveness check the background service ran, so opening the session showed `opening… · esc to cancel` indefinitely and `claude attach <id>` waited without reporting an error.
2473
2474<h3 id="session-isnt-responding">
2475 Session isn't responding
2476</h3>
2477
2478You opened a [background session](/docs/en/agent-view) and the background service accepted the open, but no output arrived for about ten seconds, so Claude Code concludes that the process relaying the session's terminal can't deliver output, and ends the attempt instead of waiting.
2479
2480In agent view, Claude Code offers a restart in the footer:
2481
2482```text theme={null}
2483Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).
2484```
2485
2486From the shell, `claude attach <id>` prints the cause and exits:
2487
2488```text theme={null}
2489Couldn't attach to <id> — Session isn't responding — `claude stop <id>`, then `claude attach <id>` restarts it (the conversation is saved).
2490```
2491
2492Claude Code never restarts a row running a [shell command](/docs/en/agent-view#run-a-shell-command) for you, because a restart would run the command again.
2493
2494**What to do:**
2495
2496* In agent view, press `Enter` on the same row again. Claude Code stops the unresponsive process and restarts the session, and the conversation resumes. Nothing is stopped without that second press
2497* From the shell, run `claude stop <id>`, then `claude attach <id>`
2498* For a shell-command row, press `Ctrl+X` in agent view or run `claude stop <id>` to stop it; dispatch the command again to rerun it
2499
2500### Session was stopped while the respawn was in flight
2501
2502You opened a [background session](/docs/en/agent-view) whose process wasn't running, and while Claude Code was restarting it, another Claude Code process stopped it, for example `claude stop` in another terminal. Claude Code keeps the session stopped:
2503
2504```text theme={null}
2505Session <id> was stopped while the respawn was in flight
2506```
2507
2508Opening a session you just dispatched, while its process is still starting, waits for the process instead. Before v2.1.246, opening it at that moment could stop it and show this message.
2509
2510**What to do:**
2511
2512* If you didn't stop the session, open its row again in agent view or
2491Before v2.1.247, a dead host process could pass every liveness check the background service r
No line in this hunk matches that.