Codex CLI doesn’t load skills from .agents/skills when it is a symlink
Description
Codex CLI does not discover skills when .agents/skills is a symlink. Skills load correctly when .agents/skills is a real directory. This breaks workflows where .agents/skills points to another location.
Expected behavior
Codex should traverse .agents/skills even when it is a symlink, and load skills found under the target directory.
Actual behavior
When .agents/skills is a symlink, no skills are discovered. Replacing the symlink with a real directory makes the skills appear.
Steps to reproduce
1) Create a skills directory at skills-store/ containing skill folders with SKILL.md files.
2) Make .agents/skills a symlink to that directory:
ln -s skills-store .agents/skills
3) Start Codex in the repo and check the available skills list.
4) Observe that none of the skills under the symlink are loaded.
5) Replace the symlink with a real directory:
mv .agents/skills .agents/skills.symlink.bakmkdir -p .agents/skillscp -R skills-store/* .agents/skills/
6) Restart Codex and check skills again.
7) Skills are now discovered.
Environment
- Codex CLI version: v0.98.0
- OS: macOS (Darwin 25.2.0, arm64)
Workaround
Use a real .agents/skills directory (copy files instead of symlinking).
This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗