Skip to content

Every MCP tool call from an external client fails once with "has not been loaded yet" and succeeds on an identical retry — the error lists back the exact parameter names it was sent as possibly incorrect #759

Description

@proagentstore

Promoted from feedback rows b7b6c751-8ecd-43dd-86d0-d653ec9e8cbd and a0666f22-b36f-40c4-b7f0-bc879f9cdd2b, where this was recorded twice as a minor note (2026-08-15 and 2026-08-17). Both still status: open, issue_url: null. Still reproducing on 2026-08-24.

What happens

A first call to a PAGS MCP tool from an external client fails with either:

'mcp_..._coding_loop_start' has not been loaded yet. You do not have the correct parameter names for this tool. Valid input schema: {...}. Retry with the exact parameter names from the schema. You tried parameters: [instance_id, max_iterations, objective] — these may be incorrect.

or:

tool 'ProAgentStore:coding_loop_status' is not registered. This may indicate a tool name hallucination or a stale tool schema.

An immediate, byte-identical retry succeeds.

The error is self-contradicting

In the first form, the message prints the valid schema, then lists the parameters that were sent — and they match the schema exactly. [instance_id, objective, max_iterations] against a schema whose properties are token, instance_id, objective, max_iterations, dry_run with required: [instance_id, objective]. The call was well-formed. It is then told its parameter names "may be incorrect."

The real condition is that the schema had not been loaded server-side yet. The message attributes a transport/registration state to caller error, which sends the caller off correcting a call that was already correct.

Observed 2026-08-24

On a single session against instance a185b1db-c560-456d-9522-f7792bd95cca, this occurred on first call to coding_loop_start, coding_loop_status (twice), and call_instance_tool. Every one succeeded on identical retry. The 2026-08-17 row records the same: "every PAGS MCP tool in this session failed on first call with a 'has not been loaded yet' schema error and succeeded on an identical immediate retry."

Why it is worth more than a papercut

It doubles the call count on every tool from an external client, and it actively misleads. An agent that trusts the message will rewrite a correct call, guess different parameter names, or conclude the tool does not exist — the second error form explicitly suggests "tool name hallucination" for a tool that is registered and works one second later. It also burns a round trip on every first-touch tool in a chain, which on a voice or latency-sensitive surface is user-visible.

Asks

  1. Resolve the schema server-side before rejecting, or block the first call until registration completes, so a well-formed call is not refused for a server-side state.
  2. If a first-call failure is unavoidable, make it honest. Say the schema is not yet loaded and the call should be retried unchanged. Do not report the caller's parameters as possibly incorrect when they match the schema, and do not suggest hallucination for a registered tool.
  3. Related documentation gap noted in the same feedback row: call_instance_tool takes input, not args; github_update_issue takes labels as a comma-separated string and replaces rather than adds.

Activity

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

    P3: laterDesign, strategy, or deferred pending a decision or demanddocumentationImprovements or additions to documentationinvalidThis doesn't seem rightmcpMCP server surface — the operator's instrument panel, not the product

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions