Skip to content

Sessions & Shells

Inside a project you open two kinds of thing:

  • a Session — an isolated Claude workspace: its own conversation and its own copy of your code, on its own git branch, or
  • a Shell — a plain terminal in the project folder.

Both keep running in the background and are right where you left them when you reopen the app.

From a project in the sidebar:

  • + New session starts a Claude session (in a git repo, on its own spwn/… branch in its own worktree).
  • + New shell starts an ordinary interactive shell in the project folder.

Each opens as a tab in the main area. Click any entry in the sidebar to jump back to it.

Session Shell
What it is Claude, in a clean conversation view A plain interactive terminal
Isolation Own git branch + worktree (in a git repo) Runs in the project folder directly
Use it for Building features, exploring, agent work git, builds, tests, one-off commands
Fork / Timeline / Merge Yes No

A shell is just a terminal — no conversation, no branch. Reach for it when you want to run something yourself. A session is the unit you explore, fork, and merge.

A session is the centerpiece of spwn: a clean, readable conversation on one side and the complete Claude Code experience on the other — so you can read and work comfortably without giving anything up. The working side is Claude Code itself, not a stripped-down copy:

  • You type to Claude directly.
  • Every slash-command works.
  • Tool prompts — permission requests, pickers — appear and are answered right there, exactly as they would in the terminal.

In a git project, each session works on its own branch, in its own worktree, isolated from the others — so you can run several at once and merge the results back. See Branches & Merging.

Beside it, spwn shows a clean, scrollable view of the conversation. It stays in sync with the session and lets you act on individual turns:

  • + ctx saves a turn into the project’s Merge tray, so a useful exchange from one session can seed the next.
  • ⑂ Fork branches a new session from that point.
  • ↺ Return here rolls the session back to that point (see the Timeline).

Each session also has an Inspector with tabs for its changed files, its Timeline, its Hooks, and a ⤵ Merge… action to bring its branch back. See Branches & Merging and Project Hooks.

Every session and shell keeps running even when you close spwn. Quit the app and reopen it, and each is exactly where you left it — scrollback, history, and any running program (a build, a dev server, a long Claude task) all intact. You never lose work just because you closed the window.