diff --git a/agent/model_metadata.py b/agent/model_metadata.py index b2c5a1c9fe8..3a71e974fdb 100644 --- a/agent/model_metadata.py +++ b/agent/model_metadata.py @@ -1838,6 +1838,17 @@ def get_model_context_length( from agent.models_dev import lookup_models_dev_context ctx = lookup_models_dev_context(effective_provider, model) if ctx: + # MiniMax M3: models.dev reports 512K but actual context is 1M. + # Prefer hardcoded catalog over stale probe value. + if _model_name_suggests_minimax_m3(model): + catalog = DEFAULT_CONTEXT_LENGTHS.get("minimax-m3") + if catalog and ctx < catalog: + logger.info( + "Rejecting models.dev context=%s for %r " + "(MiniMax-M3 underreport); using hardcoded default %s", + ctx, model, f"{catalog:,}", + ) + ctx = catalog return ctx # 6. OpenRouter live API metadata — provider-unaware fallback.