microsoft / microsoft/Webwright

Codex marketplace registration succeeds, but Webwright does not appear in /plugins

Open
#37 2 comments 4 reactions 0 assignees View on GitHub

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

  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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.