You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Clone chat: Support easily branching/cloning sessions #171
Sometimes I find myself wanting to go down a separate path and ask questions or make changes unrelated to the main session before coming back to it, but when I come back I don't want to pollute the context with that tangent. Right now you can kind of do this by rewinding, but I'd actually like to keep the history as two separate sessions, so I could come back to either.
Basically I would like these commands:
Start a new session/chat but with the context/messages from the current session (e.g. eca-clone-chat)
It would also be nice to have a command for resuming a session with Emacs minibuffer completion instead of needing to use /resume
Hum, there is editor-code-assistant/eca#28 which would make possible to @My-Chat somehow, but a clone chat sounds interesting although would require changes on server as well.
It would also be nice to have a command for resuming a session with Emacs minibuffer completion instead of needing to use /resume
Can you elaborate how this would look like for user step by step to make sure I got that?
Maybe it could be called eca-chat-resume. It would be similar to running eca-chat-new and then manually using the /resume command. You could press a key anywhere (in a project file or existing eca buffer), and you would see the chat ids/information to select from.
I use vertico, so e.g. each of these would be a line I could select. Then it would open the eca buffer and resume that chat.
1 - 21/02/2026 19:17 - Analyzing codebase AGENTS.md
2 - 22/02/2026 20:00 - Using error-message-string
3 - 24/02/2026 23:56 - Running make test
Maybe with a prefix argument, it would resume latest instead of requiring selection.
The way the whole process might work is that I could use the clone command to start a new chat, ask some questions or make changes in that chat. When done, I could then return to the initial chat with eca-chat-select, or if I had closed both chats or closed Emacs I could return to either chat by calling eca-chat-resume.
The thing is: some things are centralized in server, like the /resume so it works for every editor/client, to do that we would need to change the ECA protocol to support this data flow so eca client side (editors plugins) can have custom code to call that.
It's possible, but a amount of work I'm not sure it's worth it since /resume in chat already solves everything.
eca-chat-clone
This is more likely to have/prioritize, since it's something that it's not possible to achieve right now, would require probably a new chat/clone message in the protocol but easy to impl, and then create the client side of the command
Activity
ericdallo commentedon Mar 3, 2026
Hum, there is editor-code-assistant/eca#28 which would make possible to @My-Chat somehow, but a clone chat sounds interesting although would require changes on server as well.
Can you elaborate how this would look like for user step by step to make sure I got that?
noctuid commentedon Mar 3, 2026
Maybe it could be called
eca-chat-resume. It would be similar to runningeca-chat-newand then manually using the/resumecommand. You could press a key anywhere (in a project file or existing eca buffer), and you would see the chat ids/information to select from.I use vertico, so e.g. each of these would be a line I could select. Then it would open the eca buffer and resume that chat.
Maybe with a prefix argument, it would resume latest instead of requiring selection.
The way the whole process might work is that I could use the clone command to start a new chat, ask some questions or make changes in that chat. When done, I could then return to the initial chat with
eca-chat-select, or if I had closed both chats or closed Emacs I could return to either chat by callingeca-chat-resume.ericdallo commentedon Mar 3, 2026
The thing is: some things are centralized in server, like the
/resumeso it works for every editor/client, to do that we would need to change the ECA protocol to support this data flow so eca client side (editors plugins) can have custom code to call that.It's possible, but a amount of work I'm not sure it's worth it since
/resumein chat already solves everything.This is more likely to have/prioritize, since it's something that it's not possible to achieve right now, would require probably a new
chat/clonemessage in the protocol but easy to impl, and then create the client side of the command[-]Support easily branching/cloning sessions[/-][+]Clone chat: Support easily branching/cloning sessions[/+]