Blog ·
How to sync agent skills between ChatGPT and Codex
OpenAI doesn’t sync agent skills between ChatGPT and Codex. Codex shares one config across its own surfaces (CLI, IDE, Desktop), but there’s no bridge from ChatGPT chat to Codex. The fix is the same one that works for ChatGPT and Claude: connect both to a single Git-backed MCP skill library so they read the same governed, versioned skills — maintained once.
Why there’s no native sync
Codex keeps skills as folders (SKILL.md with YAML frontmatter) in .agents/skills/ (project) or ~/.codex/skills/ (user), and that config is shared across the Codex CLI, VS Code extension, and Desktop. ChatGPT chat is a different surface with no skills folder at all — it reads tools and skills through MCP custom connectors instead. So the two never see each other’s skills unless you give them a shared source they both connect to.
The fix: one library, two connections
Put your skills in a governed library where Git is the source of truth, then connect each side to its MCP endpoint. Update a skill once in Git; both ChatGPT and Codex pick up the new version on their next session.
Connect ChatGPT
- Open Settings → Connectors → Advanced and enable Developer mode (requires a paid plan).
- Add new connector pointing at your library’s MCP URL — for Skills Manager,
https://www.skillsmanager.uk/mcp— and authorise over OAuth.
Full walkthrough: add agent skills to ChatGPT.
Connect Codex
Codex connects to remote streaming-HTTP MCP servers and launches them automatically when a session starts. Add the same library either with the CLI:
codex mcp add skills-manager --url https://www.skillsmanager.uk/mcp…or by editing ~/.codex/config.toml directly (Codex uses TOML, not JSON — a config.json is ignored):
[mcp_servers.skills-manager]
url = "https://www.skillsmanager.uk/mcp"
# auth: use a bearer token from the Configure MCP pageGenerate a scoped token on the Configure MCP page and add it as the connector’s authorization header. Now Codex reads the exact same skills ChatGPT does.
Keep favourites loading on both
Connecting is step one; reliable loading is step two. Star the skills each agent should always have (admins can enforce team favourites), and add the one-line directive from the Enforce Skill Loading page to ChatGPT’s custom instructions and your Codex AGENTS.md, so both pull the favourites list at the start of every session.
Recap
| Side | How it connects | Config |
|---|---|---|
| ChatGPT | Developer-mode custom connector (OAuth) | Settings → Connectors |
| Codex | Streaming-HTTP MCP server (bearer token) | ~/.codex/config.toml |
| Source of truth | Git-backed skill library | One canonical, versioned copy |
Related: sync skills between ChatGPT and Claude, create skills in Claude that work in ChatGPT, and how it works.
One library, every assistant. Start free and sync ChatGPT and Codex from Git.
Last updated: June 15, 2026