-
Notifications
You must be signed in to change notification settings - Fork 405
Open
Description
I've tried this .env:
# Required API Keys
OPENAI_API_KEY="csk-xxx"
PREFERRED_PROVIDER="openai"
OPENAI_BASE_URL="https://api.cerebras.ai/v1"
BIG_MODEL="zai-glm-4.7"
SMALL_MODEL="qwen-3-32b"
Claude settings.json:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "csk-xxx",
"ANTHROPIC_BASE_URL": "http://localhost:8082",
"API_TIMEOUT_MS": "3000000"
}
}But it seems to request openai.com instead of https://api.cerebras.ai/v1 (as set via OPENAI_BASE_URL):
Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new
LiteLLM.Info: If you need to debug this error, use `litellm._turn_on_debug()'.
2026-01-28 01:29:52,275 - ERROR - Error processing request: {
"error": "litellm.BadRequestError: OpenAIException - Wrong API Key",
"type": "BadRequestError",
"traceback": "Traceback (most recent call last):\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\llms\\openai\\openai.py\", line 1008, in async_streaming\n headers, response = await self.make_openai_chat_completion_request(\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\litellm_core_utils\\logging_utils.py\", line 190, in async_wrapper\n result = await func(*args, **kwargs)\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\llms\\openai\\openai.py\", line 460, in make_openai_chat_completion_request\n raise e\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\llms\\openai\\openai.py\", line 437, in make_openai_chat_completion_request\n await openai_aclient.chat.completions.with_raw_response.create(\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\openai\\_legacy_response.py\", line 381, in wrapped\n return cast(LegacyAPIResponse[R], await func(*args, **kwargs))\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\openai\\resources\\chat\\completions\\completions.py\", line 2678, in create\n return await self._post(\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\openai\\_base_client.py\", line 1881, in post\n return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\openai\\_base_client.py\", line 1666, in request\n raise self._make_status_error_from_response(err.response) from None\nopenai.AuthenticationError: Error code: 401 - {'message': 'Wrong API Key', 'type': 'invalid_request_error', 'param': 'api_key', 'code': 'wrong_api_key'}\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\main.py\", line 622, in acompletion\n response = await init_response\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\llms\\openai\\openai.py\", line 1058, in async_streaming\n raise OpenAIError(\nlitellm.llms.openai.common_utils.OpenAIError: Error code: 401 - {'message': 'Wrong API Key', 'type': 'invalid_request_error', 'param': 'api_key', 'code': 'wrong_api_key'}\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\server.py\", line 1303, in create_message\n response_generator = await litellm.acompletion(**litellm_request)\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\utils.py\", line 2032, in wrapper_async\n raise e\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\utils.py\", line 1848, in wrapper_async\n result = await original_function(*args, **kwargs)\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\main.py\", line 650, in acompletion\n raise exception_type(\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\litellm_core_utils\\exception_mapping_utils.py\", line 2378, in exception_type\n raise e\n File \"C:\\Users\\Kersten\\Documents\\Coding\\AI\\claude-code-proxy\\.venv\\lib\\site-packages\\litellm\\litellm_core_utils\\exception_mapping_utils.py\", line 444, in exception_type\n raise BadRequestError(\nlitellm.exceptions.BadRequestError: litellm.BadRequestError: OpenAIException - Wrong API Key\n",
"message": "litellm.BadRequestError: OpenAIException - Wrong API Key",
"status_code": 401,
"response": {
"status_code": 401,
"headers": {
"_list": [],
"_encoding": "ascii"
},
"_request": {
"method": "POST",
"url": {
"_uri_reference": [
"https",
"",
"api.openai.com",
null,
"/v1",
null,
null
]
},
"headers": {
"_list": [
"(b'Host', b'host', b'api.openai.com')",
"(b'Content-Length', b'content-length', b'0')"
],
"_encoding": null
},
"extensions": {},
"stream": {
"_stream": "b''"
},
"_content": "b''"
},
"next_request": null,
"extensions": {},
"history": [],
"is_closed": true,
"is_stream_consumed": true,
"default_encoding": "utf-8",
"stream": {
"_stream": "b''"
},
"_decoder": {},
"_num_bytes_downloaded": 0,
"_content": "b''"
},
"llm_provider": "openai",
"model": "openai/zai-glm-4.7",
"litellm_debug_info": "\nModel: openai/zai-glm-4.7\nAPI Base: `https://api.cerebras.ai/v1`\nMessages: `[{'role': 'system', 'content': 'You are Claude Code, Anthropic\\'s official CLI for Claude.\\n\\n\\nYou `",
"max_retries": "None",
"num_retries": "None",
"request": "<Request('POST', 'https://api.openai.com/v1')>",
"body": "{'message': 'Wrong API Key', 'type': 'invalid_request_error', 'param': 'api_key', 'code': 'wrong_api_key'}",
"code": "wrong_api_key",
"param": "api_key",
"request_id": "None",
"litellm_response_headers": "Headers({'date': 'Wed, 28 Jan 2026 00:29:52 GMT', 'content-type': 'application/json', 'content-length': '99', 'connection': 'keep-alive', 'server': 'cloudflare', 'referrer-policy': 'strict-origin-when-cross-origin', 'x-content-type-options': 'nosniff', 'strict-transport-security': 'max-age=3600; includeSubDomains', 'cf-cache-status': 'DYNAMIC', 'set-cookie': '__cf_bm=e3wyXroQbrK4ZJcHbx7X89IOLcMc0xuHXgeWNt3xAjM-1769560192.0061324-1.0.1.1-mVWQOH7zeh0g_ht1HEnbu7sGYHMtSF6NhBp_pR46Maz_linWRb8jpqw1M11jQYZP4T_C.wI0z5lisEpTgQ2izwNGSzCpZgEmMBff1vTN318TBpgcFAZpsmXldOVwfNkp; HttpOnly; Secure; Path=/; Domain=cerebras-sandbox.net; Expires=Wed, 28 Jan 2026 00:59:52 GMT', 'cf-ray': '9c4c60c008df4f64-DUS', 'alt-svc': 'h3=\":443\"; ma=86400'})",
"timeout": "None"
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels