Working

Reading and previewing files

Open files in a side pane, read them inline, and browse the tree without leaving the session.

The file tree

CtrlP opens the project tree in the right-hand pane. Arrow keys move, Enter opens the highlighted file in the preview and marks it as the target for CtrlL. Esc returns focus to the prompt; Ctrl] closes the pane.

/project view does the same from the command line if your hands are already there.

Previewing one file

Code
/preview internal/auth/session.go

Opens that file in the pane. CtrlL reopens whatever was last edited or previewed — which is usually exactly the file you want after a turn finishes. Press d in the preview to toggle the full checkpoint diff for the turn.

Reading a file into the conversation

/preview shows a file to you. /read pulls it into the conversation so it's part of what the model is working from.

Code
/read internal/auth/session.go

Reads are capped at 32KB — past that, ask for what you want instead ("summarise the error paths in @big-file.go") and it'll read the parts it needs.

Most of the time you don't need /read at all: mentioning @path/to/file in a prompt attaches it.

Listing directories

Code
/ls internal/auth
/tree                 # same thing, if that's the word you reach for

Keeping focus where you want it

With a pane open, CtrlG toggles focus between the pane's controls and the prompt, so you can scroll a file and keep typing. Esc from pane controls also returns to the prompt. Ctrl] always closes the pane outright.

If it doesn't work

The pane opens empty. The path didn't match. Paths are relative to the project root, and CtrlP avoids the guesswork.

/read truncated a file I need all of. That's the 32KB cap. Describe what you want from it instead — it will read the relevant parts itself.

CtrlL opens the wrong file. It tracks the most recent edit or preview. Open the one you want with CtrlP or /preview and it becomes the target.

Next