Skip to content

[BUG] API Error 400: tools.17.custom.input_schema invalid JSON schema - occurs with empty mcpServers #20720

Description

@matt-harrington2026

Preflight Checklist

  • I have searched existing issues and this hasn't been reported yet
  • This is a single bug report (please file separate reports for different bugs)
  • I am using the latest version of Claude Code

What's Wrong?

Description

Claude Code throws a JSON schema validation error on every interaction, even with zero MCP servers configured. This appears to be a built-in tool with an invalid schema, not a user configuration issue.

What Should Happen?

Expected Behavior

Claude Code should work normally without MCP servers configured.

Environment

  • Claude Code version: 2.1.19
  • macOS: 26.2 (Build 25C56)
  • Node.js: v24.13.0
  • VS Code: Latest (installed via App Store or download)

Troubleshooting Attempted

  • Fresh extension reinstall
  • Empty MCP server config ({"mcpServers": {}})
  • Removed all plugins from ~/.claude/plugins
  • Cleared Claude desktop app configs
  • Tested with individual MCP servers disabled one by one
  • Killed all MCP-related processes

Additional Context

The error specifically mentions tools.17.custom.input_schema, suggesting a built-in tool (index 17) has a schema that doesn't comply with JSON Schema draft 2020-12. This occurs regardless of user MCP configuration.

Error Messages/Logs

## Error Message
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"tools.17.custom.input_schema: JSON schema is invalid. It must match JSON Schema draft 2020-12 (https://json-schema.org/draft/2020-12). Learn more about tool use at [https://docs.claude.com/en/docs/tool-use."}}](https://docs.claude.com/en/docs/tool-use.%22%7D%7D)

Steps to Reproduce

Steps to Reproduce

  1. Fresh install of Claude Code extension (v2.1.19)
  2. Set ~/.claude/settings.json to {"mcpServers": {}}
  3. Open any project in VS Code
  4. Try to send any message to Claude Code
  5. Error occurs on every attempt

Claude Model

Opus

Is this a regression?

Yes, this worked in a previous version

Last Working Version

No response

Claude Code Version

2.1.19

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions