Editing the context
A conversation's timeline is the model's context, and you can change every part of it: insert cards anywhere, edit or delete what is there, undo, branch, and send again.
The timeline is the context
Each request is built from the saved conversation, top to bottom, and most cards are sent as they appear. The exceptions:
| On the timeline | What the model gets |
|---|---|
| The first card, when it is a system prompt | The conversation's system prompt |
| A system prompt card lower down, plan-mode guidance, the auto-compact request | A system message at that point on models with Mid-conversation system prompts, otherwise a message from Mewrk there |
| Hook records and rows marked Local only | Nothing |
| A reply or reasoning cut off by an error or a stop | Nothing until you edit and save it; until then the card is marked as cut off |
Each request also carries, ahead of the timeline and not shown on it, Mewrk's own system prompt sections, your project instructions and the MEMORY.md index of each memory tier that is on.
Messages from Mewrk
While the model works, Mewrk hands it what happened around it: results of background tasks it did not collect with task_wait, context a hook added, skills you selected after the conversation started, language-server problems, changes to files the model had read, MCP servers that could not start, and a request to go on after a reply hit the output limit. Each arrives as a row of its own on the timeline, in what Conversation settings → Advanced tools → Host message container chooses; subagents and workflows follow the conversation:
- User message (the default): the way Claude Code delivers them, a user message wrapped in
<system-reminder>, and a background result as<task-notification>inside a reminder that opens with[SYSTEM NOTIFICATION - NOT USER INPUT]. Mewrk's system prompt tells the model that none of these is you speaking. The cost: it shares the user role with what you say and is told apart only by its tags and preamble, so a model sometimes takes it for you, even for an approval, and it may merge with an adjacent user message. - box tool result: Mewrk writes a box call for the model, and the message arrives as that call's result; a background result is a bare
<task-notification>, with no reminder or preamble. The cost: it is a call the model never made, which it may take for its own; every request declares one more tool,box, which a model sometimes calls itself; and every message costs a call and a result.
After a switch, every earlier row replays in the new container too, so switching while the cache is warm throws it away (see the tool lock).
On a model with Asynchronous tool calls (model properties), a subagent's or workflow's result is instead the output of the agent_spawn or workflow call that started it, and the model keeps working while the task runs.
Editing a row's text changes what the model reads from then on.
Note On Anthropic Messages, AWS Bedrock, Claude Agent, OpenAI Responses and Azure OpenAI, the model's reasoning is replayed exactly as the provider signed it, so editing it changes only what you see, and the card says so. Delete the card to keep that reasoning out. Reasoning you insert yourself has no signature and is not sent as reasoning there. On other protocols, the card's text is what the model gets.
Insert
Right-click the timeline and a line shows where the new card will go: the top half of a card inserts before it, the bottom half after it. From the keyboard, focus a card and press ShiftF10 to insert after it.
The menu adds a System prompt, User input, Reasoning field, Tool call ▸ or Model reply card, and Fork conversation copies everything above the line into a new conversation. Nothing is sent and nothing runs until you send.
Insert a tool call
Tool call offers the file and shell tools enabled in the conversation and opens an empty form for the arguments and the Result.
- ✓ Save records the call and the result you typed without running anything, for example a
bashcommand you ran yourself. - ▶ Run and add runs the call now, under the approval rules of the conversation's security level, and inserts the real result.
Edit and delete
Most cards have their own edit (pencil) and delete (trash) buttons. You edit inside the card; in text cards ⌘Enter (CtrlEnter on Windows) saves and Esc cancels. Nothing can be changed while the model is running.
- A model reply can be edited once it has finished. Encrypted reasoning can only be deleted.
- In a tool call you edit the arguments and the result. ✓ Save runs nothing. ▶ Rerun, for ls, grep, find, read and lsp, runs the call again and records the new result. Preview and subagent cards cannot be edited.
- The model cannot tell an edited card from one it produced.
A delete takes effect at once and can be undone. To be asked first, turn on Settings → Preferences → Appearance → Input → Confirm before deleting messages (off by default).
Undo and box select
Click empty space in the timeline to give it focus, then press ⌘Z (CtrlZ on Windows) to undo and ⌘X (CtrlX on Windows) to redo. In a text field these keys keep their usual meaning.
- Undo reverses only that edit; replies the model added since stay. Undoing a tool run removes the card, not what the command did.
- There are 64 steps in all, shared by every conversation. Quitting Mewrk clears them, and forks and handover conversations start with none.
Box select. Hold ⌘ (Ctrl on Windows) and drag across the timeline, starting outside any text field. Right-click the selection for Delete, which one undo restores.
Branch and fork
Both make a new conversation with the source's settings, including its security level, and leave the source untouched.
| Branch from this message | Fork conversation | |
|---|---|---|
| Where | The branch button under a user message | The right-click menu |
| Copies | Everything before that message | Everything above the insertion line |
| Then | Puts the whole message, with its images and files, in the message box to edit and send | Opens the copy; nothing runs |
| Sidebar | A new task under the source | <title>-fork-<n> under the source's top-level conversation |
The copy gives the model exactly the context the source had at that point, including Mewrk's notices, plan-mode guidance and handoff notes.
Continue from the timeline
Send with the message box empty: the model runs on the timeline as it stands, and no user message is added. Use it to continue after an edit.
The context ring
The ring at the bottom right of the message box shows how full the context window is; click it for a breakdown by kind of card. A leading ~ means the figure includes Mewrk's estimate. If the model has no Context window in its properties, only the count shows.
Auto-compact and handoff
Auto-compact works one of two ways, and each conversation uses one; either way the work carries on in a new conversation. The handoff has the model write handoff notes, and the new conversation starts from them. Native compaction, on models that have it, has the provider compact the context, and the new conversation starts from that.
Set it in the context ring: Enable auto-compact (default on) heads the Auto-compact submenu, and the Handoff and Native compaction buttons under it, at the left, are this conversation's method; the one pressed shows that method's page. Each has its own threshold over the same range: Handoff threshold (20–97%, default 80%) and Native compaction threshold (20–97%, default 90%). A new conversation picks native compaction if its model has it, and the handoff otherwise; conversations from before native compaction existed keep the handoff. The switch and the thresholds are global and reach runs in progress. If the model cannot do the conversation's method, it uses the other. Auto-compact needs the model's Context window, and never runs in subagents or workflow steps.
The handoff needs Mid-conversation tools on.
- At the threshold, Mewrk asks the model once to hand off.
- The model writes its notes and calls handoff, which is refused while background agents or workflows are still running.
- A new conversation,
<title>-handover-<n>, takes the source's place in the sidebar and starts at once. It has the same settings and tools, the source's system prompt card and the notes, but no history and none of the source's prompt cache.
The source stays as it was, ending on the handoff card. To reword the request or the new conversation's opening message, set handoff.armed_notice or handoff.start_message in a prompt profile.
Native compaction
On a model with Native compaction in its properties — OpenAI's GPT models over OpenAI Responses, OpenAI Codex or Azure OpenAI — the provider can compact the context itself, the way Codex does. Press Native compaction under Auto-compact, and set its Native compaction threshold and Keep the latest N tokens of user messages (0–128,000, default 64,000, applied as set).
- At the threshold, between two requests, Mewrk sends the request it was about to send — the same system prompt, tools and whole history — with a compaction trigger at the end. The provider answers with one encrypted compaction item that carries the conversation forward.
- A new conversation,
<title>-handover-<n>, takes the source's place in the sidebar and carries on at once. Like a handoff's, it keeps the source's settings (its prompt cache state included), system prompt card, registered tools and assembled system prompt; it differs only in what it opens on — a native compaction card instead of handoff notes. - The card keeps your latest messages, newest first, up to the number of tokens set, and the oldest one it keeps may be cut in the middle; system prompts and tools added mid-conversation are kept as they were. Each request the new conversation sends to the same provider starts at the card: the messages it kept, then the compaction item, then what follows. The system prompt, tools and prompt cache key are the source's, so the cache still hits.
The card is one line: which model compacted, and how many tokens before and after. The History pane shows the same line, and neither opens. What the card says is for you; none of it is sent to the model. Switch to another provider, or to a model without native compaction, and only the messages the card kept are sent. The source stays as it was.
To compact right away, press Compact now on the Native compaction page. It ignores the threshold and the auto-compact switch. The new conversation opens without running and waits for your next message. The button is unavailable while the conversation is running or before the model has answered since the last compaction, and nothing is compacted while background agents or workflows are still running.
History
The History pane records what was actually sent to the model and what came back, so it still shows what the model saw after you change the timeline. Open it from the conversation header: More options (⋮) → History. A tool row there holds the input that actually ran, after hooks and approval.
Attachments
Add files with + → Upload files, by pasting, or by dropping them on the message box or on a user message you are editing.
| Kind | Limit | What the model gets |
|---|---|---|
| Images: PNG, JPEG, GIF, WebP | 32 MB | The image, scaled to fit 2000 × 2000 px, plus an [Image #N] reference in your text |
| PDFs | 20 MB, with a text layer and no password | On a vision model, the PDF itself if it has up to 10 pages, except over xAI, AWS Bedrock and OpenAI Compatible. Otherwise, or when the request would be too large, its text. |
| UTF-8 text: code, Markdown, CSV, JSON, SVG, notebooks | 256 KB | The text, before your message. Over 25,000 tokens, the first 2,000 lines. |
One message's attachments can come to 32 MB in all. For a PDF, the attachment preview says which of the two the model gets. A paste over 800 characters folds into a Pasted text tag and is sent as the full text.
A conversation with an image anywhere in it, including tool screenshots, cannot be sent to a model without Vision, and the message box says so. Switch to a vision model, or delete those images from the timeline.