IDE-integrated diff / approval
Open 💬 65 comments Opened Aug 31, 2025 by yuan763161
💡 Likely answer: A maintainer (gpeal, contributor)
responded on this thread — see the highlighted reply below.
What feature would you like to see?
Codex CLI already has a good approval flow: it can show red/green diffs in the terminal and ask the user to approve or reject changes. This works well, but currently it only happens in the terminal.
It would be great to also have this experience directly inside an IDE (e.g. VS Code or Cursor). For example:
Show the diff inline in the IDE’s editor
Let the user approve, approve for session, or reject from there
Then send the decision back so Codex can apply or skip the patch
This would feel much smoother, similar to how CloudCode shows changes inside the editor, instead of switching back to the terminal.
Are you interested in implementing this feature?
Yes — I’d be happy to help prototype an extension that connects Codex approvals into VS Code / Cursor.
Additional information
_No response_
65 Comments
Sounds good. I would vote to see it also in a Jetbrains IDE as well
Is the accept or discard edits API exposed in VScode?
https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode#_accept-or-discard-edits
<img width="693" height="80" alt="Image" src="https://github.com/user-attachments/assets/1133e8cc-bd5c-49fb-8301-ac62095266c0" />
<img width="686" height="88" alt="Image" src="https://github.com/user-attachments/assets/1c40479c-6256-4dce-9ca0-5a4d602908a8" />
It would be great if Codex had a feature to attach the code from the currently viewed file or selected line when sending commands.
This is already supported in Claude Code.
Yes, this would be very helpful. I'd like an integration between IDE and Codex CLI (not the VSCode extension) that includes:
Was going to submit an issue asking for this, specifically for IDE integration that is agnostic.
A good example that I am aware of (and currently use) is https://github.com/stevemolitor/monet which sends diff proposals from Claude Code to an Emacs diff buffer through a websocket connection.
The CC VScode extension has a much better diff viewing experience. It allows you to view the full diff in VScode's diff viewer BEFORE the file is written to disk. Codex only shows a tiny little window with a proposed diff and there is not even a way to expand it to full screen. You have to let it write to disk to use git and/or VSCode diff viewer which is not ideal when you are trying to collaborate and approve each change rather than using full on autonomous mode.
@theclunkerjunker Have you tried clicking "View all changes". That will open a full editor pane with all of the diffs. We will also be iterating on this surface over time.
<img width="970" height="194" alt="Image" src="https://github.com/user-attachments/assets/03c2ed60-b441-4b2c-85ff-6a378d3a970f" />
For the folks who want the CLI <> IDE integration, what do you prefer about the CLI vs using the extension directly?
That's the view that we are looking for, but we'd like to be able to see it before accepting or rejecting the proposed changes. Right now the
View all changesbutton to see the full editor diff is only visible after accepting the changesIt's a much nicer experience to be able to see the diff in the full editor view when deciding if the changes should be accepted or rejected. Especially when there are a lot of proposed changes, it's a lot harder to read them in the small chat window. For me it's the number 1 missing feature from Codex compared to Claude Code
@gpeal @swfunc yes, exactly that. You cannot "view changes" until the files have been written to disk already.
CC has this great workflow I use where it proposes a change, shows me a full diff in the VSCode native diff viewer (not yet written to disk), and allows me to either approve it or "Reject and tell Claude what to do instead". Claude also seems to retain the context of the rejected diff and incorporates it into feedback.
I've yet to be able to replicate this workflow with Codex.
This one I'd also love to have in Codex
@gpeal I prefer being able to have Codex in a CLI so that it's in a dedicated screen. This allows me to have maximum real estate for code and my filetree in my main monitor. Viewing the Codex extension means I can't see my file tree. I also find the Codex extension hard to read. If I want to make its text bigger, that zooms everything in, which isn't ideal.
The current "View all changes" is a good start, but I find it hard to use in practice.
As mentioned by @bhack the accept or discard edits API offers the best usability in vscode and derivates https://code.visualstudio.com/docs/copilot/chat/chat-agent-mode#_accept-or-discard-edits.
But I think that API is not exposed to extensions so probably we need to open a feature request in Vscode repo. /cc @isidorn what do you think?
Yes, please open a feature request https://github.com/microsoft/vscode and feel free to ping me @isidorn on it.
Thanks 🙏
@isidorn Please check https://github.com/microsoft/vscode/issues/267581
The error appears somewhere, when I run new project with codex extension + vs code
<img width="970" height="194" alt="Image" src="https://github.com/user-attachments/assets/d2ecda19-8ed8-4641-8f58-3a4db7b9d70d" />
I no longer see the option to view all changes and undo
i have same problem, i couldn't see this anywhere
Hi. This does not show up in my Codex extension in VS Code. How do I bring it back?
At least your first part of wanting to see the files and see your chat is easily possible by dragging and dropping Codex to another part of the screen. The multi-monitor and desire to have different zoom levels is still valid. I don't see a way to popout an extension to place on a 2nd monitor and I don't see a way to control any different font sizes other than setting it for both code, file view, and Codex (which is perfectly fine for me, but is still a valid issue).
<img width="1715" height="300" alt="Image" src="https://github.com/user-attachments/assets/1ba414c5-0379-4802-8119-495722122e22" />
Claude Code and Cline seem to have this support for viewing a proposed patch in a readable-sized UI element BEFORE it is made, without requiring some privileged access to vscode or a pending feature. I think this ticket, unlike the one that was closed referencing this one, mixes up a few different requests and issues. For the request to have the ability to see a proposed change before accepting it, in a UI element that can be expanded beyond a few lines worth of space, it seems possible with today's VS code?
This is actually what is needed. I really can't work reliably with codex without this feature. gpt5 still needs a lot of handholding, so being able to have every diff show and be accepted or denied in the IDE would be very helpful. Also having this tight integration between files or text in the IDE that the cli can view.
I think Gemini CLI gets this right, this is what I want (from the Gemini CLI docs):
---
-The 10 most recently accessed files in your workspace.
[https://github.com/google-gemini/gemini-cli/blob/main/docs/ide-integration/index.md](url)
Hello @gpeal
Viewing the diff after the fact and having the option to undo the changes is not the same as being presented with a diff prior to the edit and having the option to reject the changes and suggest modifications. A rejected diff kept in context followed by a prompt that alters the edits is a very common workflow in other coding agents and for good reason: A proposed diff may be 99% ok but require a single line of code to change to reach an acceptable state.
Can launch multiple CLI instances in different terminals work on various parts of the codebase in parallel each with a unique context.
Here's an example of how Claude Code handles it, that we would love to see in Codex TUI.
Being able to accept/deny specific changes, by lines/groups of lines, is very helpful when you want to have a bit more control of what is being edited/patched.
<img width="1281" height="945" alt="Image" src="https://github.com/user-attachments/assets/97f19062-8545-4bff-96a9-1d331a2ee8f4" />
@gpeal I was about to open a new issue for this, but found this thread and wanted to share here instead. I explored a small experimental macOS-only prototype of this idea and recorded a short demo of the workflow using VS Code’s native diff viewer during patch approval.
https://github.com/user-attachments/assets/d170413f-a03a-4f39-a12e-2dfe93a7fb3c
It would be great to see something along these lines supported in a stable, official way soon!
I need this very much
Check also on vscode this thread https://github.com/microsoft/vscode/issues/279040#issuecomment-3580195354
I would like it to be exactly like in GH Copilot where the changes are written to Disk but the diff is displayed inline native in the editor with "Keep" / "Undo" button. So basically the whole change acceptance flow from Copilot should be open for other Agent tools to use.
I have three big pain points with the current UI:
On the Neovim front, the Agent Client Protocol might give ideas for how to improve integration. For the diffs in TUIs themselves there is lazygit and codediff.
I like how Roo Code does it (allowing to accept with edits and reads the human changes back into the context)
Completely agree with this position. I think the problem is that this Github Issue seems to have diverged to address two features:
I personally don't see the need to address point 2 above, if point 1 above includes Accept/Reject or Keep/Undo options for each change.
at this point anything is better than codex read-only diffs in VSCode extension, this feature has been lagging for far too long
There's currently 105 upvotes. How many is required for this to be taken seriously?
But the upstream ticket has only 2 upvotes
https://github.com/microsoft/vscode/issues/279040
Claude does it without this upstream support, so why cant Codex?
Cause you can still implement an improved solution for handling the diff.
But the extension API has limits if something more general it is not going to be supported upstream in VsCode.
Cursor already has the native ability to accept or reject edits individually, line-by-line. That's my normal workflow. I prompt the agent for changes, and then review each edit closely and edit further. I can use ChatGPT with Cursor, but only using the API pricing or the included "free tier" with Cursor.
Regrettably, I can't use a Codex subscription with Cursor natively. I instead need to use the Codex extension for VS Code/Cursor, which doesn't allow incremental review of changes. That's not acceptable for me, since I don't feel in control of the editing process. I can review a diff of every change after they're committed, but there's no convenient way to pick and choose which edits to keep.
This feels gimped. I really hope that Open AI either patches the Codex extension to give it native-Cursor functionality, or loosens its API restrictions to allow a subscription with the native Cursor chat window.
If you work in the terminal and want something now, diffpane runs in a split pane next to Codex and shows diffs in real time as the agent writes, auto-following the latest change.
!demo
I kind of think you are missing the point here. The point is not how to see the diffs after the edits are completed. Git already provides that. The point also is not to just see the diffs in real time as they happen! The point is that it is useful to see the diff of the current edit with the option to reject and redirect the model to do something different at any point during the process.
I think this could be an interesting step ahead https://github.com/microsoft/vscode/pull/305861
Agreed with @m4riok. Cursor has a well-designed implementation that allows you to view each change from an agent in an editor window, in context, and click a button to either "approve" or "reject" that change. Unfortunately, that only applies for changes made through its own agent interface, not the Codex extension. I believe that VS Code does likewise with the inbuilt chat window.
Simply reviewing diffs, after the fact, is not the same workflow. When I approve each change in Cursor, I feel that I'm remaining in control of the code and the agent is the assistant proposing changes. When ChatGPT makes changes through the extension or Codex, I'm just left with a blob of rewritten code. I feel I'm in "YOLO mode," no longer fully in control of my codebase.
@RobJacobson You can achieve this with Zed. Just add Codex CLI as an external agent, ask the agent to make changes, and the diffs will appear in the editor, waiting for you to accept/reject them.
Hey guys, would anyone be interested in a cursor-style diff/review extension for VSCode? Although it's unofficial, it can connect with AI CLI to bring that cursor-like review experience straight into VSCode.
<img width="2750" height="784" alt="Image" src="https://github.com/user-attachments/assets/97468628-900a-4ca6-854e-c9362b251300" />
https://github.com/TinyTigerPan/DiffTracker
This would be an extremely important thing - why is nobody dealing with it?
+1 need native inline diffs for codex extension in VS code or especially windsurf.
Inline diff views for Codex extension in VS Code is must have
Also waiting for this feature. It's a bit sad that claude code has had it for so long and codex doesn't, it really make the cc UX so much better than Codex
Why is nobody dealing with it???
I've seen enough complaints about this it's pretty clear OpenAI doesn't want people to review changes BEFORE commits, they want you to trust the AI and only review it after.
OpenAI, listen to actual programmers telling you what they need. We need an IDE diff BEFORE committing, the lack of it has stopped me from using Codex and going back to other options, because this is non negotiable. Code needs to be reviewed BEFORE making destructive changes, not after.
Requiring everything to be checked into git to see the diff, or any other solution is non-negotiable. If I was making a change to your code base, and told you "let me commit and push the change, and then you can review it" would you let me? Then why should an AI get that right to change code locally?
Its disappointing to see no progress on this after all this time. Manually approving/rejecting individual edits is a crucial feature, codex is useless without it. I might as well cancel codex subscription, switch to copilot and use gpt models through it because it provides the ability to review each edit made.
Unless codex IDE plugins get feature parity with CLI app... there needs to be a way to integrate IDE with Codex CLI
I do not need "approving before changing files" much, but seamless browsing of diffs in already changed files would be good - I use jetbrains IDEs but codex plugin for those is lacking various features / slash commands
unlucky, they don't care
Good news for Zed users! It is now possible to use this feature with Zed Agent with a ChatGPT subscription.
Read the blog: https://zed.dev/blog/chatgpt-subscription-in-zed
<img width="1057" height="888" alt="Image" src="https://github.com/user-attachments/assets/2c8dd28b-9376-496e-b085-4e7d0e6d38bf" />
This feature hasn't been added yet. If Copilot now allows subscription upgrades, I won't use Codex anymore.
I switched subscription from antigravity due to their new update. I never thought I would miss a simple diff.
I would strongly separate approval rendering from approval authority.
Inline IDE diffs are great, but the load-bearing piece is a single approval receipt emitted no matter whether the decision came from TUI, IDE, Desktop, or an external reviewer: diff hash, affected files, scope (
one_shotvssession), reviewer identity, and expiration if any.Without that shared receipt, cross-surface flows drift and you get exactly the class of bugs where something was "approved in the editor" but reprompts in the terminal. If Codex exposes that receipt back to hooks too, wrappers can audit the same decision instead of screen-scraping the IDE.
Please add this feature to vs code extension
I think people talk about different features here, all under one "issue"...
Personally I want codex CLI being able to integrate with diffs from jetbrains IDE's, so kind of /ide command support for jetbrains.
Jetbrains codex plugin doesn't suffice for people who want more than basic features (there is no /plan, no /goal, no /compact and more..., and will likely stay that way for foreseeing future).
dude, copilot is way more expensive than codex now
It's still not triggering, even though I've already configured the GPT API key in configure.
<img width="495" height="934" alt="Image" src="https://github.com/user-attachments/assets/3d4bf99b-84ff-4a30-bd38-531bcfed2024" />
This has been the default behavior in most IDEs, the fact openai has sat on this feature request for almost a year now is very saddening. With a lot of orgs moving toward enterprise accounts where we are to use the codex extension in our respective IDE and we lose the integrated diff really impacts workflow.
This feature should have already been added to the codex extension.
This is why many people prefer Claude Code over Codex!
+1 A accepting and rejecting and diff viewing system like cursor and copilot would be really great to have, atleast in the codex vscode extension
+1 big disadvantage
Recent changes seem to have made it impossible to even see diffs of just a few lines. I can't even confirm what I need to approve. I have doubts about the direction Open AI is heading.