Skip to content

open_canvas tool schema missing type on input property — rejected by strict OpenAI-compatible local model servers #2724

Description

@AnAndroNerd

Short summary

No response

Affected version or release

1.16

Installation context

No response

What happened?

When using GitHub Copilot with a local model via an OpenAI-compatible endpoint (in my case, TurboFieldfare), every request fails with:

CAPIError: 400 tool open_canvas schema at parameters.properties.input: type is required

The root cause is that Copilot's built-in open_canvas tool sends a JSON Schema where the input property has no "type" field (and no valid alternative like anyOf/oneOf). This is invalid per the JSON Schema spec, and while hosted APIs (OpenAI/Anthropic) are lenient enough to accept it anyway, strict OpenAI-compatible local servers correctly reject it with a 400, since every schema property is required to declare an explicit type.

Expected behavior: The open_canvas tool definition should include a valid "type" for its input property so the schema is spec-compliant and works against any conformant OpenAI-compatible endpoint, not just ones that silently tolerate malformed schemas.

Actual behavior: Every message fails identically with the above 400 error before the prompt is even processed, making Copilot unusable with strict local model backends.
(Generated by Claude)

Steps to reproduce

No response

Expected behavior

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions