The cloud's LLM settings seem bugged: - in basic v...
# openhands-cloud
c
The cloud's LLM settings seem bugged: • in basic view -> Save -> opens advanced view, and it has a
base url
(so it will fail) • in advanced view, I delete
base url
-> Save -> base url is back! 😅 (so it will fail) • it doesn't seem possible to empty out an old
base url
?
✅ 1
Not sure if some of this is PEBCAK. Possibly related: • saves in Settings a computed base URL (that the user didn't set) https://github.com/OpenHands/OpenHands/pull/12766 • attempts to fix when base URL was emptied https://github.com/OpenHands/OpenHands/pull/13225 @nutritious-balloon-65098 make an issue on this, try to find the cause
n
I'm on it! can track my progress here.
Summary of my work: - Investigated the LLM settings base URL behavior in both frontend and backend. - Reviewed the related prior work: - PR #12766 - PR #13225 - Traced the likely root cause to backend save semantics in `openhands/server/routes/settings.py`: - the frontend sends
llm_base_url: ""
when the user clears Base URL or saves from Basic view - the backend treats
""
like a missing value and auto-fills a computed default URL - this makes it impossible to persist an intentionally empty Base URL - Confirmed this is reinforced by an existing backend test that currently expects
llm_base_url=""
to become
<https://api.openai.com>
- Opened a GitHub issue documenting the bug, reproduction steps, suspected cause, and suggested fix direction: - #13420 — https://github.com/OpenHands/OpenHands/issues/13420 Status checklist: - [x] Investigated the reported behavior - [x] Identified a likely cause - [x] Created an issue on GitHub - [x] Included links to the related PR context - [x] Kept work scoped to investigation + issue creation Code changes: - No local code changes were made - Nothing to push or open as a PR from this session Bottom line: The remaining bug appears to be that the backend does not distinguish: -
None
= field omitted -
""
= explicitly cleared by user That mismatch is why the UI keeps bringing Base URL back.