Aude Code

AUDE-TERMINAL(7) Miscellaneous Information Manual AUDE-TERMINAL(7)

aude-terminal — the interactive terminal of aude

This page is about ‘aude’ and ‘aude attach’ on a terminal. The apps use the same keys and lines. In an app, Send sends the draft, Stop interrupts the turn, and a tap on a candidate completes the word.

On a terminal, a session opens with the word aude in block characters, with an empty line above and below it. The apps show the word at the top of the list of sessions.

The first two columns of each line are a gutter. The first line of a message has a glyph in the gutter: ‘>’ for a line that you typed, ‘*’ for the answer of the model, and ‘%’ for a line that waits for the running turn. Tool calls, tool results, notices and replies to commands have no glyph. A tool result is ‘ok’, or ‘error:’ and the first line of the error.

The model's markdown keeps its markup. Headings and bold text are bold, emphasis is italic, links are underlined, and code is on a blue fill. The other colours are fills: grey for a line that you typed, red for an error, and yellow for a line from the session, such as ‘interrupted’ or ‘rate limited until <time>’.

Some lines tell about the session and are not part of the transcript: the login line, and ‘<name> attached’ or ‘<name> detached’ when another client attaches or detaches.

The prompt is ‘>’ while the session is idle and ‘%’ while a turn runs. While the model thinks, ‘thinking’ shows under the draft. The text after it is the .

The line under the prompt shows the first of these:

  1. a note about the draft or a key; see THE ROW
  2. the completion candidates, while you type a word
  3. the facts

The facts show these parts, joined by ‘·’: the session name, when the client has more than one connection, with ‘@’ and the address of the host when two connections have the same name; the working directory; ‘worktree <name>’, in a worktree of the harness; the branch, or ‘detached’; the context size, such as ‘42k’; ‘agent <name>’, when the agent is not default; and the identifier of the model, then the effort when you set one. An example is ‘~/path/to/repo · main · 42k · agent review · claude-opus-5-5 high’. A part that is not known is not shown. The context size is yellow from 200k and red from 300k.

A line that you send while a turn runs shows above the prompt with ‘%’. It moves into the transcript, with ‘>’, when its turn starts.

send the draft queue the draft
newline newline
with a draft, prime; again, clear the draft interrupt the turn
clear the draft and prime; again, quit interrupt the turn
with a draft, delete forward; else prime; again, quit same
move a line, or walk the past drafts from the first or last line same
move the cursor same
move a word same
go to the start or the end of the line same
delete to the end of the word same
delete back or forward same
cut to the end of the line, to its start, or to the last space same
paste the last cut same
draw the prompt again same
stash the draft; on an empty draft, get the stash back same
complete the word at the cursor same
insert the text, with its newlines same

To a key is to make its next press do more. A backslash before Enter, and Option+Enter, also give a newline. A key that is not in the table does nothing. Terminal.app sends Shift+Enter as Enter, and keeps Home and End to scroll its window: use ^J, ^A and ^E there.

A terminal that sends Option as Meta sends Option+Left, Option+Right and Option+Delete as Esc then b, f or d. aude reads the two as one key when they come within 25 ms.

The prompt keeps the last 500 past drafts that you sent, cleared or stashed. The stash keeps one draft. Neither is written to disk.

After some keys, the line under the prompt tells what happened and how to undo it. The line stays until the next key.

‘esc again clears the draft’
 
‘^C again quits’
 
‘^D again quits’
 
‘draft cleared · ↑ restores’
press Up to get the draft back
‘^C again quits · draft cleared · ↑ restores’
 
‘draft stashed · ^S restores’
 
‘draft kept with <name>’
after a switch away from a draft; the draft comes back with that connection
‘cut to end of line · ^Y pastes’
 
‘cut to start of line · ^Y pastes’
 
‘cut to start of word · ^Y pastes’
 
‘pasted’
 

While a turn runs, the row does not show the Esc and ^C lines, because the next press interrupts the turn.

Press ^C or ^D two times to quit. The quit interrupts the turn of the local session, and closes each connection. A session that another aude process hosts continues its turn. When the local session ran a turn, the quit prints its resume line:

resume with: aude --harness <name> --resume <id>

One client can hold connections to many sessions. One connection is in the foreground. These commands stay in the client:

url
Attach to the ‘aude-rc://’ URL that a session printed when it started on another machine, or that ‘aude pair’ printed there, and put that session in the foreground. The URL does not show on the screen.
[target]
With no target, list the connections. With a target, put that connection in the foreground.
[target]
Close a connection, by default the one in the foreground. The local session does not detach: quit to end it. When the last connection closes, ‘aude attach’ ends.

Each connection has one listing: ‘<name>@<address> <branch> <harness> <state> <unread>’, then ‘foreground’ for the connection in the foreground, and ‘draft’ when it keeps a draft. The state is the state of the work, as aude(1) gives it. The address is ‘machine:port’, or ‘local’ for the session of this ‘aude’.

A connection that opens prints ‘attached to <name>@<address>’, and /detach prints ‘detached from <name>@<address>’. A switch prints the listing of the connection, then what the session said while it was not in the foreground. Each connection keeps its own draft. A connection that is not in the foreground prints one line when its turn ends, ‘<name>@<address> idle’. Any connection prints one line when it ends, ‘<name>@<address> ended: <reason>’, except after a quit.

Tab completes the command name, the project skills, the arguments of /model, /effort and /agent, and the connection names after /switch and /detach. One match fills the word. More than one match fills the common start, and the line under the prompt shows the candidates. Completion sends nothing.

aude(1), aude-rc(7)

October 21, 2026 aude