Windows: enabled=false still scans plugin cache; extension-host locks chrome; trusted cwd + catalog ingest (GPT Pro + Copilot Pro)

Open 💬 5 comments Opened Aug 22, 2026 by koob4365-dev
💡 Likely answer: A maintainer (github-actions[bot], contributor) responded on this thread — see the highlighted reply below.

What version of the Codex App are you using (From “About Codex” dialog)?

codex-cli 0.149.0-alpha.4 ChatGPT Desktop / About Codex not opened: opening Desktop rehydrates plugins\cache and can rewrite node_repl. Also: access denied while cleaning stale temp dir and creating PATH aliases under %USERPROFILE%\.codex\tmp\arg0 (version command still succeeded).

What subscription do you have?

ChatGPT GPT Pro

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Move-Item : file in use
...\openai-bundled\chrome\26.818.21641\extension-host\windows\x64

extension-host.exe
%USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\latest\extension-host\windows\x64\extension-host.exe
parent: C:\WINDOWS\system32\cmd.exe

codex --version also: access denied on %USERPROFILE%\.codex\tmp\arg0

Environment

  • Windows Codex CLI + ChatGPT Desktop
  • ChatGPT GPT Pro + GitHub Copilot Pro
  • Official Sign in with ChatGPT only. Not sub2api. Not a wrapper reseller.
  • New user (~1 month). First AI coding month. I was learning from zero, at the keyboard, trying to ship a framework.
  • I only learned yesterday that I could attach my own API key. From day one the official path pushed me into Codex/ChatGPT plugins/skills, not a quiet API session.
  • Intended setup: empty workspace, no skills, no MCP, no plugins.
  • Actual flags: every plugin switch enabled=false, skills.config enabled=false, [mcp_servers.node_repl] enabled=false, approval_policy=on-request.

Impact

This was not a beginner month. It was a cleanup month.

  • ~3 weeks disabling, deleting, and watching official files come back. GPT Pro time went to residue, not learning.
  • Copilot Pro quota on the same PC was also burned chasing a quiet session. The inventory lives under %USERPROFILE%\.codex, so every client pays for it.
  • Longest task 26h 15m was me at the keyboard, not an unattended loop.
  • ChatGPT Pro /usage (heatmap empty until Jul–Aug, ~100 chats):
  • Lifetime 4.49B tokens
  • Peak 528M
  • Streak 11d (best 17d)
  • Recap: 96 skills used / 81 explored. Top plugins included product-design (9) and skill-creator (17). I never opted into product-design. It is openai-curated-remote and was still on disk after enabled=false.
  • Official support: I went to the website to talk to a person. The AI reply vanished halfway. No human.

A beginner sitting at the keyboard for 26 hours, with ~100 chats, does not explain 4.49B lifetime tokens, 96 skills, or product-design uses I never chose.

What happens

enabled=false does not mean gone.

  1. Cache still scanned

~\.codex\plugins\cache is still treated as installed inventory. While “clean”: 19 packs / 2818 files / ~87MB / 120 SKILL.md. Official remote_installed_plugin_sync refreshed 8 curated packs in the same second (2026-08-22 06:51:36). Config only denylisted superpowers@openai-curated-remote. The other 8 (including product-design) had no matching enabled=false.
Empty workspace still loaded superpowers:receiving-code-review and showed ~13.3K tokens used on a one-sentence turn.

  1. Native host locks the cache (same family as #22114, #24296, #32706)

extension-host.exe kept running from the cache after every disable flag, so Windows Move-Item failed (file in use). 2026-08-22:

  • child: extension-host.exe
  • path: %USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\latest\extension-host\windows\x64\extension-host.exe
  • parent: C:\WINDOWS\system32\cmd.exe

After Stop-Process on that PID, moving plugins\cache succeeded. I expect the next Desktop/CLI start to recreate it.

  1. Launch cwd written as trusted

Opening from C:\WINDOWS\system32 then cd to a workspace appended both %USERPROFILE% and C:\Windows\system32 under [projects]. Deleting the list does not stick. Backups: 8 entries → 9 (user profile) → 10 (system32).

  1. Remote catalog still fed to the model

~\.codex\cache\remote_plugin_catalog ~12.7MB / ~2735 plugin names, with skills off.

  1. Desktop can rewrite node_repl

[mcp_servers.node_repl] enabled=false but the env block remains. I have not re-opened Desktop to re-test; prior evidence showed the official UI writes this section.

Also still on disk after “clean” (all enabled=false, files not removed): ~\.codex\skills\.system (skill-creator, …), .sandbox-bin ~299MB, plugins\.plugin-appserver. I am not asking to delete the sandbox. I am asking disable flags to actually disable scan/sync/launch/inject.

Expected

  • enabled=false => do not scan, sync, launch, or inject that plugin/catalog/skill
  • native host must not run from a mutable cache path
  • do not silently trust cwd / system32
  • Desktop must not resurrect node_repl when disabled
  • a GPT Pro beginner should get an empty session, not 120 skills, a locked chrome host, and 4.49B tokens in the first weeks
  • support chat should not disappear mid-reply when someone asks for a human

Not asking in this issue

Not sub2api. Not a public billing-dispute dump. Official Windows clients + this account’s /usage numbers only.

Related

  • #22114 Windows Codex Desktop corrupts chrome@openai-bundled cache when extension-host.exe locks the tree
  • #24296 Chrome native host locks plugin cache
  • #32706 update leaves locked host

What steps can reproduce the bug?

  1. Windows 11 x64, ChatGPT GPT Pro, official codex-cli 0.149.0-alpha.4 (Sign in with ChatGPT, not sub2api).
  2. Set every plugin switch enabled=false, skills.config enabled=false, [mcp_servers.node_repl] enabled=false.
  3. Do not install third-party plugins. Empty workspace.
  4. Open PowerShell from C:\WINDOWS\system32, cd to an empty project, start Codex CLI.
  5. Observe:
  • one user sentence still uses ~13.3K tokens on a 258K window
  • cache skill still listed (e.g. superpowers:receiving-code-review) despite disable flags
  • config.toml [projects] gains trusted entries for %USERPROFILE% and C:\Windows\system32
  1. ~\.codex\plugins\cache still has official packs. Curated remotes (including product-design) were timestamp-touched together (2026-08-22 06:51:36) by remote_installed_plugin_sync. Config only denylisted superpowers@openai-curated-remote.
  2. Move-Item on plugins\cache fails: extension-host.exe is running from

~\.codex\plugins\cache\openai-bundled\chrome\latest\extension-host\windows\x64\extension-host.exe
parent: C:\WINDOWS\system32\cmd.exe.

  1. Stop-Process on that PID, then the cache move succeeds.
  2. codex --version also reports access denied on ~\.codex\tmp\arg0.
  3. I am not reopening ChatGPT Desktop: it rehydrates this cache and can rewrite node_repl.

What is the expected behavior?

  • enabled=false means do not scan, sync, launch, or inject that plugin/skill/catalog.
  • extension-host.exe must not run from a mutable plugins\cache path, and must not hold the tree open so Windows cannot delete it (#22114 / #24296 / #32706).
  • Launch cwd / system32 must not be silently written as trusted [projects].
  • remote_plugin_catalog must not feed thousands of plugin names when plugins are disabled.
  • Desktop must not resurrect node_repl when enabled=false.
  • codex --version must not need write access to stale tmp\arg0 aliases.
  • A GPT Pro beginner in an empty folder should get an empty session.

Additional information

Paid tools on this same Windows profile that were burned diagnosing Codex residue (not a refund ask): Super Grok, Gemini Pro, GitHub Pro, GitHub Copilot Pro+, OpenCode GO, DeepSeek, Hermes original API, DSH, Google Antigravity (org), and Google Cloud (org — the messiest to unwind). I only learned yesterday I could attach my own API; the official path pushed plugins/skills from day one.

~3 weeks as a new user deleting official files that come back. Longest task 26h 15m was me at the keyboard learning from zero, not an unattended loop.

/usage (heatmap empty until Jul–Aug, ~100 chats): lifetime 4.49B, peak 528M, streak 11d (best 17d). Recap: 96 skills used / 81 explored. Top plugins included product-design (9) and skill-creator (17). I never opted into product-design.

Official support chat on the website: AI reply vanished halfway; no human.

Related: #22114 #24296 #32706
I will not open Desktop to re-test until this is addressed.

View original on GitHub ↗

5 Comments

github-actions[bot] contributor · 6 days ago

Potential duplicates detected. Please review them and close your issue if it is a duplicate.

  • #39881

Powered by Codex Action

koob4365-dev · 6 days ago

Addendum 2026-08-22 08:29 +08 (CLI only, Desktop not opened)

After killing extension-host and moving plugins\cache at 07:35, the cache exists again at 07:52. remote_plugin_catalog was rewritten at 08:27 during this CLI session. No Desktop. No extension-host at capture.

  • plugins\cache: 1746 files, 47688591 bytes, LastWrite 2026-08-22 07:52:01
  • remote_plugin_catalog: 1 file, 13308384 bytes, LastWrite 2026-08-22 08:27:28
  • tmp\arg0: 3 files, 226 bytes, LastWrite 2026-08-22 08:27:14 (not in the 06:58 note)
  • skills\.system: still present, 60 files
  • config.toml: enabled=true = 0; 12 plugin stanzas all false; [projects] still has c:\users\525 and c:\windows\system32
  • process: only codex.exe PID 25044. Parent WMI access denied.

Local UTF-8 file:
%USERPROFILE%\Documents\Codex\2026-08-22\ISSUE-40035-ADDENDUM-2026-08-22_08-29-24.txt

CLI 0.149.0-alpha.4 rehydrated cache with every disable flag already false.

zemeng5208 · 6 days ago

This looks like a high-confidence match for one of the local Windows failure modes WinBridge Recovery is intended to diagnose: a bundled Chrome extension-host.exe running from %USERPROFILE%\.codex\plugins\cache\openai-bundled\chrome\latest\... and holding the mutable plugin tree open, so cache cleanup/update operations fail with a Windows file-in-use/access error.

Disclosure: I maintain WinBridge Recovery under the zemeng5208 account: https://github.com/zemeng5208/winbridge-recovery

For this specific report, the relevant WinBridge layer is local bundled-plugin state, not account/model/runtime behavior. It can help inspect/recover:

  • openai-bundled Chrome cache/version/latest drift or partially staged cache state;
  • stale extension-host.exe / native-host processes that still have handles into the mutable cache tree;
  • Chrome Native Host manifest / HKCU registration / v2 state when those are part of why the old host keeps being relaunched;
  • mismatches between the currently installed Codex package and the user-side plugin cache after an update.

That may help establish whether the lock is merely stale local state and allow the cache to be rebuilt cleanly. It does not address the broader semantics reported here (enabled=false still allowing scan/sync/rehydration, trusted-CWD insertion, remote catalog ingestion, or Desktop/CLI deliberately recreating the cache). Your 08:29 addendum is especially important: if CLI 0.149.0-alpha.4 itself recreates the cache while all relevant flags are already false, that is upstream behavior rather than something a local repair utility can make permanently stay disabled.

So I would treat WinBridge only as a diagnostic/recovery aid for the locked/stale local cache/native-host layer here, not as a guaranteed fix for the underlying disable/rehydration bug.

koob4365-dev · 6 days ago

Addendum: official runtime registry, not user-installed MCP.

chrome-native-hosts-v2.json still lists 3 runtime entries (reinstall leftovers).
Only the current Store package still exists:
C:\Program Files\WindowsApps\OpenAI.Codex_26.818.3698.0_x64__2p2nqsd0c76g0\app\resources = true
26.818.2441.0 = false
26.814.5517.0 = false

All entries point here (so deleting user cache cannot stick):
plugins\cache\openai-bundled\chrome\latest\extension-host.exe
plugins\.plugin-appserver\codex.exe
Local\OpenAI\Codex\runtimes\cua_node\...\node_repl.exe
native host com.openai.codexextension
Chrome extension IDs hehggadaopoacecdllhhajmbjkdcmajg / odlomjlbamekndcpllcnffbgeohgkmjh

Also present:
Local\OpenAI\Codex\runtimes\cua_node = true
.codex\plugins\.plugin-appserver\codex.exe = true
Local\OpenAI\extension\com.openai.codexextension.json = true

enabled=false does not stop this copy chain. node_repl is a Store runtime binary, not a user MCP.
Do not need ChatGPT Desktop to reproduce: CLI launch already rehydrates cache.

koob4365-dev · 6 days ago

Addendum 2026-08-22 10:49 MYT — live counts vs what I already deleted. Desktop not opened. Nothing restored from Recycle Bin.

Live (counted today):

  • %USERPROFILE%\.codex\plugins : 1,750 files, 127 SKILL.md
  • %USERPROFILE%\.cache\codex-runtimes : 22,030 files, 9 SKILL.md

I deleted official residue on 2026-08-20. Recycle Bin "Original location" still shows the paths (I am not restoring):

  • 12:05 MYT: %USERPROFILE%\.codex\tmp\plugins\ — staged plugin packs (airtable, shopify, netlify, asana, and many others)
  • 17:17 MYT: %USERPROFILE%\.cache and .cache\codex-runtimes
  • 17:23 MYT: %USERPROFILE%\.codex\.sandbox-bin
  • Recycle Bin still holds ~3,085 files / 306 SKILL.md from those Codex plugin/skill packs

So "8,000+ files / ~120 SKILL.md" is real as combined official residue, not one folder. After that 8/20 delete, CLI 0.149.0-alpha.4 still rehydrated 1,750 plugin files + 22,030 runtime files with every switch enabled=false.

This matches the runtime registry already in this thread: Store package OpenAI.Codex_26.818.3698.0 + native host com.openai.codexextension still point extension-host at plugins\cache\openai-bundled\chrome\latest\. Deleting user cache cannot stick.

Unrelated Recycle Bin items (Adobe / AnyDesk) are not part of this report.