Features / Team Handoff

Hand off a session,
not a Slack message

Full conversation context, workspace state, and tool configs transfer instantly between teammates.

Developer A
$ sfs handoff ses_abc \
--to sarah@company.com \
--message "JWT middleware is the problem"
Handoff hnd_x7k9 created.
Session pushed. Sarah notified.
Developer B (Sarah)
$ sfs pull-handoff hnd_x7k9
Workspace resolved via git remote.
$ sfs resume ses_abc --in codex
Session resumed. 47 messages loaded.

Paths auto-resolve by git remote URL. No manual configuration.

How handoff works

Session copy on claim

When the recipient claims a handoff, the session blob is duplicated. Changes by the recipient don't affect the sender's original. Both sides remain independent.

Cross-environment

Paths auto-resolve by git remote URL. If the sender's path doesn't exist on the recipient's machine, SessionFS falls back to the current directory gracefully.

Email notification

Recipients get an email with session details and the pull command. Supports Resend, SMTP, or no email for air-gapped enterprise deployments.

What transfers in a handoff

Everything the recipient needs to continue exactly where you left off — not just the messages, but the full context.

Read the handoff docs
Full conversation history
Every message, tool call, and response from the original session.
Git workspace snapshot
Branch, commit SHA, remote URL, and dirty file list at handoff time.
Tool configuration
Which tool was used (Claude Code, Codex, Gemini, etc.) and resume target.
Sender's message
The optional note you add at handoff time to orient the recipient.