Code blocks & canvas
Every fenced code block in an assistant reply is syntax-highlighted, line-numbered and comes with a small toolbar. For longer snippets, the Open in canvas action gives you a wider, easier-to-read view alongside the conversation.
Inline actions
Hover over any code block and the toolbar exposes:
- Copy — put the snippet on the clipboard. Works for everything, even non-code (JSON, logs, plain prose in a fenced block).
- Export — save to a file via the native save dialog. The default filename uses a sensible extension based on the detected language (
snippet.ts,snippet.py,Dockerfile, and so on). - Open in canvas — pop the block out into the wide canvas panel.
The canvas panel
The canvas opens in the right-hand slot of the window. It shows:
- Title bar with the inferred language and a short title.
- Copy button mirroring the inline action.
- Export button with the same sensible-filename defaults.
- Read-only body with line numbers and language-aware highlighting. Unknown languages fall back to auto-detection.
The canvas is also where text and code attachment previews open — clicking a recognised code or text file chip in the transcript routes straight here, with the same highlighting and export controls.
Heads up
The canvas and the parameters sidebar share the same right-hand slot. Opening the canvas will close the parameters panel for that chat; closing the canvas brings it back.