Skip to content

Sessions

Each agent chat runs one live CLI session. The CLI keeps its own memory from turn to turn, so Aether sends only your new message, not the whole transcript.

While a turn is running you can keep typing:

  • Steer sends your message into the current turn, for CLIs that accept that.
  • Queue holds your message and sends it when the turn ends.

Esc in the composer stops the turn. A stop asks the CLI to finish gracefully and kills it after 3 seconds if it doesn’t. Whatever the agent produced before the stop stays in the transcript.

A chat is always in one visible state: working, waiting on you, retrying, quiet, stalled or failed, with a timer. If a turn receives no events for 60 seconds, the chat says so and shows the process state and the last event it saw.

Approvals and questions from subagents and child sessions reach you too. If one is answered or cancelled somewhere else, its card disappears.

Action What happens
Fork Starts a new chat from earlier messages. The new CLI session is seeded with the transcript text.
Rollback Edit and resend, or retry: the chat is truncated at that message and prompted again.
Resume After an app restart, the chat reconnects to its CLI session and the transcript is restored.

Switching provider, model, access or effort also restarts the CLI and resumes the same conversation.

Chats, their provider and model, access and effort, and their session ids are stored in aether.db, a SQLite file in Aether’s config folder.