Skip to main content
In a plain terminal, the output of ten commands is a single river of text. Finding where one started, copying only its output, or telling which of the ten failed is your job — by eye and by scrolling. With blocks, each command you run becomes a card: the command, its output, the exit code, how long it took and which folder it ran in.
Blocks come with the TYBA command line, and only exist while it is on. It is what takes the shell prompt off the screen — and that is what gives the app the exact boundary of where each command begins and ends. With the prompt drawn on screen, the boundary would land in the middle of a prompt that themes like Powerlevel10k repaint underneath, and the cut would come out wrong.

The card

Scrolling a tall block keeps its header pinned at the top, so you never lose track of which command you are reading.

What you can do with one

Hover the header:
Actions read the model, never what is drawn. Copying the output of a long block brings all of it, not just the rendered part.

Marking several

Copying five commands at once is block selection, not text selection. Dragging inside a block is still ordinary text selection — and a drag that ended with text selected does not mark the block.
Why not ordinary mouse selection across several cards. The list only keeps drawn the blocks that fit on screen. Dragging across fifty and pressing ⌘C would hand you only the visible ones — less than you highlighted, with no warning at all. Marking block by block copies what you marked, every time.

Full-screen apps produce no output

vim, htop, less and friends draw the whole screen and wipe it on exit. Storing that would produce garbage shaped like output. Those commands become a card with no body, with the reason written in: full-screen app — output is not stored. The card stays: making the command disappear would be worse than a card with no output.

clear wipes the disk too

clear and reset on their own wipe the list and the stored blocks — not just the screen. It is irreversible, on purpose.
Clearing only the screen would leave on disk output you believed you had erased — including the output you erased precisely because something was showing. The clear block itself stays: without it the list empties, the terminal appears and the cursor sits loose in the middle of the pane, looking broken. Only the command on its own counts. clear && ls has real output after it, and wipes nothing.

What is kept

Blocks survive closing the session: reopening shows the history above the new shell.

See also

The TYBA command line

The prerequisite, and how to turn it on.

Shell integration

Where each command’s boundaries come from.

Search

Finding text in what has gone by.

Safe paste

The other side of the command line.