Describe the bug
Codeep does not respect the baseURL (or --api-url) setting when configured to use a local, custom OpenAI-compatible endpoint (e.g., vLLM, LiteLLM). Instead, it continues to route requests to OpenAI's default endpoint (api.openai.com) or defaults to Ollama, ignoring both the configuration file and command‑line overrides. This makes it impossible to use Codeep with self‑hosted or private LLMs.
Steps to reproduce
- Start a local OpenAI‑compatible server (e.g., vLLM on http://100.88.112.5:8000/v1).
- Create ~/.codeep/config.json with: {
"provider": "openai",
"apiKey": "any-long-dummy-key",
"baseURL": "http://100.88.112.5:8000/v1",
"model": "qwen3-coder-30b"
}
- Run codeep chat "Hello"
- Observe that the request goes to https://api.openai.com (resulting in “invalid API key” or “model not found” errors) or the wizard appears.
- Alternatively, run: codeep --provider openai --api-key "dummy" --api-url http://100.88.112.5:8000/v1 chat "Hello"
The same problem occurs – the --api-url flag is ignored.
Expected behavior
Codeep should send requests to the configured baseURL (or --api-url) using the specified model name, exactly as the underlying OpenAI client library would. A user should be able to point Codeep to any OpenAI‑compatible endpoint (local vLLM, LiteLLM, etc.) without having to use a commercial provider.
Actual behavior
Requests are still sent to https://api.openai.com/v1/chat/completions (observed via network monitoring or error messages like 401 - Incorrect API key provided).
The first‑run provider selection wizard appears repeatedly, even after a valid config file exists.
Setting the OPENAI_BASE_URL environment variable has no effect.
The command fails with errors such as:
API error: 401 - { ... } or the model name reverts to gpt-5.5 / gpt-3.5-turbo.
Screenshots / Terminal output
$ curl -X POST http://100.88.112.5:8000/v1/chat/completions
-H "Content-Type: application/json"
-d '{"model":"qwen3-coder-30b","messages":[{"role":"user","content":"Say hello"}]}'
{"id":"chatcmpl-...","model":"qwen3-coder-30b","choices":[{"message":{"content":"Hello!"}}]}
(vLLM works perfectly)
$ codeep --provider openai --api-key "dummy" --api-url http://100.88.112.5:8000/v1 chat "Hello"
Still shows provider selection wizard or tries to connect to OpenAI.
Environment
Codeep version: latest (installed via npm install -g codeep on 2026‑05‑19)
Node.js version: v20.x (or v22.x)
OS: Ubuntu 24.04 (Minisforum) / also tested on macOS 15
Terminal: bash / zsh
Provider: OpenAI (custom endpoint)
Additional context
The same endpoint works flawlessly with curl, OpenCode, and LiteLLM.
The issue appears to be that Codeep’s configuration parser ignores baseURL and --api-url, likely because the code initialises the OpenAI client with default values before reading user overrides.
Many other users have reported similar problems (e.g., open issue in OpenCode about custom provider options not being passed). This bug makes Codeep unusable for anyone running local or self‑hosted models.
Describe the bug
Codeep does not respect the baseURL (or --api-url) setting when configured to use a local, custom OpenAI-compatible endpoint (e.g., vLLM, LiteLLM). Instead, it continues to route requests to OpenAI's default endpoint (api.openai.com) or defaults to Ollama, ignoring both the configuration file and command‑line overrides. This makes it impossible to use Codeep with self‑hosted or private LLMs.
Steps to reproduce
"provider": "openai",
"apiKey": "any-long-dummy-key",
"baseURL": "http://100.88.112.5:8000/v1",
"model": "qwen3-coder-30b"
}
The same problem occurs – the --api-url flag is ignored.
Expected behavior
Codeep should send requests to the configured baseURL (or --api-url) using the specified model name, exactly as the underlying OpenAI client library would. A user should be able to point Codeep to any OpenAI‑compatible endpoint (local vLLM, LiteLLM, etc.) without having to use a commercial provider.
Actual behavior
Requests are still sent to https://api.openai.com/v1/chat/completions (observed via network monitoring or error messages like 401 - Incorrect API key provided).
The first‑run provider selection wizard appears repeatedly, even after a valid config file exists.
Setting the OPENAI_BASE_URL environment variable has no effect.
The command fails with errors such as:
API error: 401 - { ... } or the model name reverts to gpt-5.5 / gpt-3.5-turbo.
Screenshots / Terminal output
$ curl -X POST http://100.88.112.5:8000/v1/chat/completions
-H "Content-Type: application/json"
-d '{"model":"qwen3-coder-30b","messages":[{"role":"user","content":"Say hello"}]}'
{"id":"chatcmpl-...","model":"qwen3-coder-30b","choices":[{"message":{"content":"Hello!"}}]}
(vLLM works perfectly)
$ codeep --provider openai --api-key "dummy" --api-url http://100.88.112.5:8000/v1 chat "Hello"
Still shows provider selection wizard or tries to connect to OpenAI.
Environment
Codeep version: latest (installed via npm install -g codeep on 2026‑05‑19)
Node.js version: v20.x (or v22.x)
OS: Ubuntu 24.04 (Minisforum) / also tested on macOS 15
Terminal: bash / zsh
Provider: OpenAI (custom endpoint)
Additional context
The same endpoint works flawlessly with curl, OpenCode, and LiteLLM.
The issue appears to be that Codeep’s configuration parser ignores baseURL and --api-url, likely because the code initialises the OpenAI client with default values before reading user overrides.
Many other users have reported similar problems (e.g., open issue in OpenCode about custom provider options not being passed). This bug makes Codeep unusable for anyone running local or self‑hosted models.