OpenAI Codex Plugins Guide: Directory, Setup, and the Plugin Ecosystem
OpenAI Codex Plugins Guide: Directory, Setup, and the Plugin Ecosystem
Codex stops being "the AI that edits your files" the moment you give it a plugin. Suddenly it can read a Sentry stack trace, pull a Figma frame, or draft a Slack update without you copy-pasting anything between tabs. This guide walks through what Codex plugins actually are, how they're built from skills, apps, and MCP servers, which ones OpenAI curates today, and how to wire them into a daily developer workflow without creating a security mess.
Table of Contents
- What Is OpenAI Codex
- Why Developers Are Adopting Codex
- Installing and Configuring Codex
- Plugins vs Skills vs Apps vs MCP
- The Plugin Directory
- The Codex Plugin Ecosystem
- GitHub Integration
- Figma Integration
- Notion Integration
- Slack Integration
- Sentry Integration
- Browser Automation
- Terminal Workflow
- AGENTS.md
- Memory
- Prompt, Context, and Loop Engineering
- Multi-Agent and Subagent Workflows
- Real Workflows, Step by Step
- Best Practices
- FAQ
What Is OpenAI Codex
Codex is OpenAI's coding agent. It reads a repository, plans a change, edits files, runs commands in a sandbox, and hands you a diff to review — from four surfaces that share the same configuration: the Codex app, an IDE extension, a CLI, and a cloud/web environment for longer-running or background tasks. Because all four read the same ~/.codex configuration, an MCP server or plugin you set up once follows you between the terminal and the IDE.
In short: Codex is less a single tool than a runtime — a place where skills, app connections, and MCP servers snap together around a coding task, instead of you rebuilding the same setup in every project.
Why Developers Are Adopting Codex
Most "AI coding assistant" comparisons focus on model quality, but the more interesting shift is structural. Codex separates three things that used to live in one giant system prompt: instructions (AGENTS.md), reusable procedures (skills), and tool access (apps and MCP servers). That separation is what makes plugins possible — a plugin is just a bundle of those three things you can install and uninstall as a unit, instead of pasting boilerplate into every new chat.
The practical result: a team can standardize how Codex reviews pull requests, reads Sentry issues, or drafts documentation, and ship that standard as an installable package rather than a wiki page nobody reads.
Installing and Configuring Codex
The CLI is the fastest place to see configuration take effect. Codex stores settings in ~/.codex/config.toml by default (override with CODEX_HOME for a project-specific profile).
# Open the plugin browser inside the CLI codex /plugins # Add an MCP server directly from the CLI codex mcp add context7 -- npx -y @upstash/context7-mcp # See active MCP servers in a running session /mcp For fine-grained control — timeouts, tool allow-lists, per-tool approval modes — edit config.toml directly. Here's a minimal, realistic block for a streamable-HTTP MCP server:
[mcp_servers.figma] url = "https://mcp.figma.com/mcp" bearer_token_env_var = "FIGMA_OAUTH_TOKEN" [mcp_servers.figma] startup_timeout_sec = 20 tool_timeout_sec = 45 config.toml is Codex's single source of truth for MCP servers, plugin enable/disable state, and approval policy. Project-scoped copies at .codex/config.toml override the global file, but only in projects you've marked trusted.
Plugins vs Skills vs Apps vs MCP
These four terms get used interchangeably in marketing copy, which is exactly why beginners get stuck. Here's the distinction that actually matters when you're deciding what to install.
| Concept | What it is | Example |
|---|---|---|
| Skill | Reusable instructions Codex loads for a specific kind of task — steps to follow, references, sometimes a helper script. | A skill that walks Codex through triaging a Sentry backlog |
| App | A connection to an external tool (GitHub, Slack, Google Drive) so Codex can read data from it and take actions in it. | The Gmail app lets Codex read and send email |
| MCP server | A service — local or remote — exposing tools or context to Codex over the Model Context Protocol, often for systems outside your project. | A Figma MCP server exposing your design file as tools |
| Plugin | An installable bundle that packages any combination of the three above into one reusable workflow. | A "Gmail" plugin bundling the Gmail app plus triage skills |
So when someone says "install the GitHub plugin," what actually lands on your machine can be a skill, an app connection, an MCP server, or all three — the plugin is just the wrapper that makes it installable and shareable.
The Plugin Directory
Codex organizes plugins into three groups, whether you're browsing them in the app or in the CLI:
- Curated by OpenAI — reviewed plugins available to all Codex users.
- Shared with you — plugins another member of your ChatGPT workspace has published internally.
- Created by you — plugins you've scaffolded and added to your own workspace.
Installing is the same everywhere: open a plugin's detail page, select install (or Install plugin in the CLI), connect any external app it needs when prompted, then start a new thread before using it. Your existing approval settings still govern what the plugin is allowed to do once it's live — installing it doesn't grant blanket permissions.
Describe the outcome you want ("summarize today's unread threads") and let Codex pick the installed tool, or type @ to name a specific plugin or skill when you want to be explicit about which one runs.
To disable a plugin without removing it, flip its entry in config.toml:
[plugins."gmail@openai-curated"] enabled = false The Codex Plugin Ecosystem
As of this writing, OpenAI's curated directory centers on a focused set of tools rather than a sprawling app-store catalog — a deliberate choice, since each curated plugin has gone through review. Third-party and workspace-authored plugins extend far beyond this list, but they carry different trust guarantees, so it's worth knowing which is which.
| Category | Curated by OpenAI | Native product integration | Reach via custom MCP |
|---|---|---|---|
| Source control | GitHub | GitHub (deeper, first-party) | GitLab, Bitbucket |
| Design | Figma | — | — |
| Docs & knowledge | Notion, Google Drive, Box | — | Confluence |
| Comms & project mgmt | Slack, Linear | Slack, Linear (deeper, first-party) | Jira |
| Debugging & observability | Sentry | — | — |
| ML & data | Hugging Face | — | PostgreSQL, Supabase |
| Infra & deploy | Cloudflare, Vercel | — | Netlify, Docker |
| Gmail | — | — |
The "reach via custom MCP" column isn't a curated Codex plugin — it's what's realistically possible by pointing Codex at a community or self-hosted MCP server for that tool (the way the docs point to the community GitHub MCP server and Chrome DevTools MCP server as examples). Don't assume a named integration exists just because the underlying protocol supports it; check the plugin directory or MCP registry for your workspace before promising a workflow to a team.
How to read a plugin card
Every plugin in this guide is labeled with what kind of trust boundary it sits behind:
Example card anatomy
CuratedThe manifest line mirrors the actual config key Codex uses internally (like gmail@openai-curated above) — useful shorthand when you're auditing what's installed across a team.
Development
GitHub
Curated + NativeWhat it does: lets Codex read repos, open and comment on pull requests, and act on issues. Why use it: avoids the copy-paste loop between a PR tab and your terminal. Workflow: assign Codex to an issue, review the diff it proposes, merge. Pros: first-party, low setup friction. Cons: broad write access needs careful approval settings on shared repos.
Filesystem & Terminal
Built-inWhat it does: Codex's shell and apply-patch tools, available without any plugin. Why it matters: most "just run the tests" workflows never need a plugin at all — this is the baseline every plugin builds on top of.
Documentation & Design
Notion
CuratedWhat it does: create and edit Notion pages and databases from Codex. Real example: turn a merged PR's commit messages into a changelog page. Best practice: scope the Notion connection to a specific workspace, not your whole account.
Figma
MCP-basedWhat it does: inspect designs and extract specs/components via Figma's own local or remote MCP server. Con: large files can be slow to inspect over the remote server — prefer the local server for big design systems.
Productivity
Slack
Curated + NativeWhat it does: summarize channels, draft replies, post updates. Watch out for: giving a shared plugin post permissions in a busy channel — start with draft-only mode.
Linear
Curated + NativeWhat it does: create and manage issues and projects directly from a coding session. Typical use: Codex opens a Linear ticket for a bug it found but didn't fix in this pass.
Debugging
Sentry
CuratedWhat it does: monitor errors, triage issues, correlate a stack trace with the commit that likely caused it. Real example: "pull the top 5 unresolved Sentry issues from the last 24 hours and propose fixes" turns a dashboard-scrolling task into one prompt. Con: Codex can propose a fix faster than your team can review one — pair it with mandatory PR review, not auto-merge.
Deployment
Vercel
CuratedWhat it does: deploy, preview, and manage Vercel projects from a Codex thread. Best practice: keep production deploys behind manual approval even after Codex is trusted with preview deploys.
Cloudflare
CuratedWhat it does: manage Workers, Pages, and DNS. Con: DNS changes are high-blast-radius — this is a plugin worth leaving on prompt approval mode permanently.
GitHub Integration
GitHub gets special treatment because Codex ships both a curated plugin and a deeper first-party integration for it — plus a dedicated GitHub Action for CI-triggered runs. In practice that means three separate entry points: assign Codex to an issue from GitHub's UI, invoke it from the CLI against a checked-out repo, or trigger it from a workflow file on every PR. Teams standardizing on Codex for code review usually start with the Action, since it doesn't require every contributor to have Codex configured locally.
Figma Integration
Figma connects to Codex through Figma's own MCP server rather than a Codex-side integration, in both a local (desktop app) and remote (hosted) flavor. This is a good illustration of the plugin model at its best: OpenAI didn't have to build Figma-specific tooling, it just had to support MCP well, and Figma's own server does the rest. The trade-off is that server behavior, rate limits, and reliability live outside OpenAI's control.
Notion Integration
The curated Notion plugin bundles page and database read/write with skills tuned for turning engineering output — commit logs, PR summaries, incident timelines — into structured Notion content. It's one of the clearer wins for teams that already treat Notion as the source of truth for decisions, since it removes the "someone has to manually update the doc" step.
Slack Integration
Like GitHub, Slack has both a curated plugin and a deeper native integration. The practical difference shows up in latency-sensitive workflows: native integrations tend to support richer triggers (a Codex run kicked off from a Slack message, not just Codex posting to Slack), where a plugin alone is typically one-directional from Codex into the channel.
Sentry Integration
Sentry is arguably the highest-leverage plugin for a team already shipping fast, because it collapses "notice the error → find the stack trace → find the commit → propose the fix" into a single conversational loop. The catch: Codex will happily propose a fix for a stale or duplicate issue if you don't scope the query (open issues, last 24h, specific project), so specificity in the prompt matters more here than almost anywhere else in this guide.
Browser Automation
For anything that lives in a browser rather than an API — visually verifying a UI change, scraping a page that has no public API, driving a login flow — Codex reaches for browser MCP servers rather than a dedicated "browser plugin." The two the docs call out most are Playwright and Chrome DevTools, both controllable through MCP. The Codex app also ships its own in-app browser and a Chrome extension for tighter loop between "look at the page" and "edit the code."
Terminal Workflow
The CLI is where plugin and MCP configuration actually gets exercised day to day. A few commands worth memorizing:
/plugins # browse, install, toggle plugins by marketplace /mcp # list active MCP servers in this session codex mcp add # add a new MCP server from the shell codex mcp --help In the plugin browser's marketplace tabs, pressing Space on an installed plugin toggles it on or off for the current session — useful when you want to rule out a plugin as the cause of an unexpected tool call without fully uninstalling it.
AGENTS.md
AGENTS.md is the single most underused lever in most Codex setups. Codex reads it before doing any work, building an instruction chain from a global file in ~/.codex/AGENTS.md down through every directory between your project root and your current working directory — each nested file layering on top of, or overriding, the ones above it.
# AGENTS.md ## Repository expectations - Run `npm run lint` before opening a pull request. - Document public utilities in docs/ when you change behavior. Nested AGENTS.override.md files let a specific subdirectory (say, a payments service with stricter rules) fully replace the guidance above it rather than append to it — useful in monorepos where "run the tests" means something different in every package.
Keep AGENTS.md for rules that must always apply — test commands, package manager, forbidden actions. Don't use it to store context that changes often; that belongs in memory or in the prompt itself.
Memory
Codex's local memory system is separate from ChatGPT's web memory and is off by default. Once enabled, Codex can turn context from idle, eligible past sessions into local memory files under ~/.codex/memories/, redacting secrets as it goes and skipping short-lived chats so it isn't summarizing work that's still in progress.
[features] memories = true Two settings worth knowing: memories.use_memories controls whether past memories get injected into new sessions, and memories.disable_on_external_context keeps chats that relied on web search or MCP tool calls out of memory generation entirely — handy if you don't want a Sentry-triage session polluting memory with someone else's stack trace.
Treat memory as a convenience layer, not a compliance mechanism. Required rules belong in AGENTS.md, which is deterministic and version-controlled; memory is generated, can lag, and can be turned off per chat with /memories.
Prompt, Context, and Loop Engineering
Three related but distinct skills separate developers who fight Codex from developers who fly through a backlog with it.
Prompt engineering
Say what you want changed and what "done" looks like, not just the symptom. "Fix the flaky checkout test" is weaker than "the checkout test fails intermittently on the discount-code assertion — reproduce it, find the race condition, and add a regression test."
Context engineering
This is about what Codex has access to, not what you type: the right AGENTS.md scope, the right MCP servers enabled, the right files open. A perfectly worded prompt still fails if Codex can't see the config file that actually controls the behavior you're asking about.
Loop engineering
The practice of designing repeatable propose → run → check → repeat cycles instead of one-shot prompts — for example, wiring Codex to run the test suite after every change and keep iterating until it's green, rather than reviewing each attempt by hand. Codex's cookbook documents this pattern directly for iterative repair loops.
Multi-Agent and Subagent Workflows
Codex supports subagents — scoped agent instances a primary Codex session can delegate specific pieces of work to. The practical use case is parallelizing independent work: one subagent runs the test suite and reports back while the primary session keeps editing, rather than one agent doing everything serially. This is a newer and more advanced surface than plugins or MCP, and it's worth treating it as an optimization once your single-agent workflow is already reliable, not a starting point.
Real Workflows, Step by Step
1. Build a React application with Codex
Scaffold with a clear AGENTS.md in place first (package manager, test command), then prompt for the feature in outcome terms. Ask for tests alongside the component, not as an afterthought.
2. Fix production bugs using the Sentry plugin
Scope the query, ask for root cause before a fix, and require a regression test in the same diff.
3. Generate UI directly from Figma
Point Codex at a specific frame, not a whole file — large files slow down MCP inspection and increase the chance of pulling in unrelated components.
4. Write documentation from GitHub commits
5. Refactor a legacy codebase
Ask for a plan before code. Legacy refactors are where loop engineering earns its keep — have Codex refactor one module, run the suite, and only continue once it's green.
6. Review pull requests automatically
The GitHub Action is the right entry point here — trigger Codex review on every PR rather than relying on someone remembering to ask for it manually.
7. Generate SQL migrations
Without a curated database plugin, this typically runs through a project-scoped MCP server for your database, with the migration always reviewed and applied manually rather than auto-executed.
8. Deploy to Vercel
Keep production deploys behind a manual approval step even once preview deploys feel routine.
Best Practices
Dos
- Keep AGENTS.md scoped and specific — one clear rule beats five vague ones.
- Start new plugins in
promptapproval mode before switching toauto. - Uninstall plugins you're not actively using — every installed tool is attack surface.
- Scope MCP server credentials to the minimum the task needs.
Don'ts
- Don't rely on memory for rules that must always apply — use AGENTS.md.
- Don't grant a plugin production write access "to save a step" — the step it saves is the one that catches mistakes.
- Don't stack unrelated MCP servers into one session just because they're installed — each one adds tokens to context and a chance of tool confusion.
Mistakes beginners make
- Treating a plugin's install as a one-time decision instead of revisiting its permissions as the project matures.
- Writing prompts that describe the symptom instead of the desired end state.
- Skipping AGENTS.md entirely and re-explaining project conventions in every single prompt.
Repository organization checklist
- A root-level AGENTS.md with test command, package manager, and forbidden actions
- Nested AGENTS.override.md only where a subdirectory genuinely differs
- Project-scoped
.codex/config.tomlfor MCP servers specific to this repo - A short list of which plugins are approved for this repo and why
FAQ
Is Codex free?
Codex is included with ChatGPT plans and also billable through the API depending on how you access it; check OpenAI's current pricing page for the exact tiers, since these change.
Can Codex replace GitHub Copilot?
They overlap in inline code suggestions but differ in scope — Codex is built around full agentic tasks (multi-file edits, running commands, using plugins) rather than autocomplete alone. Many teams run both.
What are Codex Plugins?
Installable bundles of skills, app connections, and MCP servers that package a reusable workflow so you don't rebuild it from scratch in every project.
What is MCP?
Model Context Protocol — an open protocol that connects Codex to third-party tools and context, whether that's a local process (STDIO) or a hosted service (streamable HTTP).
Can Codex browse GitHub?
Yes, through the curated GitHub plugin, the deeper native GitHub integration, or the GitHub Action, depending on where you need it triggered from.
How do plugins work?
You install one from the directory, connect any external app it needs, and Codex either picks it automatically for a matching task or you invoke it explicitly with @.
Does Codex work with VS Code?
Yes, via the Codex IDE extension, which shares configuration with the CLI and app.
What's the difference between a plugin and an MCP server?
An MCP server is a tool-access mechanism; a plugin is a distributable package that can include one or more MCP servers alongside skills and app connections.
Are all Codex plugins made by OpenAI?
No — the directory separates plugins curated by OpenAI from ones shared inside your workspace and ones you create yourself; only the curated tier goes through OpenAI's own review.
How do I turn off a plugin without uninstalling it?
Set enabled = false under that plugin's entry in config.toml, or press Space on it in the CLI plugin browser.
What is AGENTS.md?
A file (or chain of files) Codex reads before every run to pick up project- and directory-specific instructions, merged from your global config down to your current working directory.
Does Codex remember past conversations?
Only if you enable local memory, which is off by default, redacts secrets, and can be controlled per chat with /memories.
Can Codex control a browser?
Yes, through MCP servers like Playwright or Chrome DevTools, or the Codex app's built-in browser and Chrome extension.
What are subagents?
Scoped Codex instances a primary session can delegate specific work to, useful for parallelizing independent tasks like running tests while editing continues.
Is it safe to let Codex auto-approve plugin actions?
For read-only or low-risk tools, often yes. For anything with write access to production systems, keep approval mode on prompt so a human confirms before the action runs.
Can I build my own Codex plugin?
Yes — Codex's docs cover local scaffolding, manifest structure, and marketplace packaging for distributing a plugin to your team or publicly.
Key Takeaways
- A Codex plugin bundles skills, app connections, and MCP servers into one installable workflow — it's a wrapper, not a fourth separate mechanism.
- OpenAI's curated plugin list is deliberately narrow; most other integrations you'll want are reachable through MCP servers, not a named plugin.
- AGENTS.md, not memory, is where required rules belong — memory is a helpful, optional recall layer.
- Approval mode is your real safety control. Start every new plugin on
prompt. - The CLI, app, and IDE extension share one configuration, so setup done once follows you everywhere.
Conclusion
The plugin system is what turns Codex from a very good autocomplete into an agent that can actually sit inside your team's real tools — GitHub, Figma, Sentry, Slack, Notion — without you building glue code for any of it. None of that replaces good judgment: review the diffs, scope the approval modes, and keep AGENTS.md honest. Start with one plugin that removes a real daily annoyance, get comfortable with its approval settings, and expand from there. The workflow that saves you the most time is rarely the most elaborate one — it's the one you actually keep using.