Skip to content

[Bug] v2026.4.29 codex catalog fallback triggers full provider scan, causing event loop stall and slow startup #75564

@momori777

Description

@momori777

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

Describe the bug
升级到 v2026.4.29 后,即使 openclaw.json 中已经配置了自定义模型 (models.providers),启动时遇到 [codex/catalog] codex model discovery failed,随后降级扫描全部内置 provider 镜像(49 个),导致事件循环延迟超 100 秒,models.list 响应耗时 80–120 秒。

After upgrading to v2026.4.29, even though custom models (models.providers) were configured in openclaw.json, when starting up, the error [codex/catalog] codex model discovery failed occurred. Subsequently, all built-in provider images (49 in total) were scanned, resulting in an event loop delay of over 100 seconds, and the response time for models.list was 80–120 seconds.

Steps to reproduce

在 openclaw.json 中配置任意本地 provider(如 custom-localhost-8080)。
确保网络环境无法连接 codex catalog 远程服务。
运行 openclaw gateway --verbose。
日志出现 codex model discovery failed; using fallback catalog,随后加载全部 provider 插件。

Configure any local provider (such as custom-localhost-8080) in openclaw.json.
Ensure that the network environment cannot connect to the remote service of the codex catalog.
Run openclaw gateway --verbose.
The log shows "codex model discovery failed; using fallback catalog", followed by loading all provider plugins.

THE EXECUTE DIRECTORY IS C:\Users\TK\AppData\Roaming\npm\node_modules\openclaw\dist\extensions and THR IMAGE DIRECTORY IS C:\Users\TK.openclaw\plugin-runtime-deps\openclaw-2026.4.29-a0bee92002cd\dist\extensions
IN SHORT,the execute directory will forcefully execute all plugins at APPDATA,only delete useless plugins at runtimes,my local openclaw can run quicker

Expected behavior

当用户已自定义 models.providers 时,应跳过 codex fallback 的全量插件扫描,或至少提供配置项 codex.catalog.enabled 让用户禁用该功能。

When the user has customized models.providers, the full plugin scan for codex fallback should be skipped, or at least a configuration item codex.catalog.enabled should be provided for the user to disable this feature.

Actual behavior

手动删除 plugin-runtime-deps/.../dist/extensions 下多余的 provider 目录,只保留必需的 memory-core、qqbot 等。

Manually delete the unnecessary "provider" directories under "plugin-runtime-deps/.../dist/extensions", and only keep the necessary ones such as "memory-core" and "qqbot".

OpenClaw version

2026.4.29

Operating system

windows11

Install method

git

Model

qwen3.6 35B A3B APEX QUANTI

Provider / routing chain

myself

Additional provider/model setup details

No response

Logs, screenshots, and evidence

my openclaw.json,THE plugin tag is only decorator:
{
  "agents": {
    "list": [
      {
        "id": "main",
        "skills": [
          "clawhub",
          "skill-creator",
          "taskflow",
          "taskflow-inbox-triage"
        ]
      },
      {
        "id": "qqbot",
        "skills": [
          "qqbot-channel",
          "qqbot-media",
          "qqbot-remind"
        ]
      }
    ],
    "defaults": {
      "workspace": "C:\\Users\\TK\\.openclaw\\workspace",
      "thinkingDefault": "off",
      "timeoutSeconds": 5000
    }
  },
  "bindings": [
    {
      "agentId": "main",
      "match": {
        "accountId": "default",
        "channel": "webchat"
      }
    },
    {
      "agentId": "qqbot",
      "match": {
        "accountId": "default",
        "channel": "qqbot"
      }
    }
  ],
  "channels": {
    "qqbot": {
      "enabled": true,
      "allowFrom": [
        "*"
      ],
      "appId": "1903870641",
      "clientSecret": "I like fuck dogs",
      "tts": {
        "provider": "your-provider",
        "model": "your-tts-model",
        "voice": "shiki_nastume"
      }
    }
  },
  "gateway": {
    "auth": {
      "mode": "token",
      "token": "I like fuck cats"
    },
    "bind": "loopback",
    "mode": "local",
    "port": 18789,
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    },
    "controlUi": {
      "allowInsecureAuth": true
    }
  },
  "meta": {
    "lastTouchedAt": "2026-04-29T09:04:20.725Z",
    "lastTouchedVersion": "2026.4.26"
  },
  "models": {
    "mode": "merge",
    "providers": {
      "custom-localhost-8080": {
        "baseUrl": "http://localhost:8080/v1",
        "api": "openai-completions",
        "apiKey": "123456",
        "models": [
          {
            "id": "Qwen3.6-35B-A3B-uncensored-heretic-APEX-I-Compact",
            "name": "Qwen3.6-35B-A3B-uncensored-heretic-APEX-I-Compact (Custom Provider)",
            "api": "openai-completions",
            "reasoning": false,
            "input": [
              "text"
            ],
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            },
            "contextWindow": 262144,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "tools": {
    "alsoAllow": [],
    "profile": "coding",
    "web": {
      "fetch": {
        "enabled": false
      },
      "search": {
        "enabled": false
      }
    }
  },
  "wizard": {
    "lastRunAt": "2026-04-29T07:17:30.006Z",
    "lastRunCommand": "doctor",
    "lastRunMode": "local",
    "lastRunVersion": "2026.4.26"
  },
  "skills": {
    "install": {
      "nodeManager": "npm"
    },
    "entries": {
      "apple-notes": {
        "enabled": false
      },
      "gh-issues": {
        "enabled": false
      },
      "model-usage": {
        "enabled": false
      },
      "1password": {
        "enabled": false
      },
      "bear-notes": {
        "enabled": false
      },
      "gemini": {
        "enabled": false
      },
      "trello": {
        "enabled": false
      },
      "eightctl": {
        "enabled": false
      },
      "apple-reminders": {
        "enabled": false
      },
      "blucli": {
        "enabled": false
      },
      "nano-pdf": {
        "enabled": false
      },
      "xurl": {
        "enabled": false
      },
      "healthcheck": {
        "enabled": false
      },
      "mcporter": {
        "enabled": false
      },
      "node-connect": {
        "enabled": false
      },
      "oracle": {
        "enabled": false
      },
      "weather": {
        "enabled": false
      },
      "qqbot-channel": {
        "enabled": false
      }
    }
  },
  "discovery": {
    "mdns": {
      "mode": "off"
    }
  },
  "plugins": {
    "allow": [
      "memory-core",
      "qqbot"
    ],
    "entries": {
      "openclaw-web-search": {
        "enabled": false
      }
    }
  }
}

Impact and severity

No response

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingbug:behaviorIncorrect behavior without a crash

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions