Skip to content

Paste images and write multi-line prompts

The last lesson covered getting text into the session - live output with !, exact files with @. Two kinds of input still don’t fit that shape: things that aren’t text at all, and prompts that need more than one line. Both are daily friction if you handle them wrong - saving screenshots to disk to describe a path, or firing a structured spec as five accidental turns. Both have a clean inline move.

Some problems don’t live in text at all - a misrendered receipt page, a chart that’s wrong, a screenshot of a stack trace from a teammate’s terminal. You don’t have to save those to disk and describe the path. Copy the image to your clipboard and paste it directly into the prompt: on most setups that’s Ctrl+V (note: not the terminal’s usual Cmd+V paste, which won’t carry the image - though iTerm2 maps Cmd+V, and Windows/WSL use Alt+V). Claude Code inserts an [Image #N] chip at the cursor so you can refer to it in place:

> the payments dashboard renders this for refunded orders [Image #1] -
the badge should say "Refunded", not "Paid". it's in @src/components/StatusBadge.tsx

The exact paste binding is one of the more platform-dependent shortcuts, so if it doesn’t take, the interactive-mode reference lists the per-terminal keys. But the habit is the point: a screenshot carries detail your words would flatten, and the agent reads it.

The last bit of inline friction is the Enter key. By default Enter submits, which is exactly wrong when you want to write a prompt with structure - a few bullet points, a short spec, a snippet pasted between sentences. You don’t want each line firing off as its own turn.

The portable way to add a newline without submitting is \ then Enter - a backslash at the end of the line, which works in every terminal. There’s also Ctrl+J, which inserts a newline with no configuration at all, Option+Enter where the terminal sends Option as Meta, and a plain Shift+Enter once set up. If Shift+Enter doesn’t, running /terminal-setup installs the binding for the common editors. The full per-terminal matrix is in the interactive-mode docs; pick whichever one your fingers will remember.

> here's what the idempotency middleware needs to do: \
- read the Idempotency-Key header \
- if we've seen it and the charge finished, return the stored result \
- if we've seen it but it's still in flight, return 409 \
- if it's new, proceed and record the key \
write it as express middleware in @src/payments/middleware/

That’s a real spec the agent can build against, written as one prompt instead of five accidental ones.

With images and structured prompts going in cleanly, getting things in is solved. The next set is about what happens once you’re in flight: how to ask a question, catch up, or reuse a command without breaking the thread you’re working in. That’s staying in flow.