Skip to content

docs(rfd): Session Rewind#1214

Open
htahaozlu wants to merge 1 commit into
agentclientprotocol:mainfrom
htahaozlu:rfd/session-rewind
Open

docs(rfd): Session Rewind#1214
htahaozlu wants to merge 1 commit into
agentclientprotocol:mainfrom
htahaozlu:rfd/session-rewind

Conversation

@htahaozlu
Copy link
Copy Markdown

This RFD proposes adding session/rewind and session/edit_prompt methods to ACP, enabling user-facing conversation rewind and message editing — features universally present in coding-agent UIs (Claude Desktop, Cursor, Windsurf, Gemini CLI checkpointing) but currently lacking a portable protocol surface.

Builds on unstable_message_id (already in Cargo.toml's unstable set).

Complementary to, and distinct from, session/fork: fork is non-destructive context copying for side queries; rewind mutates the session timeline in place.

Consolidates two previously scattered discussions:

  • #239 — Restoring a checkpoint and an earlier point in the conversation
  • #329session/undo and session/redo requests

Filesystem rollback is explicitly out of scope (see Status quo and FAQ in the RFD body) — left to existing fs/* methods, session/fork, IDE-native snapshots, or the user's SCM.

Concrete user-facing bugs in Zed that motivate a portable protocol surface:

  • zed#52153 — ACP with Codex CLI hangs: "failed to get old checkpoint — not implemented yet"
  • zed#39997 — Zed removes all AI changes when editing a message with no checkpoints consideration
  • zed#28676 — Agent Panel: Undo/Redo around checkpoints, checkpoint restore irreversibly destructive
  • zed#55888 — Claude Code ACP: conversation after /clear is lost on Zed restart

Status: Draft proposal, open for champion from the core team. Happy to iterate on the design — open to splitting into separate RFDs (rewind vs edit-prompt), merging with related work, or scoping down to a single primitive if preferred.

CLA: will sign at https://zed.dev/cla before any implementation PR. Posting this RFD PR per the RFD process so the design discussion can happen against concrete text.

@htahaozlu htahaozlu requested a review from a team as a code owner May 16, 2026 17:42
@htahaozlu
Copy link
Copy Markdown
Author

@cla-bot check

@htahaozlu
Copy link
Copy Markdown
Author

@cla-bot check

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant