A thread is one chat with one agent: its own model, mode (plan / auto / full), and native agent session underneath.
Cmd+N, or pick a project in the left sidebar./ for commands, @ to mention files.Esc stops a running turn. Shift+Tab toggles plan mode. ↑/↓ recalls composer history.Each thread tracks its agent's exact native session ID (--resume, exec resume, -s depending on the agent). Reopening a thread resumes that session — Fullhouse never guesses "latest session".
Threads persist as one JSON file per chat under the OS app-data path: inspectable, greppable, backed-up. Not browser localStorage.
When a provider rate-limits, a banner offers Continue in <agent>: the transcript is extracted, secrets redacted (see Permission modes), the git worktree preserved, and the fallback agent starts from the same state. The target thread inherits the source worktree, and the switch is recorded in a signed handoff ledger.
Next: Permission modes — what agents may do.