Changing model makes reverting impossible

Recently I am using Cursor via an OpenAI API Key, and sometimes I change among different models within one chat since one is somehow responsing very slowly or totally silent. Yet I noticed that after changing models, I cannot revert the code modification to previous phases.

I am not sure if it is a bug or a feature of Cursor / models.

Version: 2.4.21 (system setup)
VSCode Version: 1.105.1
Commit: dc8361355d709f306d5159635a677a571b277bc0
Date: 2026-01-22T16:57:59.675Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Windows_NT x64 10.0.26200

Hey there!

Just tried it out myself and was able to switch between Composer / GPT 5.2 Codex and still revert changes.

What happens when you try? Do you still see the arrow, or get an error when you click on it?

I cannot see the arrows, which often happened after the response was cut off due to Internet connection error or “provider error”, where it asked me to Resume or Try Again. Thus I cannot access and lost the previous change record to my code.

This won’t happen when I use auto mode provided by Cursor.

The restore arrows only appear when there are file changes to revert. In your screenshot, it looks like the model (z-ai/glm4.7) is not responding, resulting in many messages without responses. Since no code changes were made after those messages, there’s nothing to restore.

Presumably, there is an earlier message that made the code changes (+46, -6 Lines of Code). I assume we don’t see that message in this screenshot. Can you scroll up and check if that original message has a restore arrow?

This is also what confuses me. Actually, all the chats in the screenshot above had normal responses and code changes. But somehow I lost all the records.

In today’s interaction with Cursor, I did not change models, only using glm4.7 via Nvidia API, and this is what I got:

This happend after a “connection lost” error, and it continued working after clicking Resume.

As you can see, I can revert to the chat in the middle (second screenshot) but cannot to the one on top (without arrow). Unlike the special case in the previous screenshot, this is what I frequently encounter. Both has code changes, but I can only revert to the latest one.

Thanks @Tao-Yida

The restore arrow should appear on a message when there are file changes (edits, creations, or deletions) made in responses after that message.

If you’re able to capture this behavior and share a Request ID with Privacy Mode disabled (Cursor Settings > General > Privacy), please do!

Just now I encountered a network error as follows, and I copied the request details, notice the reverting arrow still existed:

Request ID: c80b84a3-99c2-4e07-be61-4d44540168cd
{“error”:56,“details”:{“title”:“Network Error”,“detail”:“We’re having trouble connecting to the model provider. This might be temporary - please try again in a moment.”,“isRetryable”:true,“additionalInfo”:{},“buttons”:,“planChoices”:},“isExpected”:true}
[resource_exhausted] Error
LTe: [resource_exhausted] Error
at Gmf (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9095:38348)
at Hmf (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9095:37251)
at rpf (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9096:4395)
at fva.run (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9096:8170)
at async Hyt.runAgentLoop (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:34196:57047)
at async Zpc.streamFromAgentBackend (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:34245:7695)
at async Zpc.getAgentStreamResponse (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:34245:8436)
at async FTe.submitChatMaybeAbortCurrent (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9170:14575)
at async Object.Ei [as onSubmit] (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:32994:3808)
at async vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:32968:60273

After clicking Try Again, the problem remains, and the arrow was gone, and the hyperlink changed to plain text. Therefore I cannot revert to any chat before this one.

Request ID: dedcc083-3853-4a2a-b4ef-58e328cf4d29
[canceled] http/2 stream closed with error code CANCEL (0x8)
LTe: [canceled] http/2 stream closed with error code CANCEL (0x8)
at Gmf (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9095:37903)
at Hmf (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9095:37251)
at rpf (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9096:4395)
at fva.run (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9096:8170)
at async Hyt.resume (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:34196:60450)
at async Zpc.streamFromAgentBackend (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:34245:7695)
at async Zpc.getAgentStreamResponse (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:34245:8436)
at async FTe.submitChatMaybeAbortCurrent (vscode-file://vscode-app/d:/cursor/resources/app/out/vs/workbench/workbench.desktop.main.js:9170:14575)

Version: 2.4.22 (system setup)
VSCode Version: 1.105.1
Commit: 618c607a249dd7fd2ffc662c6531143833bebd40
Date: 2026-01-26T22:51:47.692Z
Build Type: Stable
Release Track: Default
Electron: 39.2.7
Chromium: 142.0.7444.235
Node.js: 22.21.1
V8: 14.2.231.21-electron.0
OS: Windows_NT x64 10.0.26200

Interesting, after clicking Try Again for the second time, the API Key was turned off.