How to Use Codex Plugin Marketplace: Install, Manage, and Share Plugins
My team had a plugin sharing problem. Every time someone created a useful Codex plugin, they’d Slack the file to everyone else. We had three different versions of the same “deployment-helper” plugin floating around, and nobody knew which one was current.
I knew there had to be a better way. After digging through the documentation, I discovered Codex has a three-tier marketplace system that solved our problem completely.
The Problem with Manual Plugin Management
Before understanding the marketplace system, I was doing everything wrong:
- Copying plugin files between projects manually
- No version tracking for team plugins
- No discovery mechanism for useful tools
- Different team members had different plugin versions
The worst part? I didn’t even know there was a better approach.
Discovering the Three-Tier System
Codex actually provides three marketplace levels, each serving a different scope:
+------------------+---------------------------+------------------------+| Tier | Location | Purpose |+------------------+---------------------------+------------------------+| Official | OpenAI-hosted | Community plugins || Repository | $REPO_ROOT/.agents/plugins| Team-wide sharing || Personal | ~/.agents/plugins | Local experiments |+------------------+---------------------------+------------------------+Each tier has a specific use case. I was trying to use the personal tier for team sharing—which was my first mistake.
The Official Marketplace
The OpenAI-hosted marketplace is the easiest entry point. It’s a central catalog of curated plugins.
Current Limitation: It’s display-only right now. You can browse and discover plugins, but self-publishing isn’t available yet. OpenAI says it’s coming soon.
Best for: Discovering community plugins and official integrations. When you need something standard, check here first.
The Repository Marketplace
This was the game-changer for my team. The repository marketplace lives at $REPO_ROOT/.agents/plugins/marketplace.json and gets version-controlled alongside your code.
Here’s what our team marketplace looks like:
{ "plugins": [ { "name": "team-code-review", "source": "github:myorg/codex-plugins", "version": "1.2.0" }, { "name": "deployment-helper", "version": "3.0.1", "source": "github:myorg/devops-plugins" }, { "name": "test-generator", "version": "2.1.0", "source": "github:myorg/testing-tools" } ]}When a team member clones the repo, they get the exact same plugin configuration. No more Slack file transfers. No more version confusion.
Best for: Team-specific workflows and project-standard plugins.
The Personal Marketplace
Located at ~/.agents/plugins/marketplace.json, this is your private plugin playground.
{ "plugins": [ { "name": "my-experimental-tool", "source": "local:~/dev/plugins/experimental", "version": "0.1.0" }, { "name": "temp-automation", "source": "github:someone/cool-plugin", "version": "1.0.0" } ]}I use this for:
- Experiments I’m not ready to share
- Personal productivity tools
- Testing plugins before promoting to team marketplace
Best for: Personal productivity tools and experimental plugins.
Understanding Installation and Caching
When Codex installs a plugin, it stores two things:
~/.codex/plugins/cache/ <- Downloaded plugin code~/.codex/config.toml <- Enable/disable stateThe cache enables offline usage and faster re-activation. The config file tracks which plugins are active.
Here’s what my config looks like:
[plugins]team-code-review = { enabled = true }deployment-helper = { enabled = false }experimental-tool = { enabled = true }test-generator = { enabled = true }I can enable or disable plugins without re-downloading them.
Common CLI Commands
# Install a plugin from marketplacecodex plugin install team-code-review
# List all installed pluginscodex plugin list
# Enable a disabled plugincodex plugin enable deployment-helper
# Disable without removingcodex plugin disable experimental-tool
# Remove completelycodex plugin remove temp-automationThe Mistake I Made Initially
I published team plugins to my personal marketplace, then wondered why nobody else could use them. The tiers aren’t just different locations—they serve different scopes:
Official -> Everyone in the communityRepository -> Everyone with repo accessPersonal -> Only you, on your machineOnce I moved plugins to the repository marketplace and committed the marketplace.json file, the team instantly had access.
A Workflow That Works
Here’s the process I now follow:
graph TD A[Create Plugin] --> B{Scope Decision} B -->|Just for me| C[Personal Marketplace] B -->|Team needs it| D[Repository Marketplace] B -->|Everyone needs it| E[Official Marketplace] D --> F[Commit to Git] F --> G[Team Pulls Changes] G --> H[Everyone Has Same Plugins] C --> I[Test Locally] I --> J{Works Well?} J -->|Yes| D J -->|No| K[Iterate] K --> IVersion Control Strategy
For repository plugins, I treat marketplace.json like any other dependency file:
- Pin versions explicitly - No wildcards or “latest”
- Update deliberately - Changes go through code review
- Document additions - Why did we add this plugin?
{ "plugins": [ { "name": "team-code-review", "source": "github:myorg/codex-plugins", "version": "1.2.0", "notes": "Automated PR review for Python projects. Added 2026-03-15." } ]}The notes field isn’t required, but it helps new team members understand the purpose.
When to Use Which Tier
+------------------------+------------------+------------------+| Scenario | Use Tier | Why |+------------------------+------------------+------------------+| Official integration | Official | Curated, trusted || Team workflow tool | Repository | Shared access || Personal experiment | Personal | No impact on team|| Testing before share | Personal first | Safe iteration || Production deployment | Repository/Official| Reliable source |+------------------------+------------------+------------------+Summary
The Codex Plugin Marketplace solved our plugin chaos. The key insight is matching the tier to the scope:
- Personal marketplace for experiments
- Repository marketplace for teams
- Official marketplace for community tools
Don’t do what I did—copying files manually, losing track of versions, and confusing your teammates. Use the marketplace system as it was designed.
Final Words + More Resources
My intention with this article was to help others share my knowledge and experience. If you want to contact me, you can contact by email: Email me
Here are also the most important links from this article along with some further resources that will help you in this scope:
Oh, and if you found these resources useful, don’t forget to support me by starring the repo on GitHub!
Comments