Skip to content

/iterate still fails to load in Codex because .codex-plugin symlink is lost during plugin install #257

@LuneZ99

Description

@LuneZ99

Description

/iterate still cannot be loaded as a Codex plugin after the previous fix in #202.

The upstream marketplace snapshot appears correct: skills/iterate/.codex-plugin exists and is a symlink to .plugin.

However, after installing the plugin with Codex CLI, the installed cache no longer contains .codex-plugin, so Codex still fails to load the plugin.

Environment

  • Codex CLI version: 0.132.0
  • OS: Linux x86_64
  • Marketplace: https://github.com/OpenHands/extensions.git
  • Plugin: iterate@openhands-extensions

Steps to Reproduce

codex plugin marketplace upgrade openhands-extensions
codex plugin remove iterate@openhands-extensions
codex plugin add iterate@openhands-extensions

Then start a new Codex session or trigger plugin loading.

Observed Behavior

The marketplace snapshot contains the expected symlink:

~/.codex/.tmp/marketplaces/openhands-extensions/skills/iterate/.codex-plugin -> .plugin

But after installation, the plugin cache does not contain .codex-plugin:

~/.codex/plugins/cache/openhands-extensions/iterate/1.0.0/
  .plugin/
  README.md
  SKILL.md
  commands/
  references/

Codex then logs:

codex_core_plugins::loader: failed to load plugin: missing or invalid plugin.json plugin="iterate@openhands-extensions" path=~/.codex/plugins/cache/openhands-extensions/iterate/1.0.0

As a result, /iterate is not available in Codex.

Expected Behavior

iterate@openhands-extensions should install with a valid Codex manifest path:

~/.codex/plugins/cache/openhands-extensions/iterate/1.0.0/.codex-plugin/plugin.json

and /iterate should be registered as a usable command.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions