Links & Clipboard
How TermFlow turns terminal text into clickable links, how copy and paste work with the native OS clipboard, and what the terminal right-click menu offers.
Opening links and file paths
TermFlow detects two kinds of clickable text in terminal output: URLs and file paths. To keep a plain click free for selecting text, a detected link only opens when you hold a modifier while clicking.
| You do | TermFlow opens |
|---|---|
Modifier + click a URL (e.g. https://…) | The URL in your default OS browser |
| Modifier + click a file path | The file in your configured editor, or the OS default handler if no editor is set |
The modifier is platform-specific:
- Windows / Linux: hold Ctrl and click.
- macOS: hold Cmd and click.
Without the modifier, a click (or drag) just selects text as usual.
When a path carries a :line or :line:col suffix — the format coding agents and compilers print, like src/app.ts:42:8 — TermFlow strips the suffix from the path and passes the line and column through to your editor so it jumps straight to that spot.
Relative paths resolve against the working directory
Agents and build tools often print relative paths like src/index.ts. TermFlow resolves those against the terminal's live working directory before opening:
Because resolution uses the terminal's live working directory, a printed path stays correct even after an agent cds into a subfolder mid-session.
Choosing the editor for file links
Set your preferred editor in Settings → Terminal Behavior → Default editor for file links (a Browse… picker). Leave it empty to let the operating system pick the default application for each file type. See Terminal behavior settings for the full list of options.
Copying and pasting
TermFlow uses the native OS clipboard — the same clipboard as the rest of your system — so copied text is available in every other app, and pasting pulls from wherever you last copied.
| Action | Shortcut |
|---|---|
| Copy the current selection | Ctrl+Shift+C |
| Paste at the cursor | Ctrl+Shift+V |
Ctrl+Shift+C and Ctrl+Shift+V are used (rather than plain Ctrl+C / Ctrl+V) because in a terminal Ctrl+C sends an interrupt (SIGINT) to the running program and Ctrl+V has its own shell meaning. You can also Copy and Paste from the right-click menu.
An honest note: Copy-on-select is not available. Selecting text does not automatically copy it to the clipboard — you always copy explicitly with
Ctrl+Shift+Cor the menu.
Smart Ctrl+C (Windows / Linux)
To make copying feel more natural on Windows and Linux, TermFlow offers an optional Smart Ctrl+C. It is enabled by default and can be toggled in Settings → Terminal Behavior → Smart Ctrl+C.
- When text is selected, pressing
Ctrl+Ccopies the selection (and clears it) instead of sending SIGINT. - When nothing is selected,
Ctrl+Cbehaves normally and sends SIGINT to interrupt the running program.
Because a program can leave text selected while it is running, TermFlow guarantees you can always interrupt: pressing Ctrl+C three times within two seconds forces a real SIGINT, even if a selection exists. Mashing Ctrl+C always kills the process.
Smart Ctrl+C is a Windows/Linux convenience only. On macOS, Ctrl+C always sends SIGINT — use Cmd+C conventions and Ctrl+Shift+C to copy.
Selecting text when a program owns the mouse
Full-screen CLIs (such as some coding agents) capture the mouse for their own use, so a normal drag inside them won't select text. When TermFlow detects this, the right-click menu shows a Selection mode item: enable it to pause the program's mouse capture so you can drag-select and copy, then disable it to hand mouse control back to the app.
The right-click context menu
Right-clicking inside a terminal opens a context menu that gathers the common actions in one place:
┌───────────────────────────────────────────┐
│ ▤ New Pane Horizontally │
│ ▥ New Pane Vertically │
│ ➕ New Tab │
│ 🪟 New Window │
│ 🎨 Color scheme for "codex" (if agent) │
│ ─── ────────────────────────────────────── │
│ 📋 Copy Ctrl+Shift+C │
│ 📥 Paste Ctrl+Shift+V │
│ 🖱 Selection mode (only when captured)│
│ ───────────────────────────────────────── │
│ 🧹 Clear Ctrl+Shift+X │
│ 🔲 Select All │
│ ───────────────────────────────────────── │
│ 🔄 Reset Rendering │
│ ⚡ Disable WebGL (All Terminals) │
│ ───────────────────────────────────────── │
│ 🐞 Enable Diagnostics Logging │
└───────────────────────────────────────────┘
| Item | What it does |
|---|---|
| New Pane Horizontally / Vertically | Split this pane with a new terminal below it or beside it |
| New Tab | Open a new tab using your default shell profile |
| New Window | Open a new, empty application window |
| Color scheme for " | Pick a color scheme for the coding agent detected in this pane (shown only when one is running) |
| Copy / Paste | Copy the selection to, or paste from, the native clipboard |
| Selection mode | Pause a program's mouse capture so you can drag-select (shown only when a CLI is holding the mouse) |
| Clear | Clear the visible screen; command history and scrollback are kept |
| Select All | Select all text in the terminal, including scrollback |
| Reset Rendering | Repaint just this terminal from scratch to fix visual glitches; does not touch the shell, output, or history |
| Disable / Re-enable WebGL | Switch terminals between GPU and the safer DOM renderer if GPU rendering causes glitches |
| Diagnostics Logging | Log terminal rendering diagnostics to the developer console for troubleshooting |
Reset Rendering and the WebGL toggle are the first things to try if text ever looks smeared or misaligned. They change only how the terminal is drawn — your session, output, and scrollback are untouched.
Next steps
- Terminal behavior settings — configure Smart Ctrl+C and the default editor for file links.
- Search — find text across a terminal's scrollback with the in-terminal search overlay.