Describe the bug
Strix fails to connect to Vertex AI Gemini models with error:
textlitellm.BadRequestError: Vertex_aiException BadRequestError - {"error":{"message":"Malformed authentication credential","code":400}}
The same credentials and environment variables work correctly when calling LiteLLM directly from Python. Only Strix fails.
To Reproduce
Create a dedicated Service Account with roles/aiplatform.user and download the JSON key.
Set environment variables:Bashexport GOOGLE_APPLICATION_CREDENTIALS="$HOME/strix-vertex-sa.json"
export STRIX_LLM="vertex_ai/gemini-2.5-flash"
export VERTEXAI_PROJECT="xprize-505317"
export VERTEXAI_LOCATION="us-central1"
export GOOGLE_CLOUD_PROJECT="xprize-505317"
Verify credentials work outside Strix:Bashpython -c "
from litellm import completion
resp = completion(
model='vertex_ai/gemini-2.5-flash',
messages=[{'role':'user','content':'test'}]
)
print(resp.choices[0].message.content)
"→ This succeeds.
Run Strix:Bashstrix -n --target /path/to/target→ Fails with Malformed authentication credential.
Also tested with:
Application Default Credentials (gcloud auth application-default login)
VERTEXAI_LOCATION=global
Recommended model vertex_ai/gemini-3.1-pro-preview
Both pipx and venv installations of strix-agent[vertex]
All produce the same error inside Strix, while direct LiteLLM calls succeed.
Expected behavior
Strix should successfully authenticate to Vertex AI using the same GOOGLE_APPLICATION_CREDENTIALS / ADC setup that works with LiteLLM and return a valid model response.
Screenshots
N/A – error is text-only in the CLI.
System Information:
OS: macOS (Apple Silicon)
Strix Version or Commit: 1.6.2
Python Version: 3.14 (venv) / 3.13 (pipx)
LLM Used: vertex_ai/gemini-2.5-flash (also tested vertex_ai/gemini-3.1-pro-preview)
Additional context
Vertex AI API is enabled on the project.
Direct curl to generateContent and direct litellm.completion() both work with the same project/credentials.
Service Account key is valid (type: service_account, correct client_email and private_key).
Error previously was Expecting value: line 1 column 1 (char 0) when using ADC; switched to Malformed authentication credential after using a Service Account JSON key.
No Docker containers were running during the LLM connection check (docker ps empty).
It appears Strix is not correctly forwarding or using the Vertex credentials that LiteLLM expects.
Describe the bug
Strix fails to connect to Vertex AI Gemini models with error:
textlitellm.BadRequestError: Vertex_aiException BadRequestError - {"error":{"message":"Malformed authentication credential","code":400}}
The same credentials and environment variables work correctly when calling LiteLLM directly from Python. Only Strix fails.
To Reproduce
Create a dedicated Service Account with roles/aiplatform.user and download the JSON key.
Set environment variables:Bashexport GOOGLE_APPLICATION_CREDENTIALS="$HOME/strix-vertex-sa.json"
export STRIX_LLM="vertex_ai/gemini-2.5-flash"
export VERTEXAI_PROJECT="xprize-505317"
export VERTEXAI_LOCATION="us-central1"
export GOOGLE_CLOUD_PROJECT="xprize-505317"
Verify credentials work outside Strix:Bashpython -c "
from litellm import completion
resp = completion(
model='vertex_ai/gemini-2.5-flash',
messages=[{'role':'user','content':'test'}]
)
print(resp.choices[0].message.content)
"→ This succeeds.
Run Strix:Bashstrix -n --target /path/to/target→ Fails with Malformed authentication credential.
Also tested with:
Application Default Credentials (gcloud auth application-default login)
VERTEXAI_LOCATION=global
Recommended model vertex_ai/gemini-3.1-pro-preview
Both pipx and venv installations of strix-agent[vertex]
All produce the same error inside Strix, while direct LiteLLM calls succeed.
Expected behavior
Strix should successfully authenticate to Vertex AI using the same GOOGLE_APPLICATION_CREDENTIALS / ADC setup that works with LiteLLM and return a valid model response.
Screenshots
N/A – error is text-only in the CLI.
System Information:
OS: macOS (Apple Silicon)
Strix Version or Commit: 1.6.2
Python Version: 3.14 (venv) / 3.13 (pipx)
LLM Used: vertex_ai/gemini-2.5-flash (also tested vertex_ai/gemini-3.1-pro-preview)
Additional context
Vertex AI API is enabled on the project.
Direct curl to generateContent and direct litellm.completion() both work with the same project/credentials.
Service Account key is valid (type: service_account, correct client_email and private_key).
Error previously was Expecting value: line 1 column 1 (char 0) when using ADC; switched to Malformed authentication credential after using a Service Account JSON key.
No Docker containers were running during the LLM connection check (docker ps empty).
It appears Strix is not correctly forwarding or using the Vertex credentials that LiteLLM expects.