The support ticket that surfaced this found three overlapping issues:
1. docs/integrations/codex.mdx shipped a marketplace.json snippet with
path "./plugins/mem0" — a directory that does not exist, with no clone
prerequisite documented, and using a folder name that does not match
the actual mem0-plugin/ directory. Users copy-pasted it verbatim and
hit "plugin/read failed in TUI".
2. The "Manual MCP Configuration" option used a JSON mcpServers block.
Codex reads MCP servers as TOML in ~/.codex/config.toml, not JSON.
Same bug in docs/platform/mem0-mcp.mdx (no Codex accordion at all on
main) and mem0-plugin/README.md Option C.
3. The page claimed "Codex uses a skill-based approach instead of
lifecycle hooks" — stale; hooks are now available via opt-in
installer (mem0-plugin/scripts/install_codex_hooks.py).
Lead with the working TOML MCP config (zero dependencies, works today),
demote the marketplace.json to a "Sideload (Advanced)" section with the
required git clone step and the correct mem0-plugin path, and point
sideloaders at the hooks installer + codex_hooks feature flag. Added
troubleshooting entries for the TUI read error and hooks-not-firing.