Session per client

Keep each client or project in its own named session. Workspaces, tabs and agents never mix, and each session keeps running on its own while you switch between them.

One session per context

beswarm session start --name acme
beswarm session start --name internal
beswarm session list

Each session has its own workspaces, tabs, agents, settings and default notification sound.

Add the repos

From inside each session's TUI, or from a shell:

beswarm --session acme workspace add --name web --path ~/clients/acme/web
beswarm --session acme workspace add --name api --path ~/clients/acme/api
beswarm --session internal workspace add --name tools --path ~/code/tools

Always pass --session

Commands act on default unless told otherwise, and BeSwarm injects no session context into its tabs. When working outside default, put --session on every command:

beswarm --session acme agent list
beswarm --session acme agent start --name review --agent claude --prompt "Review the open diff"

A shell alias saves typing and mistakes:

alias acme='beswarm --session acme'
acme agent list

Switch contexts

Quit the TUI and attach to the other session. Agents in the one you left keep running:

beswarm session attach --name internal

Wind one down

When an engagement ends, stop its helpers. The saved layout stays on disk:

beswarm --session acme server stop

warning

server stop kills every shell and agent in that session. Check beswarm --session acme agent list first. session clear deletes every session except default and can't be undone.