Codex annotations are for you. Pincushion is for your clients.
Annotating a page in the Codex browser is a fast way to tell Codex what to change. Pincushion handles the notes that come from other people: a client pins the live page from a link, for free, and Codex gets a work packet over MCP with a commit, PR and verification trail behind it.
What Codex annotations do well
Credit where it's due. In the built-in browser of the ChatGPT desktop app, you select Annotate, click an element or drag across an area, write a comment and ask Codex to address it. For style tweaks, Adjust lets you try font, text, spacing and color values and preview them before you send. It works on any site without code changes, and nothing is sent until you submit it.
Site owners can go further. The annotations extensibility API (document.oai.annotation) lets a page make canvas objects, such as a single bar in a chart, selectable and attach metadata to what the model receives. If you live in the Codex app, that's about as short as the path from "this looks wrong" to a change gets.
Where the model differs
OpenAI's docs describe annotations as something you make in your own desktop app and send in your own chat. The browser isn't available in the Codex CLI or the Codex IDE extension, and the docs don't describe sharing annotations with teammates or clients. That fits your own pass well. It doesn't reach the client or PM reviewing staging, who won't open your Codex session. Pincushion is made for that round, and it plugs into Codex:
- Free client pins from a link. Share a report link and reviewers pin the real page with just a name, no account or install on projects open to feedback. Collaborators never pay. A one-line widget script and a Chrome extension cover teams that prefer those.
- The agent work packet. Each pin carries the selector, DOM snippet, screenshot, viewport, thread and project context. Add the server with
codex mcp add pincushion -- npx pincushion-mcp --project-dir .and Codex reads approved pins withimplement_approved_pins, in the CLI, the IDE extension or the app. - The commit, PR and verify trail.
fix_and_resolverecords the commit SHA, branch and PR URL on the pin. On Pro, the deploy hook links the live deploy and Pincushion AI checks the fix, writing a verdict back to the pin. The client sees what shipped, on the pin they left.
How they differ
| Pincushion | Codex annotations | |
|---|---|---|
| Who leaves feedback | Clients, PMs and teammates from a link — free and unlimited | You, in your own ChatGPT desktop app |
| Where it happens | The live or staging page, in the reviewer's own browser | The built-in browser of the desktop app |
| Try style changes before sending | No — reviewers describe the change on the pin | Yes, with Adjust |
| Which agent picks it up | Codex, Cursor, Claude Code or any MCP agent | Codex or ChatGPT, in the same chat |
| Thread on a specific note before code changes | Yes, on the pin | Not described |
| Commit SHA, branch and PR recorded on the feedback | Yes, via fix_and_resolve | Not described |
| Post-deploy check of the fix | Yes (Pro) | Not described |
| Best for | Feedback from people who aren't in your Codex session | Your own pass, while you build |
Codex annotations shorten your own feedback loop. Pincushion brings everyone else into it, and keeps the receipt of what shipped.
When Codex annotations are the better fit
If you're the only reviewer and you already work in the Codex app, annotate there. It's built in, you can preview style changes with Adjust, and there's nothing else to set up. Pincushion is the better fit once clients or non-developers are reviewing the deployed site and you want their pins, the thread and the PR trail kept in one place.
Use both
They cover different moments: Codex annotations for your own pass, Pincushion for the client round that follows, handed to the same Codex agent over MCP. The free plan covers one project with unlimited manual pins and 25 AI actions a month, and reviewers never need a paid seat. Every new account starts with a 14-day full-Pro trial — no card required. Set it up from Pincushion for Codex, or compare with Agentation and Cursor Design Mode.