Current keep/undo functionality is horrble experience

I feel like I’m doing something wrong, but the current way this is implemented is straight up confusing. I keep forgetting clicking “keep” sometimes, and at this point I see random keep/undo in files which I edited/worked on week ago. I understand the idea, that this allows gradual rolling or unrolling changes, but if you forget to click “keep all” once, then the feature for the affected files become unusable and just gets in your way.

It starts tracking changes in keep/undo for the files, so sometimes I can grab changes from git and these will be shown as if they’re made by the agent?? Basically, any file where I forgot to click “keep all” starts tracking ALL changes from all sources, so any future “undo” will break code into some weird state - it can unroll change you got from colleague, did yourself, or was done by another agent(like codex).

Can you at least add “keep all in all files” button, and “view all pending for approve changes” panel, or something like that?

I personally like the fact that keep/undo keeps track of all sources of changes, because when agent makes changes, I review them and modify a bit before accepting so then I can review again but with my modifications.
However you are completely right, it would be great if there was some global status bar that would allow “keep all from all chats” or say “no pending agent changes”, so when I forget to accept some changes in an old chats, I do not have to go back looking for it.
+1 on this idea

Oh yes, huge agree on this one.

If the work is routine enough, I’ll just review during the git commit. Auto-approve on commit is broken so it all stays marked. I move on, work on other things and then find random patches of green later with no way to mark them accepted. Trying to track down which agent “owns” the change is a nightmare.

I don’t even need a button, a cmd-P to “approve all changes” would be ace.

It’s really bad, and getting worse. Every time I open Cursor I have a queue of 50 files stuck in Keep/Reject state for commits that shipped a week ago. I have to manually go through each file to keep them otherwise it creates a permanent diff that screws up any subsequent file edit

I don’t know how this isn’t a high priority issue to resolve. Cursor is unusable, it looks like this every day. Brand new chat and files are unreadable/uneditable until I manually click through them all to clear it out

I have been complaining about this for months since they removed the original behavior or new chats automatically running “Keep All”. I think its fair to allow this to be toggled but I think the current behavior is terrible.

We still live in a world where context length and specificity matter. I sometimes rip through a number of small changes and don’t always bother reviewing non-critical paths or simply forgot to check keep the change. As new chats and edits are made, I end up in a place where the diffs make absolutely no sense. It feels like overall a poor outcome for some cohort of users like myself.