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
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