goose icon indicating copy to clipboard operation
goose copied to clipboard

Unable to use Fetch extension with Gemini

Open angiejones opened this issue 10 months ago • 1 comments

Describe the bug When configured to use Google models, specifically gemini-2.0-flash-exp, an error occurs when attempting to use the Fetch extension:

Request failed: Request failed with status: 400 Bad Request. Message: * GenerateContentRequest.tools[0].function_declarations[22].parameters.properties[url].format: only 'enum' is supported for STRING type . Please retry if you think this is a transient or recoverable error.

This happens because Fetch uses format: uri in its JSON schema which Google doesn't support.

To Reproduce Steps to reproduce the behavior:

  1. Configure Goose to use a Gemini LLM
  2. Enable built-in Fetch extension
  3. Prompt Goose to fetch data from the web

Expected behavior With other LLMs, Goose is able to successfully fetch data from the web

Screenshots

Image

Please provide following information:

  • OS & Arch: macOS M2 Max
  • Interface: CLI and UI
  • Version: 1.0.5
  • Extensions enabled: Fetch
  • Provider & Model: Google - gemini-2.0-flash-exp

angiejones avatar Feb 11 '25 01:02 angiejones

it may be prudent to refactor the bug to extend it to any gemini-2.0-flash based tool, not just the -exp flag

DefiBax avatar Feb 13 '25 14:02 DefiBax

detail can be found here: https://github.com/block/goose/issues/1029#issuecomment-2629204340

yingjiehe-xyz avatar Feb 18 '25 22:02 yingjiehe-xyz