What’s the difference between a subagent and a separate session?

A subagent runs inside another agent’s session: it starts with a fresh context window, receives only the task prompt it was handed, and reports a summary back to its parent when it finishes. A separate session is its own top-level conversation with its own transcript, its own terminal, and no parent to report to.

The practical difference is who holds the thread. Subagents keep the main conversation’s context clean, since only their conclusion comes back, and they suit bounded research or review work. Separate sessions suit long-running independent work you want to steer directly, resume tomorrow, and put on its own branch. See Claude Code subagents and managing multiple AI sessions.