Skip to content

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.

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.

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.

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:line or path:line:col suffix — 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.