Skip to content

Insiders Feedback: issue_write form in VS Code shows -32020 header mismatch: missing Mcp-Param-owner header while loading repository metadata #3834

Open

Description

@notthatbreezy

Version: Insiders

Feature :issue_write form in VS Code

Feedback:

Summary

When issue_write opens its MCP App form in VS Code agent mode, the form shows this error at the top:

-32020: header mismatch: missing Mcp-Param-owner header

The error clears on its own, and submitting the issue still works. It happens on almost every form we open.

Environment
VS Code 1.146.0 (commit 69047191fc427f2f92828279aae1d90d8eeda7ab, x64), Windows
Chat running through the Copilot agent host ("copilotcli" harness)
MCP server: GitHub remote MCP server (HTTP), hosted on a GHE.com tenant

Steps to reproduce

  1. In agent mode, ask the agent to file an issue so that it calls issue_write with method: "create", owner, repo, title and body.
  2. The form renders fine.
  3. Fill in the form and submit. An error is raised; -32020: header mismatch: missing Mcp-Param-owner header
  4. Click submit again - the error goes away and issue is submitted.

Analysis

When the form loads, it calls back to the server through the MCP Apps bridge (app.callServerTool) to fetch labels, assignees, milestones, issue types and custom issue fields (ui_get). The submit call (issue_write) works, so the failure is in one or more of those ui_get lookups. Those calls start inside the form rather than from the model, and they appear to reach the server without the Mcp-Param-owner and Mcp-Param-repo headers that the server now requires on repo-scoped calls.

One detail worth checking: ui_get with method: "issue_types" sends only owner, while the other lookups send both owner and repo.

[Impact: the Labels, Assignees, Milestone or Type dropdown was empty, or nothing visibly broke.]

Expected

The form's own lookups succeed, or a failed lookup degrades quietly (for example, an empty dropdown) instead of showing a raw JSON-RPC error and stack trace to the user.

Related

Agent Host Log

[info]  MCP server '<github-server>' pending (starting)
[error] [ProtocolServer] mcp:// request 'tools/call' on mcp://copilotcli/<chat>/<github-server> failed
        Request session.mcp.apps.callTool failed with message: MCP tools/call failed for <github-server>/ui_get:
        MCP request failed: MCP transport closed before the tool responded   (x3)
[info]  MCP server '<github-server>' connected (ready)
[error] [ProtocolServer] mcp:// request 'tools/call' on mcp://copilotcli/<chat>/<github-server> failed
        Request session.mcp.apps.callTool failed with message: MCP tools/call failed for <github-server>/ui_get:
        McpError: MCP error -32020: header mismatch: missing Mcp-Param-owner header for parameter "owner"
[info]  MCP server '<github-server>' requires authentication
[info]  MCP server '<github-server>' not_configured (stopped)
[error] [ProtocolServer] ... MCP tools/call failed for <github-server>/issue_write:
        McpError: MCP error -32020: header mismatch: missing Mcp-Param-owner header for parameter "owner"

Renderer Log

[warning] [RemoteAgentHostProtocol] Request failed: {"code":-32603,"message":"Error: Request session.mcp.apps.callTool failed ...
          MCP tools/call failed for <github-server>/ui_get: McpError: MCP error -32020: header mismatch:
          missing Mcp-Param-owner header for parameter \"owner\""}
[error]   [MCP App] Error handling tools/call: ... <github-server>/ui_get ... -32020 ... missing Mcp-Param-owner header
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions