Skip to content

Your first sessions

Open Alto, or from any terminal:

Terminal window
alto term # a session in an Alto window, in this folder (a new tab if one's open)
alto open ~/src # the same, in a folder (`term`, `terminal` and `open` are one command)
alto open -- htop # run a program instead of your login shell

Plain alto starts a session in the terminal you typed it in, in that folder: Alto isn’t a terminal of its own, so it works in whichever one you’re in (Keep your terminal). alto term is for Alto’s own window, and over SSH it says no window can open there. Typed inside an Alto session already, plain alto says so first, and asks: a new session in a tab of Alto’s window (offered while the window is open, and what Enter takes then), one here inside this one (what Enter takes with no window), or neither (q).

Start something long in a tab, a build, a dev server or an agent, then quit the app. Nothing stops. Every tab’s session is its own background process, and the window was only drawing it.

Terminal window
alto ls
1 48211 2h working claude ~/src/payments
2 48230 2h done codex ~/src/web
3 48262 1h idle pnpm dev ~/src/web

The columns are the session’s id, its process, how long it’s been running, its state, its program and its folder.

Open Alto again and every tab is where you left it: its splits, which pane had focus, and the scrollback.

Terminal window
alto attach # choose from a list, or start one
alto attach 2 # show session 2 here

Ctrl-\ detaches. The session carries on, and the Alto window still shows it. Several clients can show one session at once; its size follows whoever typed last.

Terminal window
alto new # a session running your shell; prints its id
alto new -- npm run dev # running a program
alto new --attach # and show it here
alto kill 3 # end its program (or forget an ended session)

Sessions save their screen as they go. After a restart each tab shows its last screen, scrollback included, with a note: This session has ended, and a button that says what it’ll do: Resume Claude, Run vim again, New shell. It starts the command again in the folder it was last in, and an agent picks up its own conversation. See Sessions.