Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Message Actions

Edit, rerun, quote, copy, download code, and fork messages in LibreChat conversations

Message Actions

Message actions appear below a conversation turn when they are available. User turns use right-aligned bubbles, while assistant turns keep a full-width response layout. Actions that cannot apply to a response while it is still streaming are hidden until the response settles. On pointer devices, message metadata and controls reveal on hover or keyboard focus rather than requiring a click.

Edit and Rerun

Choose Edit to change a user message or an editable assistant response. The editor offers two ways to apply the change:

  • Save updates the existing message without generating another response.
  • Update & rerun creates a new sibling response from the edited message.

Structured assistant responses use one editor for all editable text and reasoning parts. Tool calls, errors, artifacts, and text attached to tool calls remain visible but read-only. Empty edited parts cannot be saved.

If more than one assistant part changes, save the edits without rerunning; one rerun can carry one edited assistant part. Multi-part saves are applied in order, and any parts saved before an error remain reflected in the conversation.

Rerunning an edited user message preserves its files, selected manual Skills, and quoted context. Rerunning an edited assistant response replays the parent user turn with its selected manual Skills and quotes.

While editing, use Ctrl/Cmd + S to save, Ctrl/Cmd + Enter to update and rerun, or Escape to cancel.

Copy and Fork

Copy writes the message text to the clipboard and converts supported citations into readable references. For structured assistant responses, LibreChat joins only the user-visible text parts in order; reasoning, tool calls, errors, artifacts, and text attached to tool calls are omitted. The action is unavailable for a response that is still streaming or has no copyable text, so it does not replace clipboard contents with a partial or empty value.

Use Fork to branch a conversation from a selected message. See Forking Conversations for details. Endpoint and message state determine whether edit, rerun, continue, feedback, read-aloud, and fork actions are available.

Quote Excerpts

Select text in a message and choose Add to chat to stage it as quoted context. You can attach up to 10 excerpts to one message, with up to 1,500 characters per excerpt. LibreChat sends the excerpts as Markdown blockquotes alongside the message text and any files.

During an active Agent run, quoted excerpts follow Steer, Queue, and Interrupt & steer messages and remain associated with the pending action across reconnects. On a current server, an ordinary queued follow-up also keeps its quoted excerpts through app restarts and replica handoffs. If an older replica cannot accept the quoted context during a rolling deployment, LibreChat returns it to the composer instead of silently dropping it. Manually selected Skills remain staged for the next full turn rather than being added to a mid-run steer. See Steering and Queued Messages.

Code Block Actions

Code blocks provide actions to copy their contents, run supported code through Code Interpreter, or download the block as a local file. Download names use the fenced language when possible, such as code.py or code.tsx; an unknown safe language hint becomes its extension, and an absent or invalid hint falls back to code.txt. Error blocks do not show the download action.

Long Pasted Text

When the browser-local Paste long text as a file setting is enabled and Upload as Text context uploads are available, clipboard pastes longer than 2,500 characters become a pasted-text.txt attachment instead of filling the composer. Otherwise, the paste remains inline. Select the attachment before sending to edit the text in a larger dialog or choose Move back into message to return it to the composer.

LibreChat preserves pasted-text drafts and message provenance across normal draft restoration. Edits keep the original attachment until the replacement is ready, and starting an explicit New Chat clears the pasted text with the rest of the draft.

Attachment-Only Turns

You can send one or more attached files without typing placeholder text. Attachment-only turns remain valid when editing and rerunning a message, and LibreChat uses attachment filenames when it needs title context.

An empty draft with no files is still rejected. Files also do not stand in for text while answering an Agent's paused Ask User form, because that response path accepts answer values rather than message attachments.

How is this guide?