Skip to content

Commit 6ffda69

Browse files
fix: Handle OpenAI base_url without /v1 suffix (#3009)
Co-authored-by: openhands <openhands@all-hands.dev>
1 parent eb48e2f commit 6ffda69

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

  • openhands-sdk/openhands/sdk/llm

openhands-sdk/openhands/sdk/llm/llm.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,13 @@ def _coerce_inputs(cls, data):
504504
# Use `or` instead of dict.get() to handle explicit None values
505505
d["base_url"] = d.get("base_url") or "https://llm-proxy.app.all-hands.dev/"
506506

507+
# Fix base_url for direct OpenAI - API expects /v1 suffix
508+
# If base_url is "https://api.openai.com", set to None to use LiteLLM default
509+
if model_val.startswith("openai/"):
510+
base = d.get("base_url")
511+
if base == "https://api.openai.com" or base == "https://api.openai.com/":
512+
d["base_url"] = None # Let LiteLLM use its default which includes /v1
513+
507514
return d
508515

509516
@model_validator(mode="after")

0 commit comments

Comments
 (0)