Anvil TUI: eight layouts (v2.2.17)
Four architectural directions × with-and-without-tabs = 8 variants. Classic is the pre-v2.2.16 monolithic renderer and the new default. Vertical Split brings a persistent left rail + swappable deck. Three-Pane is always-on input (no vim modal). Journal is single-column with a Ctrl-K palette.
The pre-v2.2.16 monolithic renderer, now a first-class layout. Tab bar + model bar across the top, conversation in the middle, separator + input + status line at the bottom. Single-deck, no rail. The fastest, least chrome, and the new default for fresh installs.
Persistent context, swappable focus. Right for long sessions where you bounce between conversation and tool output frequently. The left rail makes session/agent switching one keystroke without breaking the conversation flow.
Always-on input, file-editor-shaped. No vim modal — just start typing. The fixed three-pane structure (Focus / Log / Context) means the assistant's current action is always visible at the top, not scrolled past. Right for engineers who want dense information density without modal gates.
Calm, paper-like, low chrome. Right for prose work, exploration, learning. Looks like a terminal journal more than an IDE. Commands live in a Ctrl-K palette like Linear/Slack/VS Code — discoverable, not memorized.
Classic renderer with the tab bar enabled. Identical to A0 but the tab strip appears at row 0. This is the out-of-box default for all new Anvil installs (v2.2.16+). Tabs switch instantly, layout otherwise unchanged from the monolithic renderer users already know.
Tabs live inside the deck pane. Parallel sessions share the same rail. Switch tabs to swap conversation context, but session list / agents / status stay anchored. Right when each tab is a separate workspace branch (debugging session A, deploying B) but you want one global view of what's running across all of them.
Three-pane always-on input with tab strip. Tabs switch with Ctrl+Tab or Ctrl+1-9. Each tab has its own Focus/Log/Context panes and conversation. Input is always active — just start typing. Right for engineers who want maximum visible structure with parallel sessions.
Threads instead of tabs. Each thread is a named conversation with its own model and journal. Switch threads with Ctrl+1-9 or /thread <name>. The journal layout never gains chrome — the thread switcher is one extra line at the top, then it's back to pure single-column flow. Right for users who want the calm of layout C but need to keep multiple parallel projects open.