quick-window-91705
05/28/2026, 5:06 PMchilly-france-44439
05/28/2026, 5:25 PMreview-this?chilly-france-44439
05/28/2026, 5:25 PMchilly-france-44439
05/28/2026, 5:25 PMquick-window-91705
05/28/2026, 5:26 PMchilly-france-44439
05/28/2026, 5:27 PMchilly-france-44439
05/28/2026, 5:34 PMquick-window-91705
05/28/2026, 5:36 PMchilly-france-44439
05/28/2026, 5:40 PMquick-window-91705
05/28/2026, 5:41 PMchilly-france-44439
05/28/2026, 5:45 PMlimited-student-10747
05/28/2026, 6:20 PMchilly-france-44439
05/28/2026, 8:04 PMchilly-france-44439
05/28/2026, 8:04 PMnutritious-balloon-65098
05/28/2026, 8:05 PMnutritious-balloon-65098
05/28/2026, 8:07 PMOpenHands/OpenHands (not in OpenHands/deploy) and flows through two files:
1. enterprise/server/constants.py β The root cause
β’ A versioned map PERSONAL_WORKSPACE_VERSION_TO_MODEL bumps the default model on each release. The current max version (6) maps to 'minimax-m2.7'.
β’ ORG_SETTINGS_VERSION and PERSONAL_WORKSPACE_VERSION are both set to max() of that map, currently 6.
β’ get_default_litellm_model() reads from this map (unless the LITELLM_DEFAULT_MODEL env var is set, which is the escape hatch the team used to "set it back").
2. openhands/app_server/utils/llm.py β A second hardcoded reference
β’ DEFAULT_OPENHANDS_MODEL = 'openhands/minimax-m2.7' is hardcoded and returned as the default_model in the /api/options/models API response. This requires a code change to update (the env var does not override this one).
The auto-upgrade mechanism (why it affects existing users on every release):
β’ enterprise/storage/org_app_settings_store.py β _validate_org_version() runs on every org fetch. If the org's stored org_version is less than the current ORG_SETTINGS_VERSION, it `deep_merge`s the new default model into the org's agent_settings β silently resetting users to minimax on their next login after a deployment.
OpenHands/deploy has no minimax-specific configuration β it's all in the application code.chilly-france-44439
05/28/2026, 8:48 PMnutritious-balloon-65098
05/28/2026, 8:49 PMnutritious-balloon-65098
05/28/2026, 8:49 PMOpenHands/OpenHands:
1. enterprise/server/constants.py β the versionβmodel map:
β¦ PERSONAL_WORKSPACE_VERSION_TO_MODEL[6] = 'minimax-m2.7' (current version = 6)
β¦ get_default_litellm_model() reads this to return litellm_proxy/minimax-m2.7
β¦ _validate_org_version() in org_app_settings_store.py uses this to auto-upgrade every existing user's model on next login whenever their stored org_version is behind the current one β which is why it feels like a reset on every release
1. openhands/app_server/utils/llm.py β hardcoded DEFAULT_OPENHANDS_MODEL = 'openhands/minimax-m2.7', returned as the frontend's pre-selected default by /api/options/models
The OpenHands/deploy repo has no minimax-specific overrides β it's entirely in the OpenHands codebase. The escape hatch is the LITELLM_DEFAULT_MODEL env var, which bypasses the version map.
Question 2: Who implemented it? Vasco Schiavo (@VascoSch92), who authored and merged PR #14508 on May 21, 2026, described as a co-promotion with MiniMax for a model profiles launch.chilly-france-44439
05/28/2026, 8:51 PM