Repository navigation
Codex App briefly shows bundled system skills, then hides them after initialization #20629
Description
What happened?
Codex Desktop can briefly show bundled system skills such as $imagegen, $skill-creator, and $skill-installer, then hide them after the app finishes initializing. From the user perspective this looks like the skills are not installed or not registered, even though the docs describe them as built-in/system skills and starter prompts explicitly reference them.
This is likely related to #19265, but I am filing this separately because the user-visible failure is the Codex App skill/capability UI flicker and documentation mismatch, not just the filesystem cache deletion.
Environment
- Codex Desktop:
26.429.20946/ build2312 - Desktop bundled CLI:
codex-cli 0.128.0-alpha.1 - Global CLI/npm:
codex-cli 0.128.0/@openai/codex@0.128.0 - macOS:
26.4.1(25E253) - Chronicle/memories were enabled while reproducing
User-visible symptom
- Open Codex Desktop.
- During initialization, the app/skill mention surface briefly exposes bundled system skills, including:
imagegenskill-creatorskill-installer
- A moment later, after initialization settles, those skills disappear.
- This is confusing because official Codex docs and use cases direct users to invoke these skills, e.g.
$skill-creator,$skill-installer, and$imagegenfor slide/image workflows.
Local evidence
While reproducing, the desktop app had codex_chronicle/memory background work launching child codex exec processes with:
--config skills.bundled.enabled=false
During that window:
~/.codex/skills/.systemflipped between present and missing.- When present, it contained the expected bundled system skills:
imagegen
openai-docs
plugin-creator
skill-creator
skill-installer
- Prompt metadata could still mention
.system/.../SKILL.mdpaths, but the directory could be missing immediately afterward.
After setting:
[features]
chronicle = falseand letting the background children drain, no skills.bundled.enabled=false child processes were running and ~/.codex/skills/.system stayed present in the immediate recheck.
Isolated repro of the underlying cache behavior
This reproduces the destructive shared-cache side effect without user config or Chronicle:
tmp_home=$(mktemp -d /tmp/codex-skills-repro.XXXXXX)
CODEX_HOME="$tmp_home" codex debug prompt-input -- 'probe $skill-creator' >/tmp/codex-repro-on.txt
find "$tmp_home/skills/.system" -mindepth 1 -maxdepth 1 -type d -print | sed 's#.*/##' | sort
# imagegen
# openai-docs
# plugin-creator
# skill-creator
# skill-installer
CODEX_HOME="$tmp_home" codex debug prompt-input --config skills.bundled.enabled=false -- 'probe only' >/tmp/codex-repro-off.txt
[ -d "$tmp_home/skills/.system" ] || echo missing
# missing
CODEX_HOME="$tmp_home" codex debug prompt-input -- 'probe again $imagegen' >/tmp/codex-repro-on-again.txt
find "$tmp_home/skills/.system" -mindepth 1 -maxdepth 1 -type d -print | sed 's#.*/##' | sort
# imagegen
# openai-docs
# plugin-creator
# skill-creator
# skill-installerWhy this seems app-visible, not only filesystem-visible
The app has multiple skill/capability surfaces: prompt-visible skills, app skills/list, plugins/apps, and the UI selector/mention experience. When a background process removes CODEX_HOME/skills/.system, the app can appear to switch from a broader transient system-skill set to a narrower post-refresh catalog. To users, this reads as “the documented system skills showed up for a split second, then vanished.”
Expected behavior
- Codex App should have a stable post-initialization story for bundled system skills.
- If
$imagegen,$skill-creator, and$skill-installerare documented system skills, they should either remain selectable/mentionable or be consistently hidden with explicit invocation still working. - A background or ephemeral
codex execprocess with bundled skills disabled should not remove the shared system-skill cache used by the app. - The UI should not briefly expose system skills and then silently remove them without a diagnostic.
Suggested fix
The root fix is probably the same family as #19265:
- Treat
skills.bundled.enabled=falseas process-local visibility/config only. - Do not call
uninstall_system_skills()on the sharedCODEX_HOME/skills/.systemcache from bundled-disabled processes. - Keep the existing
SkillScope::Systemroot filtering for disabled-bundled sessions. - Make the app skill/capability UI wait for one authoritative initialized catalog, or explicitly separate hidden/system skills from user-installed skills in the UI.
This would preserve background/ephemeral isolation without making documented built-in skills flicker or disappear from the main Codex Desktop session.
Activity
github-actions commentedon May 1, 2026
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
omarpinarecords commentedon May 4, 2026
Additional OpenAI Docs-specific confirmation from Codex Desktop for macOS.
Sanitized symptom:
openai-docsis one of the bundled system skills affected by the same.systeminstability described here and in Codex Desktop background exec intermittently deletes ~/.codex/skills/.system #19265.$skill invocation,@mention/picker search, and slash commands.OpenAI Developer DocsMCP entry and anOpenAI Docsskill entry, but this still does not clearly prove to a normal user which route is the intended first-party/System route or whether a duplicate/personal fallback is active.Expected product behavior:
openai-docsSystem skill stable when the app initializes and when background/ephemeral runs execute with bundled skills disabled.$openai-docs,@picker/mentions, slash commands, Skills, Plugins, MCPs, and System vs Personal rows.Impact:
This causes repeated local troubleshooting because a user cannot tell whether official OpenAI Docs access is working, missing, duplicated, or only available through a workaround. No private logs, screenshots, workspace names, or local file paths are included here.
johnsilvavlogs commentedon May 5, 2026
Fresh confirmation from Codex Desktop on macOS that this is still happening, specifically for
$imagegen.Environment:
26.429.61741/ build2429codex-cli 0.128.026.3(25D125), arm64User-visible symptom:
$imagegenin the Codex app a couple of minutes earlier.imagegenskill had vanished.Local checks from the same session showed this was not an on-disk deletion in this case:
The installed system skills visible on disk were:
imagegen/SKILL.mdwas readable and contained the expected bundled Image Generation Skill frontmatter/rules. Its local modified time was2026-05-05 20:28:01 -03, and the current Codex session still exposed the native built-inimage_gentool.So this looks like the same app-visible catalog/autocomplete/index instability described in this issue, but with the important variant that
.systemwas present and healthy on disk when inspected. From the user perspective,$imagegenstill appeared to disappear from the Codex app shortly after being usable.Expected behavior for this variant:
$CODEX_HOME/skills/.system/imagegen/SKILL.mdexists and the nativeimage_gentool is available in the session, the app skill picker/mention surface should keep$imagegenstable or clearly explain that system skills are hidden but directly invocable.TyceHerrman commentedon Jul 28, 2026
#19265 tracks deletion of the shared
.systemdirectory. This issue should remain focused on bundled skills disappearing from the UI while their files are still present. Full evaluation of this issue is blocked until #19265 is fixed.