microsoft / microsoft/Webwright
Codex marketplace registration succeeds, but Webwright does not appear in /plugins
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 6k
- Forks
- 385
- PR merge metrics
- No merged PRs in 30d
Description
Summary
codex plugin marketplace add microsoft/Webwright succeeds, but Webwright does not appear in codex plugin list or /plugins, so it cannot be installed from the Codex marketplace flow documented in the README.
@n-seiji has reviewed and confirmed all of the issue details below.
Environment
- Repository:
microsoft/Webwright - Tested upstream commit:
734bc60ea73653498215694d0cc4bc96fbc09e9c - Codex CLI:
codex-cli 0.134.0 - Date tested: 2026-05-30
Reproduction
codex plugin marketplace add microsoft/Webwright
codex plugin list | rg -i webwright
codex plugin add webwright@webwright
Actual behavior
The marketplace is registered successfully, but no Webwright plugin is listed.
codex plugin add webwright@webwright fails because the plugin cannot be found in the marketplace.
The current repository contains:
.claude-plugin/marketplace.json
.claude-plugin/plugin.json
.codex-plugin/plugin.json
skills/webwright/SKILL.md
but it does not contain a Codex marketplace index at:
.agents/plugins/marketplace.json
Expected behavior
After adding the marketplace, Webwright should appear in codex plugin list and /plugins, and it should be installable with Codex.
Investigation
From the local Codex plugin creator guidance and bundled marketplace examples, Codex repo/team marketplaces are expected to expose a marketplace index at:
.agents/plugins/marketplace.json
The marketplace entries commonly point to plugin roots using:
./plugins/<plugin-name>
The plugin root then contains:
.codex-plugin/plugin.json
I also tested more direct root paths such as . and ./, but those did not make the plugin discoverable. This appears related to the Codex behavior discussed in openai/codex#17066, where root plugin source paths are not accepted as expected.
Verified workaround
I verified a fork-based fix using:
.agents/plugins/marketplace.json
plugins/webwright -> ..
The marketplace entry points to:
./plugins/webwright
Because plugins/webwright is a symlink to the repository root, the existing files remain authoritative:
.codex-plugin/plugin.json
skills/webwright/SKILL.md
This avoids duplicating the skills/webwright tree under plugins/webwright/skills/webwright.
With that layout, the following worked locally:
codex plugin marketplace add n-seiji/Webwright
codex plugin list | rg -i webwright
codex plugin add webwright@webwright
The installed cache included:
skills/webwright/SKILL.md
Suggested fix
Add a Codex marketplace index and expose the existing plugin root through a ./plugins/webwright path, for example:
.agents/plugins/marketplace.json
plugins/webwright -> ..
This keeps the existing .codex-plugin/plugin.json and skills/webwright layout intact, while matching the Codex marketplace path convention.
This should not affect the Claude Code plugin path because .claude-plugin/marketplace.json and .claude-plugin/plugin.json remain unchanged.
One tradeoff is that the symlink approach may cause Codex to cache the repository root as the plugin root, rather than a smaller dedicated plugin subdirectory. The benefit is avoiding duplicate skill files and duplicate maintenance.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing .claude-plugin/marketplace.json, .codex-plugin/plugin.json, and skills/webwright/SKILL.md, then review the reported .agents/plugins/marketplace.json convention and the verified plugins/webwright path. Run the marketplace add, list, and install commands from the issue; done means Webwright appears in the list and /plugins and installs with its skill available.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 64/100