:robot_face: LLM model list update — 2026-09-16 N...
# proj-agent
f
🤖 LLM model list update — 2026-09-16 New models detected, PR opened: • https://github.com/OpenHands/software-agent-sdk/pull/5098 — Added gpt-5-pro, gpt-5.2-pro, gpt-5.4-pro, gpt-5.4-mini, gpt-5.5-pro (OpenAI), qwen3-max-thinking, qwen3.5-flash, qwen3.6-flash, qwen3.6-max-preview (Qwen) Generated by OpenHands AI on behalf of the user.
c
This might be better as a “weekly question” scheduled automation, which presents a maintainer the models and a list of checkboxes for them to say only “yep this and that, not the other” and then automatically open the PR.
l
Yeah, I agree but we can also ask an agent to modify it post-hoc
(even on this thread)
c
yes… tbh I feel I’d like it to remember, so it doesn’t ask again
@fresh-machine-37269 two things please: • first, was PR 5098 linked above created by an automation that is defined in your VM? look at their names if any does a periodic sweep of models • second, i left a few comments on pr, please fix accordingly
👀 1
f
🤖 On it! View progress here: oss-agent-canvas.ngrok.dev/conversations/…
✅ Done! Both parts are done. Here's the summary. 1. Yes — PR #5098 was created by an automation running in this VM. It's the "LLM Model List Update" automation (
LLM Model List Update
, ID
80cee119…
), which runs on a cron schedule (
0 9 * * 3,6
UTC = Wednesdays & Saturdays at 09:00). Its job is exactly a _periodic sweep of models_: it upgrades LiteLLM, diffs
model_cost
+ OpenRouter against
verified_models.py
in
software-agent-sdk
, and opens a (draft) PR for any newly released models. The 2026-09-16 run is what produced PR #5098. 2. Fixed your three review comments on the PR and pushed to the branch (
add-new-llm-models-20260916
): •
qwen3-max-thinking
→ removed ("too old") •
qwen3.6-max-preview
→ removed ("superseded") •
gpt-5-pro
/
gpt-5.2-pro
→ removed (kept
-pro
from 5.4 up:
gpt-5.4-pro
,
gpt-5.5-pro
remain) The removals were applied consistently in both `VERIFIED_OPENAI_MODELS`/`VERIFIED_QWEN_MODELS` and the curated
VERIFIED_OPENHANDS_MODELS
. Net result is now 9 additions (was 17), tests pass (
test_model_features
,
test_model_list
,
test_llm_router
all green), and
ruff
is clean. The PR remains a draft.
c
@limited-student-10747 There are a bunch of LLMs in
VERIFIED_
now. Is that a good idea? My personal thinking is/was that maybe it’s best to keep some dozen or so, maximum, those that appear to work best
I mean, it seemed to me that the goal of
openhands/
provider was to have a curated list of LLMs that work best. If not, what should it contain?
l
Agreed, it’d be good to remove the old ones
👍 1
c
@bland-bear-604 go through the lists in the PR above. Let’s keep the latest two model versions, e.g. GPT-5.6 and GPT-6; you can add comments to the lists or docstrings too. Also, check, I seem to recall we have path-based AGENTS.md automatic loading, so add this rule in AGENTS.md in the closest subdir of where those lists are, too. @fresh-machine-37269 See what we do here; check the automation you have, does it have a prompt? repeat it to me here.
👀 2
🐾 1
b
done 🐾 https://github.com/OpenHands/software-agent-sdk/pull/5102 #5098 had already merged, so this is on top of main. Rule applied: two latest versions per model line, variants of a kept version stay. openhands/ list 77 → 45, openai 30 → 7, anthropic 23 → 7. The rule is in the module docstring, per-list comments, and a new path-scoped AGENTS.md in llm/utils/ (nested AGENTS.md does load as a path rule, checked the loader). A few judgment calls flagged in the PR (codex as its own line, o-series dropped, haiku 4.5 only).
c
Cool, but you need to fix CI, little one
🐾 1
b
CI green now 🐾 it was the PR description check: template sections + a linked ready-for-dev issue (#5104, the readiness workflow labeled it itself). Also asked the app proxy: it serves qwen3.6-plus, not qwen3-6-plus, so that one is gone too. Only the slow binary builds still running.
c
👀 1
f
🤖 On it! View progress here: oss-agent-canvas.ngrok.dev/conversations/…
✅ Done! Here's my review of #5102 — short version: it's solid, ship it. I read the full diff and verified the lists against the branch, the test file, and the downstream consumers. What's good • The rule is enforced in the right place: the module docstring + a path-scoped
AGENTS.md
in
llm/utils/
, so the sweep automation (and any future human/agent) will actually hit it next time they touch these files. That directly answers the "make it remember so it doesn't ask again" concern. • Lists are internally consistent with the "two latest versions per line" rule, and every
VERIFIED_OPENHANDS_MODELS
entry still resolves to a provider list (the
trinity-large-thinking
exception is preserved). • Test updates are coherent, not just name-migrations: the
organize
fixture swaps `o3`/`gpt-4o` for still-verified models (if left as dropped models they'd leak into
"other"
and break the assertions), and the opus→haiku dated-alias test preserves the original intent. • PR description is thorough — before/after table, judgment calls flagged explicitly, out-of-scope files named, and the
qwen3-6-plus
→
qwen3.6-plus
rename verified against the actual proxy
/v1/models
. CI is green. Non-blocking nits 1.
gpt-5.5
is still the default
model
in
LLM
config and several
auth/openai.py
signatures/docstrings (e.g.
model: str = "gpt-5.5"
), so the "out-of-the-box" example model is no longer in the curated set. Not a breakage (that default goes through direct-OpenAI, not the allowlist), but worth a follow-up to bump it to
gpt-5.6
for consistency. 2.
kimi-for-coding
is listed under Moonshot but (unlike
deepseek-chat
) is not in
VERIFIED_OPENHANDS_MODELS
. Likely intentional (proxy doesn't serve the alias), just wanted to confirm it's not an accidental omission. 3.
test_verified_lists_keep_two_latest_versions_per_line
is a spot-check, not exhaustive — fine given the AGENTS.md is the real guard, but the rule will still rely on humans/agents actually following it when adding a new version. Verdict: approve. Nothing blocking; the gpt-5.5 default is the only thing I'd file as a quick follow-up.
c
@bland-bear-604 how about these findings above? fix please
🐾 1
@fresh-machine-37269 if your verdict is approve, then post it on the PR
👀 2
f
✅ Done! Posted ✅ — approved #5102 with the full review (strengths + the three non-blocking nits) on the PR.
👀 1
b
fixed and pushed 🐾 (1) LLM default + docstring examples now gpt-5.6; left the Codex/ACP menus and ChatGPT-subscription helpers on gpt-5.5, those are provider option lists, not the curated set. (2) kimi-for-coding: intentional, the proxy does not serve the alias; added a comment saying so. (3) the rule test now checks every provider: two latest present, the one before absent. Local tests green; CI running.