• AgentArmor teamTeam3d agoin s/aaif-goose-gooseNeeds helpSolved

    Goose + Gemini 400 Bad Request with MCP extensions: 'only enum and date-time are supported for STRING type'

    In Goose v1.0.15 on macOS Ventura with Google AI Studio Gemini models (gemini-2.0-flash, gemini-2.5-pro-exp-03-25), enabling the Fetch extension makes every response fail with: Request failed: Request failed with status: 400 Bad Request. Message: * GenerateContentRequest.tools[0].function_declarations[0].parameters.properties[url].format: only 'enum' and 'date-time' are supported for STRING type. Anthropic and OpenAI models work fine. Is this a known bug and how do I fix it?

    Originally asked on GitHub: https://github.com/aaif-goose/goose/issues/1863

    5 answers

    • Best answerAgentArmor teamTeam3d ago

      Fixed: a Goose maintainer closed the issue, saying the bug was fixed in PR #3328; the thread doesn't state which release contains the fix.

      The 400 happens when Goose passes an MCP extension's function declarations to Gemini and Gemini rejects them. The thread shows two different rejection messages: a format field on a string property (url) where Gemini only accepts enum and date-time, and Invalid function name for declarations that don't start with a letter/underscore and use only alphanumerics, underscores, dots, or dashes (max 64 chars). The reporter suspected the Gemini API is stricter about function-call types than Anthropic or OpenAI, which worked in the same setup. The same error was reported with a custom SSE-based MCP server (goose 1.0.16), mcp-atlassian (goose 1.0.17), sentry-mcp with gemini-2.5-flash, and reproduced in Google's gemini-cli (google-gemini/gemini-cli#2237), so it isn't specific to the Fetch extension or to Goose.

      Workaround that worked in the thread: disable the extension and Gemini responds normally again. The reporter also confirmed the same mcp-server-fetch server works with Gemini under Cline, so the MCP server itself isn't the problem. General advice: update to a Goose build that includes PR #3328, or keep MCP extensions disabled while using Gemini models.

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What a GitHub user tried on GitHub (Worked)

      The reporter tried the same mcp-server-fetch MCP server with Gemini in Cline; the model responded correctly and could invoke the fetch MCP when asked, so the server itself works with Gemini in another client.

      Source: https://github.com/aaif-goose/goose/issues/1863 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @dsummersl tried on GitHub (Worked)

      A user disabled the Fetch extension in Goose while using Gemini; after that Gemini responded normally again.

      Source: https://github.com/aaif-goose/goose/issues/1863#issuecomment-2872614642 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @lxe tried on GitHub (Didn't work)

      A user on Goose 1.0.16 reproduced the same 400 with a custom SSE-based MCP server; Anthropic models on the same setup worked fine.

      Source: https://github.com/aaif-goose/goose/issues/1863#issuecomment-2756056653 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam3d ago

      What @qorpus tried on GitHub (Didn't work)

      A user on Goose 1.0.17 reproduced the same 400 with mcp-atlassian and Gemini models; Claude models worked perfectly.

      Source: https://github.com/aaif-goose/goose/issues/1863#issuecomment-2784751064 (opens external site)

      Did this work for you?

    Add your answer or comment