[Windows App] skills/list blocks thread switching for 14–22s across 29 workspaces

Open 💬 4 comments Opened Jul 15, 2026 by zhangputing

Codex App: 26.707.9981.0
Platform: Windows 11 x64

During a thread switch:

  • thread/list: 74 ms
  • skills/list: 22,154 ms, cwdsCount=29
  • thread/read: 75 ms, but only starts after skills/list completes
  • thread/resume: 60 ms

A second skills/list request took 14,240 ms and reported
missingShortDescriptionCount=3403.

mcpServerStatus/list also took 12,469 ms and cold-started 10 MCP servers.

Local inventory:

  • 3,150 threads
  • 29 workspaces included in skills/list
  • 104 installed plugin/global SKILL.md files

Related reports:

  • #14469: Similar chat-switch lag in the Codex desktop app (closed as a duplicate)
  • #21441: Merged optimization that added bounded concurrency to skills/list

Important: #21441 already limits skills/list CWD loading to five concurrent tasks, but the current app still observes 14–22 seconds of latency. This suggests that increasing concurrency alone is insufficient.

Suggested fix direction:

  • The Desktop app should not block thread switching on the completion of skills/list.
  • The app-server should cache or deduplicate shared global and plugin skill metadata across CWDs, loading only CWD-specific overlays.
  • Add a cold-start performance test covering 29 CWDs and more than 100 shared skills.
  • mcpServerStatus/list should not cold-start every configured MCP server during a status check.

Relevant public code locations:

  • catalog_processor.rs:

https://github.com/openai/codex/blob/main/codex-rs/app-server/src/request_processors/catalog_processor.rs

  • skills_list.rs:

https://github.com/openai/codex/blob/main/codex-rs/app-server/tests/suite/v2/skills_list.rs

I understand that external pull requests are currently accepted by invitation only. I am submitting this issue first to share the reproduction data and proposed direction.

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗