October 20, 2026 · 6 min read

Branch and Duplicate AI Chats on Your Own Machine: Versions, Personas and Group Chats

Twenty turns into a conversation with a local model, you want to ask turn twelve a different way. Locally Uncensored 3.0.7 can copy a chat, branch it at any message, and keep earlier answers as versions. The same release gives personas their own sampling values, imports character cards as personas and turns a ChatGPT export into real chats.

Step 1: Duplicate a Chat

In the chat list, each chat has a copy icon named Duplicate chat, and its right click menu has the same entry. The copy opens at once, and its title ends in "(copy)".

It is a full copy: the persona, the system prompt, the group members, the sampling values, the attached documents and the Agent and Code settings come along, and so do answers you kept as versions (Step 3). Duplicate chat is not offered in Remote Access.

Step 2: Branch From Any Message

Under every message sits a small branch icon with the tooltip "Branch from here: a new chat up to this message". The right click menu of a message offers it too.

The branch is a new chat whose title ends in "(branch)". It holds the history up to and including that message, as it stands on screen, without the kept versions. The original chat is not touched. Use it for a role play that could go two ways, or to try a second approach without the first one in the context.

Step 3: Keep Earlier Answers

Regenerate now keeps the earlier answer as a version. A switch such as "1/2" with two arrows, Previous version and Next version, appears on the answer. When you edit a question and send it again, the versions differ in the question, so the switch sits on the question instead.

Step 4: Edit Without Losing the Rest

Before 3.0.7, the check mark of an edit resent the message at once and deleted every later message for good, even with no model loaded (issue 172). The pencil icon named Edit now opens a field with three buttons:

ButtonKeyWhat it does
CancelEscapeLeaves the message as it was
SaveEnterChanges the text only and keeps every later turn
Save & resendCtrl or Cmd with EnterAsks again from here and keeps the current answers as a version

Shift with Enter makes a new line. Save is the one for fixing a typo in a question the model already answered.

Step 5: Give Each Persona Its Own Sampling

A persona is a system prompt with a name, managed under Settings, Agent, Personas, as the chat chapter of the handbook describes. The persona editor now has a block "Sampling for this persona" (issue 175): Temperature, Top P, Top K, Min P, Max tokens, Repeat penalty, Presence penalty, Frequency penalty and DRY multiplier.

An empty field shows "chat default" and follows the chat. A value you set applies wherever the persona speaks, in a chat with the persona switched on and on its seat in a group chat. Values set in the chat's own Sampling popup still win.

That popup now lists each speaker with the values that hold for it, so a narrator can run cool and a character next to it hotter. A value the backend does not read is marked "(not sent)" and is not sent.

The persona you pick is the one that is sent

The Plugins button above the message box has a Persona section with "Enable persona for this chat". A chat used to keep a copy of the persona active when it was made, while the menu changed only the pick for new chats, so the menu could show one persona and the request carry another (issue 170). Now a chat remembers its persona, a pick in Plugins changes the open chat, and chat, group chat, Agent and Voice send what the menu shows. Older chats keep their saved prompt.

Step 6: Run a Group Chat

In the same menu, Group chat reads "Pick 2 to 4 models. They answer in turn on every message, and each sees what the others said. Each one can speak as its own persona." Each member has a persona button, "The persona this model speaks as in this chat". The fixes for issues 165 and 169:

A group chat export now names the persona and model of every answer instead of "Assistant". A branch of a group chat keeps the members and their personas.

Step 7: Import Character Cards as Personas

Character cards are the format role play apps such as SillyTavern use to share characters: a JSON file, or a PNG with the card inside the picture. Under Settings, Agent, Personas, the tile Import card reads card versions 1, 2 and 3, up to 20 MB per file.

The card becomes a persona with the card picture as its tile, and the line under it reads "New chats start with this character." If personas are off, the line asks you to switch them on. Its prompt comes from the card's system prompt, description, personality, scenario and example dialogue, and stays editable.

A new chat with that persona opens with the card's greeting as the first answer. With more than one greeting, Previous greeting and Next greeting switch between them until you write. The macros {{char}} and {{user}} are filled in. LU has no setting for your own name yet, so {{user}} becomes "User".

"Export as character card" on the tile saves the persona as a version 2 JSON file. A lorebook inside a card imports without an error, but LU does not use it. If lorebooks are your main use, the alternatives page compares the tools.

Step 8: Bring Your ChatGPT History Over

Settings, General, Import from other chatbots takes the .zip of ChatGPT's data export, or the conversations.json inside it. Click "Choose export file (.zip or .json)", pick conversations with Select all or the Filter by title field, then click the Import button, which names how many chats it will add.

Each conversation becomes its own chat with its title, its original date and the messages of the thread you saw. Answers you regenerated or edited away stay out, and so do system prompts, reasoning and tool calls. Images and files are not copied. A note such as "[Image not included in the import: beach.jpg]" marks where they were.

Importing again is safe. "Already imported" is not added twice. "Updated since last import" is refreshed. "Continued in LU, imports as a separate chat" means you went on with it here: LU never replaces that chat, and the newer export arrives as a second chat ending in "(from export)". The old way, "Add to the open chat's documents instead", is the second button. An imported chat is a normal chat, so Duplicate and Branch from here work on it.

Limits


Locally Uncensored is AGPL-3.0 licensed and built by PurpleDoubleD. Corrections welcome on GitHub Discussions or in the Discord.

In the handbook

Locally Uncensored is free, open source and runs on your own machine

Download for Windows Download for Mac (Apple Silicon) Download for Linux

No GPU? LU Cloud runs in a browser, paid from credit packs that start at 15 EUR and need no subscription. See what it costs or open LU Cloud.