Skip to main content
Typing a three-paragraph prompt straight into the PTY is rough: the agent redraws the line, the up arrow becomes its history, and an accidental Enter sends half of your idea. The composer is a real text box for writing before you send. ⌘⇧G on macOS, Ctrl+Shift+G on Windows and Linux. It opens below the terminal, above the chip bar.
In Settings it goes by its internal name, Rich Input. Same thing.
The shortcut is a focus toggle, not an on/off switch: with the box already focused, ⌘⇧G hands focus back to the terminal and leaves the box open, with your text where it was. Esc is what closes it.

@ for files

Type @ and start the name. The @ only arms the autocomplete at the start of a line or after a space — a user@host triggers nothing. The list comes from the worktree’s git ls-files: tracked and untracked, with .gitignore respected. Paths are relative to the session directory, and the search is fuzzy. With the popover open: With no popover, Esc closes the composer.
The popover only exists when there is at least one match. If you typed @xyz and nothing matches, there is no popover — and then Esc closes the whole box, because it’s the only Esc left.
The paperclip next to it opens the system file picker and inserts the path — relative to the session when it can, absolute when it can’t.

Enter: the two settings

This is the confusing part, so here it is in full. What rules is the “Send with Ctrl+Enter” preference (Settings → Preferences), on by default: Two things worth calling out:
With the preference off, ⌘↵ does nothing. It neither sends nor inserts a newline — it is a dead key, on purpose.The reasoning: if already sends, a ⌘↵ is almost certainly muscle memory from someone expecting the other setting. Better to do nothing than to send half a prompt.
⇧↵ always inserts a newline, under both settings. It is the key that works without you remembering how the preference is set.
The send shortcut (⌘↵ / Ctrl+↵) cannot be remapped. The ⌘⇧G that opens the box can.
A session without bracketed paste is a single-line session. The composer sends the text wrapped in DECSET 2004; without that, there is no way for a \n to be text instead of Enter. When TYBA detects that the session hasn’t enabled it, it blocks the newline and warns: “Session without bracketed paste: single line only.”

The sensitive-prompt warning

With “Warn about sensitive prompts” on (default), the core looks at the text before sending. If it thinks there is sensitive data in it, the send does not happen: the button turns amber and “May contain sensitive data — click again to send.” appears. Pressing again sends. It is a one-click toll, not a block. The check is a substring search, no regex, against a fixed list of twelve terms, in Portuguese and English:
This is not a secret detector. It finds the word, not the value.An AKIA… pasted raw sails right through — none of those words appear. And “fix the tokenizer” trips it, because it contains token. Treat it as a crude reminder, not a net.
Editing the text re-arms the warning. If the check fails, the prompt goes — it fails open, because an IPC error shouldn’t stop you from working.

The preferences

All in Settings → Preferences: With “Close after sending” off, the box stays open and empty — good for firing off several prompts in a row.

See also

Claude Code and Codex

Where the agent session is born.

Shortcuts

What you can and cannot remap.