Editor & diff nodes
The canvas isn’t only terminals. You can open a file as a code editor node, view a file’s git changes as a read-only diff node, and jump straight into either by Cmd/Ctrl+clicking a path in a terminal’s output.
Editor nodes
Section titled “Editor nodes”An editor node is a full Monaco code editor bound to a single file. Open one from the Explorer, the command palette (⌘K → Open file…), the pane right-click menu, or by clicking a file path in terminal output (see below).
- Saving — ⌘S writes the file. A dirty dot in the header marks unsaved changes and clears when you save.
- Language — the editor auto-detects the language from the file’s path, so syntax highlighting just works.
- Markdown preview — toggle Preview / Edit in the header, or press ⌘M while hovering the node, to render the live content as formatted markdown instead of editing it.
- Images — image files (
png,jpg,gif,webp,bmp,ico,svg,avif) skip the code editor entirely and show a pixel-perfect image preview instead, on a checkerboard backdrop with the image’s dimensions in the header.
Diff nodes
Section titled “Diff nodes”A diff node is a read-only Monaco diff view of a file’s git changes. There are two flavors:
- Staged — HEAD vs the index (what a commit would capture).
- Unstaged — the index vs your working tree (what you’ve changed but not staged).
Diff nodes are read-only — they’re for reading a change, not editing it. Open one by clicking a file in the Source Control panel, or from an Edit/Write card in a chat node.
File links in terminals
Section titled “File links in terminals”Hold Cmd (macOS) or Ctrl (Linux/Windows) and click something in a terminal’s output to open it:
- URLs open in your default browser.
- File paths open as an editor node. A
path:lineorpath:line:colsuffix — the shape compilers print in their errors — is understood, so you land in the right spot. - Directories are revealed in the Explorer.
Paths are verified to exist against the project’s files before they become clickable, so you won’t get a dead link for a string that merely looks like a path.