| Variable |
|
ALTO_HOME |
Keep everything (settings, state, sockets) in this folder: a separate service and set of sessions, for trying things without touching your own |
ALTO_SESSION |
Set inside every session, so alto report, run and work know which session they’re in |
ALTO_AGENT |
The agent alto types for (claude, codex): its typing waits while a person types, and is refused while agents are paused. Claude Code’s CLAUDECODE=1 counts as claude. Sessions don’t pass these on, so a person typing in a session the service started from an agent’s shell is still a person. They can only add: inside a session, a program running under an agent (Claude Code, Codex) is that agent’s whatever these say, since the session looks at the processes above it |
|
macOS |
Linux |
Windows |
Settings (settings.toml) |
~/Library/Application Support/alto |
~/.config/alto |
%APPDATA%\alto |
| State (session records, saved screens, logs) |
~/Library/Application Support/alto |
~/.local/state/alto ($XDG_STATE_HOME) |
%LOCALAPPDATA%\alto |
| Sockets |
run/ under state |
$XDG_RUNTIME_DIR/alto |
named pipes |
The window’s layout (tabs, splits, focus, profiles) is kept in app-layout.json.
alto run and alto wait share these:
| Exit |
Means |
0 (or the command’s own, for run) |
it happened |
124 |
timed out (--timeout); a run command keeps running |
125 |
couldn’t run it, the session ended, or the connection to it was lost (a remote service restarting); it says which, and whether the session is still running |