codex - 💡(How to fix) Fix Codex App truncates injected Available skills metadata and deterministically drops the same repo-local skills [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openai/codex#19090Fetched 2026-04-24 06:01:11
View on GitHub
Comments
1
Participants
2
Timeline
7
Reactions
0
Timeline (top)
labeled ×4commented ×1cross-referenced ×1unlabeled ×1

Root Cause

This breaks implicit/adaptive skill routing in the app, because the model never sees those skills as available even though they are present on disk.

Code Example

thesis-tracker
trello
vault-architecture
web-image-search
x-rebound-framework
xlsx
yimeng-tst-decoder
zbgd-video-tts
zbgd-writer

---

"truncation_policy": { "mode": "tokens", "limit": 10000 }

---

Skills/list request cwdsCount=1 forceReload=false
Skills/list missing short_description count ... missingShortDescriptionCount=63
Skills/list ok entryCount=1
RAW_BUFFERClick to expand / collapse

What version of the Codex App are you using?

Codex App 26.417.41555 (CFBundleVersion 1858)

What subscription do you have?

Pro

What platform is your computer?

macOS / Darwin arm64

What issue are you seeing?

Codex App is not failing to discover my repo-local skills on disk. Instead, it appears to truncate the injected ### Available skills block before the model sees it, which causes the same tail subset of skills to be omitted from every desktop-app session.

This is deterministic in my workspace:

  • Repo-local skills on disk: 60
  • System skills also available: 5
  • In the desktop app session prompt, only 55 unique skill names are injected
  • The same 9 repo-local skills are always missing from the injected list
  • In CLI, these skills do not go missing in the same way

Missing repo-local skills in the desktop app session:

thesis-tracker
trello
vault-architecture
web-image-search
x-rebound-framework
xlsx
yimeng-tst-decoder
zbgd-video-tts
zbgd-writer

This breaks implicit/adaptive skill routing in the app, because the model never sees those skills as available even though they are present on disk.

Why I think this is injection truncation rather than discovery failure

I checked the local rollout file for the affected desktop-app thread and found that the developer-injected prompt block includes:

"truncation_policy": { "mode": "tokens", "limit": 10000 }

In the same rollout, the injected ### Available skills section ends after theme-factory / tracking-report-writing, and the 9 skills above are absent.

That strongly suggests the desktop app is truncating the injected skills metadata block rather than failing to discover those skill folders.

I also see desktop logs like:

Skills/list request cwdsCount=1 forceReload=false
Skills/list missing short_description count ... missingShortDescriptionCount=63
Skills/list ok entryCount=1

So the app is clearly going through skills/list, but the final session-visible skill list is still incomplete.

Reproduction

In a repo/workspace with many repo-local skills:

  1. Put many valid skills under the repo-local skill directory (in my case the source of truth is .shared/skills/ and the project mapping points to the same content).
  2. Open the workspace in Codex App.
  3. Start a fresh conversation and ask the agent to list the explicitly available skills.
  4. Compare that list with the actual folders under the repo-local skill directory.
  5. Repeat in a fresh desktop-app thread.

Actual behavior

The app injects a truncated Available skills list, and the same trailing subset of repo-local skills is silently omitted from the model prompt on every fresh app thread.

Expected behavior

The desktop app should not silently drop repo-local skills from the model-visible Available skills list just because the metadata block gets large.

If there is a prompt budget, I would expect one of these instead:

  • do not truncate the skills list at all
  • compress/summarize metadata without dropping skills
  • inject a manifest that preserves all skill names/paths and lazy-loads longer descriptions separately
  • fall back to discovery-at-use time rather than deterministically dropping tail entries

A fixed truncation cap here is especially painful because skill bodies are already loaded lazily; the app is only truncating the metadata that tells the model what exists.

Additional context

This is easy to misdiagnose as:

  • broken symlink handling
  • malformed SKILL.md
  • missing frontmatter
  • missing UI metadata like short_description

But in this case the missing set is deterministic and aligned with prompt truncation, not random discovery failure.

If useful, I can provide the exact injected skill list vs. on-disk skill list from the affected workspace.

extent analysis

TL;DR

The issue is likely due to the truncation policy in the Codex App, which limits the injected skills metadata block to 10,000 tokens, causing the omission of the same subset of repo-local skills from every desktop-app session.

Guidance

  • Verify the truncation policy by checking the truncation_policy mode and limit in the rollout file for the affected desktop-app thread.
  • Check the injected ### Available skills section in the rollout file to confirm that it ends after a specific skill, and the missing skills are absent.
  • Consider increasing the limit value in the truncation_policy or exploring alternative solutions such as compressing or summarizing metadata without dropping skills.
  • Test the app with a smaller number of repo-local skills to see if the issue persists, which can help determine if the problem is indeed related to the truncation policy.

Example

No code snippet is provided as it is not clearly supported by the issue.

Notes

The issue may not be applicable to all versions of the Codex App, and the truncation policy may have been introduced in a specific version. The provided information is specific to version 26.417.41555 (CFBundleVersion 1858).

Recommendation

Apply a workaround by increasing the limit value in the truncation_policy or exploring alternative solutions, as the current truncation cap is causing the omission of repo-local skills.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

The desktop app should not silently drop repo-local skills from the model-visible Available skills list just because the metadata block gets large.

If there is a prompt budget, I would expect one of these instead:

  • do not truncate the skills list at all
  • compress/summarize metadata without dropping skills
  • inject a manifest that preserves all skill names/paths and lazy-loads longer descriptions separately
  • fall back to discovery-at-use time rather than deterministically dropping tail entries

A fixed truncation cap here is especially painful because skill bodies are already loaded lazily; the app is only truncating the metadata that tells the model what exists.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

codex - 💡(How to fix) Fix Codex App truncates injected Available skills metadata and deterministically drops the same repo-local skills [1 comments, 2 participants]