Skip to content

[Bug] Gemini API integration fails with Invalid function name error when .voidrules is empty #874

@Prithvideleep

Description

@Prithvideleep
  1. Press Cmd+Shift+P in Void, and type Help: About. Please paste the information here. Also let us know any other relevant details, like the model and provider you're using if applicable.
    VSCode Version: 1.99.30044 (system setup)
    Void Version: 1.4.9
    Commit: b5a4184
    Date: 2025-06-23T08:12:50.333Z
    Electron: 34.3.2
    ElectronBuildId: undefined
    Chromium: 132.0.6834.210
    Node.js: 20.18.3
    V8: 13.2.152.41-electron.0
    OS: Windows_NT x64 10.0.26100

  2. Describe the issue/feature here!
    Title: Gemini API integration fails with Invalid function name error when .voidrules is empty

Body:

Hi Void team 👋

I’m running into an issue when using Void IDE with my Google Gemini API key.

Whenever I try to post a question, I get this error:

ClientError: got status: 400 Bad Request.
{"error":{"message":"{
"error": {
"code": 400,
"message": "* GenerateContentRequest.tools[0].function_declarations[15].name: Invalid function name. Must start with a letter or an underscore. Must be alphameric (a-z, A-Z, 0-9), underscores (_), dots (.) or dashes (-), with a maximum length of 64.

  • GenerateContentRequest.tools[0].function_declarations[16].name: Invalid function name. Must start with a letter or an underscore. Must be alphameric (a-z, A-Z, 0-9), underscores (_), dots (.) or dashes (-), with a maximum length of 64.\n",
    "status": "INVALID_ARGUMENT"
    }
    }"}

Key details:

My .voidrules file is empty (so I’m not defining any custom tools/rules).

The error still occurs, so it looks like the invalid function names are being generated internally by Void when constructing the Gemini GenerateContentRequest.

The API key itself is valid (tested directly with Gemini outside of Void).

Steps to reproduce:

Configure Void with a Gemini API key.

Ask any question (no .voidrules defined).

Receive 400 Bad Request with invalid function name error.

Expected behavior:

Requests should succeed, with no invalid function names being passed when .voidrules is empty.

Actual behavior:

Gemini rejects the request with INVALID_ARGUMENT due to two invalid function names in function_declarations.

✅ Can you confirm if this is a known issue in the current Gemini integration?

Thanks for the awesome work on Void 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions