Bug Description
sorry i am new to this: after update to latest can't connect to gemini anymore getting:
API call failed (attempt 1/3): BadRequestError [HTTP 400]
🔌 Provider: gemini Model: gemini-3.1-pro-preview
🌐 Endpoint: https://generativelanguage.googleapis.com/v1beta/openai
📝 Error: HTTP 400: Error code: 400 - [{'error': {'code': 400, 'message': 'API key not valid. Please pass a valid API key.', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'API_KEY_INVALID', 'domain': 'googleapis.com', 'metadata': {'service': 'generativelanguage.googleapis.com'}}, {'@type': 'type.googleapis.com/google.rpc.LocalizedMessage', 'locale': 'en-US', 'message': 'API key not valid. Please pass a valid API key.'}]}}]
📋 Details: [{'error': {'code': 400, 'message': 'API key not valid. Please pass a valid API key.', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'API_KEY_INVALID', 'domain': 'googleapis.com', 'metadata': {'service': 'generativelanguage.googleapis.com'}
⚠️ Non-retryable error (HTTP 400) — trying fallback...
❌ Non-retryable error (HTTP 400): HTTP 400: Error code: 400 - [{'error': {'code': 400, 'message': 'API key not valid. Please pass a valid API key.', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'API_KEY_INVALID', 'domain': 'googleapis.com', 'metadata': {'service': 'generativelanguage.googleapis.com'}}, {'@type': 'type.googleapis.com/google.rpc.LocalizedMessage', 'locale': 'en-US', 'message': 'API key not valid. Please pass a valid API key.'}]}}]
❌ Non-retryable client error (HTTP 400). Aborting.
🔌 Provider: gemini Model: gemini-3.1-pro-preview
🌐 Endpoint: https://generativelanguage.googleapis.com/v1beta/openai
💡 This type of error won't be fixed by retrying.
─ ⚕ Hermes ─────────────────────────────────────────────────────────────────────────────────────────────────────────
Error: Error code: 400 - [{'error': {'code': 400, 'message': 'API key not valid. Please pass a valid API
key.', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.ErrorInfo',
'reason': 'API_KEY_INVALID', 'domain': 'googleapis.com', 'metadata': {'service':
'generativelanguage.googleapis.com'}}, {'@type': 'type.googleapis.com/google.rpc.LocalizedMessage', 'locale':
'en-US', 'message': 'API key not valid. Please pass a valid API key.'}]}}]
api key is valid i am sure of it using it with openclaw and as i said worked fine before update. openclaw said
"When Hermes is set to provider: gemini, it uses Google's native API format. But because that base_url is pointed at the .../openai compatibility endpoint, Hermes essentially sends a native Gemini request to an OpenAI-formatted endpoint.
When Google's servers receive that, they get confused. They look for the OpenAI Bearer token, but Hermes is sending the native x-goog-api-key header. The server immediately rejects it and says "API key not valid"—not because your key is actually bad, but because it was sent to the wrong door in the wrong format!"
it tried to fix it by removing the base url but to no avail. i don't know if this is a bug or i am doing something wrong sorry again.
Steps to Reproduce
run hermes chat and say you there
Expected Behavior
Connecting to gemini and answering.
Actual Behavior
Giving the error above.
Affected Component
CLI (interactive chat)
Messaging Platform (if gateway-related)
No response
Debug Report
Report https://paste.rs/9D7K4
agent.log https://paste.rs/Of8Iv
Operating System
windows 11
Python Version
No response
Hermes Version
No response
Additional Logs / Traceback (optional)
Root Cause Analysis (optional)
No response
Proposed Fix (optional)
No response
Are you willing to submit a PR for this?
Bug Description
sorry i am new to this: after update to latest can't connect to gemini anymore getting:
API call failed (attempt 1/3): BadRequestError [HTTP 400]
⚠️ Non-retryable error (HTTP 400) — trying fallback...
🔌 Provider: gemini Model: gemini-3.1-pro-preview
🌐 Endpoint: https://generativelanguage.googleapis.com/v1beta/openai
📝 Error: HTTP 400: Error code: 400 - [{'error': {'code': 400, 'message': 'API key not valid. Please pass a valid API key.', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'API_KEY_INVALID', 'domain': 'googleapis.com', 'metadata': {'service': 'generativelanguage.googleapis.com'}}, {'@type': 'type.googleapis.com/google.rpc.LocalizedMessage', 'locale': 'en-US', 'message': 'API key not valid. Please pass a valid API key.'}]}}]
📋 Details: [{'error': {'code': 400, 'message': 'API key not valid. Please pass a valid API key.', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'API_KEY_INVALID', 'domain': 'googleapis.com', 'metadata': {'service': 'generativelanguage.googleapis.com'}
❌ Non-retryable error (HTTP 400): HTTP 400: Error code: 400 - [{'error': {'code': 400, 'message': 'API key not valid. Please pass a valid API key.', 'status': 'INVALID_ARGUMENT', 'details': [{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'API_KEY_INVALID', 'domain': 'googleapis.com', 'metadata': {'service': 'generativelanguage.googleapis.com'}}, {'@type': 'type.googleapis.com/google.rpc.LocalizedMessage', 'locale': 'en-US', 'message': 'API key not valid. Please pass a valid API key.'}]}}]
❌ Non-retryable client error (HTTP 400). Aborting.
🔌 Provider: gemini Model: gemini-3.1-pro-preview
🌐 Endpoint: https://generativelanguage.googleapis.com/v1beta/openai
💡 This type of error won't be fixed by retrying.
─ ⚕ Hermes ─────────────────────────────────────────────────────────────────────────────────────────────────────────
api key is valid i am sure of it using it with openclaw and as i said worked fine before update. openclaw said
"When Hermes is set to provider: gemini, it uses Google's native API format. But because that base_url is pointed at the .../openai compatibility endpoint, Hermes essentially sends a native Gemini request to an OpenAI-formatted endpoint.
When Google's servers receive that, they get confused. They look for the OpenAI Bearer token, but Hermes is sending the native x-goog-api-key header. The server immediately rejects it and says "API key not valid"—not because your key is actually bad, but because it was sent to the wrong door in the wrong format!"
it tried to fix it by removing the base url but to no avail. i don't know if this is a bug or i am doing something wrong sorry again.
Steps to Reproduce
run hermes chat and say you there
Expected Behavior
Connecting to gemini and answering.
Actual Behavior
Giving the error above.
Affected Component
CLI (interactive chat)
Messaging Platform (if gateway-related)
No response
Debug Report
Operating System
windows 11
Python Version
No response
Hermes Version
No response
Additional Logs / Traceback (optional)
Root Cause Analysis (optional)
No response
Proposed Fix (optional)
No response
Are you willing to submit a PR for this?