Terminal
Route /terminal, or Open in terminal from a thread header.
A real shell, inside the app, running in your project directory.
One shell per project
This is the rule the screen is built on. Open in terminal from a thread either focuses the shell that project already has or starts it — it never leaves a pile of anonymous shells behind. The tab strip at the top is one tab per project.
New shell starts one in the project chosen in the picker next to it, and Open project… starts one in a folder you pick. Close ends the shell in the focused tab.
A shell keeps running when you navigate away. Its output keeps arriving into the backlog, so coming back redraws the whole screen rather than resuming mid-sentence.
When the project is no longer open
A shell only ever starts inside a folder you have proven you trust: one you picked, the workdir of a thread, or a project in the Projects sidebar (pinned or recent). If a pane's project stops being one of those — most often because it was removed from the sidebar — the pane does not go dead. It opens in the nearest project you do still have open (or your home folder if none) and shows a notice explaining where it landed and why. Add project in that notice remembers the original folder and restarts the shell there.
Backends
The terminal prefers node-pty, a real pseudo-terminal: full-screen programs, colours, resizing and job control all work. The badge next to the tab strip says node-pty when that is what you got.
When the native module is not available for your platform build, the app falls back to a pipe-based shell and says so in a notice. The fallback runs commands and shows their output, but it is not a terminal: programs that draw a full-screen interface, ask for a password, or care about the window size will misbehave. Packaging covers why the native module can be missing.
Keyboard
The pane has the keyboard whenever it is focused, so almost everything goes to the shell rather than to the app. Ctrl/⌘ K and Ctrl/⌘ 1 … 9 still work, because leaving a terminal has to be possible without the mouse.