Increase MAX_NAME_LEN from 64 to 128 for plugin-namespaced skill names
What version of Codex CLI is running?
0.133.0
What subscription do you have?
Enterprise
Which model were you using?
gpt-5.4
What platform is your computer?
Darwin 25.5.0 arm64
What terminal emulator and version are you using (if applicable)?
iTerm2 / Terminal.app
Codex doctor report
not available
What issue are you seeing?
12 out of 21 skills from a marketplace plugin fail to load with "invalid name: exceeds maximum length of 64 characters".
The skill names themselves are only 18-27 characters. The issue is that plugin_namespace_for_skill_path() prepends the plugin's plugin.json "name" field (46 characters) plus a colon separator, making the fully-qualified name exceed 64 characters.
Example:
- Plugin name (from plugin.json):
"my-organization-pipeline-assistant"(34 chars) - Skill name (from SKILL.md):
"organizational-code-fix-proposal"(24 chars) - Combined:
"my-organization-pipeline-assistant:organizational-code-fix-proposal"(59 chars) — passes
But with longer org plugin names (46 chars):
- Combined: 46 + 1 + 24 = 71 chars — FAILS
The 64-char limit (MAX_NAME_LEN in codex-rs/core-skills/src/loader.rs) validates the COMBINED namespace:skill-name string, not just the skill's base name. Enterprise plugin distribution systems that auto-generate plugin names from organizational identifiers consume most of the budget, leaving only 17 characters for skill names.
Error output:
⚠ Skipped loading 12 skill(s) due to invalid SKILL.md files.
⚠ .../skills/enterprise-code-fix-proposal/SKILL.md: invalid name: exceeds maximum length of 64 characters
⚠ .../skills/gk-analysis-inconsistencies/SKILL.md: invalid name: exceeds maximum length of 64 characters
(and 10 more)
The limit was reduced from 100 → 64 in PR #7915 to "align character limits to other harnesses." The CLI doesn't have the ChatGPT app's UI display constraints, so 64 is unnecessarily restrictive for CLI-only usage.
What steps can reproduce the bug?
- Create a directory structure for a local marketplace plugin:
``bash``
mkdir -p /tmp/test-plugin/.codex-plugin
mkdir -p /tmp/test-plugin/skills/my-long-named-skill-proposal
- Write
plugin.jsonwith a long namespace:
``bash``
echo '{"name": "my-very-long-organization-name-pipeline-assistant"}' > /tmp/test-plugin/.codex-plugin/plugin.json
- Write a skill with a normal-length name:
``bash``
cat > /tmp/test-plugin/skills/my-long-named-skill-proposal/SKILL.md << 'SKILL'
---
name: my-long-named-skill-proposal
description: A perfectly reasonable skill name that fails due to namespace length
---
# My Skill
SKILL
- Register as a marketplace and enable:
``bash``
codex plugin marketplace add /tmp/test-plugin
codex plugin add my-very-long-organization-name-pipeline-assistant@test-plugin
- Restart codex — skill is rejected:
````
⚠ invalid name: exceeds maximum length of 64 characters
The combined name is:
"my-very-long-organization-name-pipeline-assistant:my-long-named-skill-proposal" = 78 chars > 64
What is the expected behavior?
Proposed fix: Increase MAX_NAME_LEN from 64 to 128 in codex-rs/core-skills/src/loader.rs.
Alternative: Validate the base skill name and namespace prefix independently with separate limits.
Additional information
Additional information
- The limit was introduced by reducing from 100 → 64 in PR #7915 (Dec 2025)
- PR description said "aligned character limits to other harnesses" — likely the ChatGPT desktop app's UI constraints, which don't apply to CLI usage
- All of OpenAI's official plugins (github.com/openai/plugins) use names under 30 chars, so this only surfaces with enterprise marketplace integrations
- A one-line fix: change
const MAX_NAME_LEN: usize = 64toconst MAX_NAME_LEN: usize = 128 - Happy to submit a PR if the team agrees with the direction
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗