openai / openai/codex

Linux Desktop: automatically selected system skill is advertised but unreadable inside managed task sandbox

Open
#45,802 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug sandbox skills
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

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

ChatGPT Version 26.908.70816

What subscription do you have?

ChatGPT Plus

What platform is your computer?

Linux 6.8.0-138-generic x86_64 x86_64

What issue are you seeing?

In the ChatGPT/Codex Desktop app on Linux, an automatically selected bundled system skill is advertised to the model with a valid host path, but the managed local-task sandbox cannot read that path.

For OpenAI- or Codex-related questions, the agent correctly selects the bundled openai-docs skill. The task metadata identifies it as:

/home//.codex/skills/.system/openai-docs/SKILL.md

When the agent attempts to read the file from inside the task, it receives:

sed: /home//.codex/skills/.system/openai-docs/SKILL.md: No such file or directory

The agent consequently reports that the OpenAI documentation skill cannot be found locally and falls back to web search.

The file does exist and is readable from a normal Linux terminal outside the task sandbox. Explicitly invoking $openai-docs in a new task also works: the app injects the complete SKILL.md content, and the agent follows the skill normally.

This suggests that automatic skill selection supplies an inaccessible host path instead of injecting the skill content as explicit skill invocation does.

What steps can reproduce the bug?

Use the ChatGPT/Codex Desktop app on Linux with its normal managed local-task permissions.

In a regular Linux terminal outside the app task, confirm that the bundled skill exists:

if test -f "$HOME/.codex/skills/.system/openai-docs/SKILL.md"; then
echo "Skill exists on the host"
else
echo "Skill is missing on the host"
fi

The result on my system is:

Skill exists on the host

Start a new local Codex task without explicitly mentioning $openai-docs.

Ask a question that causes Codex to select the skill automatically, for example:

ChatGPT has repeatedly reported that the OpenAI documentation skill cannot be found locally. What does that mean, and can we fix it?

Observe that openai-docs is listed as available at:

/home//.codex/skills/.system/openai-docs/SKILL.md

Observe that the task cannot read the advertised file and reports “No such file or directory.”

Start another new task and explicitly enter:

$openai-docs Research in the official OpenAI documentation how skills are provided to local Codex tasks.

Observe that explicit invocation succeeds. The complete openai-docs skill content is injected into the task, and the agent follows its instructions.

No session ID, token-limit issue, or context-window limit appears to be involved.

What is the expected behavior?

Automatically selected bundled system skills should be made available in the same reliable way as explicitly invoked skills.

When Codex determines that openai-docs applies, the app should inject the complete skill content into the task, as it does for an explicit $openai-docs invocation.

Alternatively, the managed sandbox could receive read-only access to the advertised system-skill directory. However, users should not need to grant broad filesystem access merely to use a bundled system skill.

A skill must not be advertised as available at a filesystem path that the task is unable to read. Users also cannot be expected to know in advance which skill Codex will select automatically.

Additional information

Bundled Codex CLI version:

codex-cli 0.154.0-alpha.6.2

Codex executable used by the desktop app:

/usr/lib/chatgpt/resources/codex

Only this Codex executable was found in the task environment, so this does not currently appear to be a conflict between the desktop app and a separately installed Codex CLI.

The local task uses a managed/restricted filesystem profile. The workspace, temporary files, and selected application data are visible, but ~/.codex/skills is not visible inside the task even though the app advertises skills from that location.

This differs from reports where the .system directory is deleted or never created: in this case, the skill file is present and readable on the Linux host but unavailable only inside the managed task sandbox.

Related issues:

https://github.com/openai/codex/issues/20946

https://github.com/openai/codex/issues/19265

https://github.com/openai/codex/issues/20629

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the automatic and explicit skill flows using the managed local-task sandbox, checking /home//.codex/skills/.system/openai-docs/SKILL.md and the bundled executable at /usr/lib/chatgpt/resources/codex. Trace how automatic skill metadata is exposed to the task and compare it with explicit $openai-docs invocation. Done means automatically selected bundled skills are readable in the sandbox without broad filesystem access, with regression coverage for both flows.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
desktop-dev, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.