Skip to main content

Capture, sync, and resume AI coding sessions across 8 tools — Claude Code, Codex, Gemini, Copilot, Cursor, Amp, Cline, and Roo Code.

Project description

SessionFS

SessionFS

Stop re-prompting. Start resuming.

SessionFS captures your AI coding sessions and makes them portable across tools and teammates.

Start a session in Claude Code, resume it in Codex. Push a session to the cloud, your teammate pulls it with full context — conversation history, workspace state, tool configs, and token usage. No copy-pasting. No re-explaining.

Supported Tools

Tool Capture Resume
Claude Code Yes Yes
Codex CLI Yes Yes
Gemini CLI Yes Yes
Copilot CLI Yes Yes
Cursor IDE Yes Capture-only
Amp Yes Capture-only
Cline Yes Capture-only
Roo Code Yes Capture-only

Quick Start

# 1. Install
pip install sessionfs

# 2. Start the daemon — it watches all 8 tools automatically
sfs daemon start

# 3. Use your AI tools normally — sessions are captured in the background

# 4. Browse captured sessions
sfs list

# 5. Resume a session (same tool or different)
sfs resume ses_abc123 --in codex

See the full Quickstart Guide for detailed steps.

How It Works

The sfsd daemon uses filesystem events (fsevents on macOS, inotify on Linux) to watch native AI tool session storage. When it detects new or updated sessions, it converts them into the .sfs format — a portable directory containing manifest.json, messages.jsonl, workspace.json, and tools.json.

Each tool has its own watcher:

  • Claude Code — watches ~/.claude/projects/ JSONL files
  • Codex CLI — watches ~/.codex/sessions/ rollout files, reads SQLite index
  • Gemini CLI — watches ~/.gemini/tmp/*/chats/ JSON sessions
  • Copilot CLI — watches ~/.copilot/session-state/ event files
  • Cursor IDE — reads state.vscdb SQLite database (capture-only)
  • Amp — watches ~/.local/share/amp/threads/ JSON threads (capture-only)
  • Cline — watches VS Code globalStorage task directories (capture-only)
  • Roo Code — watches VS Code globalStorage task directories (capture-only)

Sessions are indexed locally for fast browsing via the CLI. Cloud sync is opt-in; the daemon defaults to local-only.

Commands

Command Description
sfs list List captured sessions with filtering and sorting
sfs show <id> Show session details, messages, and cost estimates
sfs resume <id> [--in TOOL] Resume a session in any supported tool (auto-launches)
sfs fork <id> Fork a session into a new independent session
sfs checkpoint <id> Create a named checkpoint of a session
sfs alias <id> <name> Set or clear a session alias
sfs export <id> Export as .sfs, markdown, or Claude Code format
sfs import Import sessions from any supported tool
sfs search "query" Full-text search across all sessions
sfs summary <id> Show session summary (files, tests, commands, packages) (or --today for daily overview)
sfs audit <id> Audit a session for hallucinations with LLM-as-a-Judge
sfs push <id> Push a session to the cloud
sfs pull <id> Pull a session from the cloud
sfs pull-handoff <hnd_id> Pull a session from a handoff link
sfs list-remote List sessions on the cloud server
sfs handoff <id> --to EMAIL Hand off a session to a teammate with email notification
sfs sync Bidirectional sync (push + pull)
sfs sync auto --mode MODE Set autosync mode: off, all, or selective
sfs sync watch|unwatch <id> Add/remove sessions from autosync watchlist
sfs sync status Show autosync mode, counts, storage usage
sfs project init|edit|show Manage shared project context for your team
sfs project set-context FILE Set project context from a file
sfs project get-context Output raw project context to stdout
sfs storage Show local disk usage and retention policy
sfs storage prune Prune old sessions to free disk space
sfs daemon start|stop|restart|status|logs Manage the background daemon
sfs daemon rebuild-index Rebuild local session index from .sfs files on disk
sfs watcher list|enable|disable Manage tool watchers
sfs auth login|signup|status Manage cloud authentication
sfs config show|set Manage configuration
sfs mcp serve Start MCP server for AI tool integration
sfs mcp install --for TOOL Auto-configure MCP for Claude Code, Cursor, or Copilot
sfs org create|list|show|invite|remove Manage organizations, members, and roles
sfs admin reindex Re-extract metadata for all cloud sessions

See the full CLI Reference for options and examples.

Cross-Tool Resume

# Start in Claude Code, resume in Codex
sfs resume ses_abc123 --in codex

# Start in Gemini, resume in Claude Code
sfs resume ses_def456 --in claude-code

# Cursor sessions can be resumed in any bidirectional tool
sfs resume ses_ghi789 --in gemini

SessionFS converts between native formats automatically — message roles, tool calls, thinking blocks, and workspace state are mapped across tools. See Compatibility for details on which tools support resume and why some are capture-only.

Cloud Sync (Optional)

# Create an account
sfs auth signup --url https://api.sessionfs.dev

# Push a session
sfs push <session_id>

# Pull on another machine
sfs pull <session_id>
sfs resume <session_id>

Free tier includes 14-day cloud retention with 1 device. See the Sync Guide for setup, conflict handling, and self-hosted options.

Session Search

# Search across all local sessions
sfs search "rate limiting middleware"

# MCP server lets AI tools search your past sessions
sfs mcp install --for claude-code

Team Handoff

# Hand off a session to a teammate
sfs handoff ses_abc123 --to sarah@company.com

# Teammate pulls and resumes
sfs pull ses_abc123
sfs resume ses_abc123 --in codex

Shared Project Context

Share architecture decisions, conventions, and team knowledge with every AI agent working on your codebase.

# Initialize project context (run from inside a git repo)
sfs project init
sfs project edit    # Opens in $EDITOR

# Any teammate with sessions in the repo can read it
sfs project show

AI agents connected via the MCP server can call get_project_context to read the document automatically. See Project Context for details.

Web Dashboard

A browser-based interface for browsing and managing synced sessions. Accessible at http://localhost:8000 when running the self-hosted server, or at app.sessionfs.dev for cloud accounts.

Self-Hosted Server

docker compose up -d

Starts the SessionFS API server, PostgreSQL, and web dashboard. See the Sync Guide for full configuration.

Session Format

Sessions are stored as .sfs directories:

  • manifest.json — identity, provenance, model info, stats
  • messages.jsonl — conversation history with content blocks
  • workspace.json — git state, files, environment
  • tools.json — tool definitions and shell context

All file paths are relative to workspace root. Sessions are append-only — conflict resolution appends both sides rather than merging.

Status

v0.9.5 — Public Beta. 921 tests passing.

What works today:

  • Eight-tool session capture (Claude Code, Codex, Gemini, Cursor, Copilot CLI, Amp, Cline, Roo Code)
  • Cross-tool resume between Claude Code, Codex, Gemini, and Copilot CLI (auto-launches native tool)
  • Shared project context — one document per repo, shared across the team, readable via MCP
  • Local storage management with configurable retention, pruning, and disk warnings
  • Full-text search across all sessions (CLI + dashboard + API)
  • MCP server with 5 tools — search, context, recent, related, and project context
  • LLM-as-a-Judge — audit sessions for hallucinations (BYOK, multi-provider, OpenRouter, custom base URL for LiteLLM/vLLM/Ollama)
  • GitHub PR App + GitLab MR integration — auto-comment AI session context on pull requests and merge requests
  • Team handoff with email notification and smart workspace resolution
  • Multi-provider email (Resend, SMTP, or disabled for air-gapped)
  • Browse, inspect, export, fork, and checkpoint sessions
  • Cloud sync with push/pull, email verification, and ETag conflict detection
  • FSL licensing with open-source core and enterprise extensions
  • Server-side tier gating (5 tiers, 30+ gated features)
  • RBAC with admin and member roles
  • Stripe billing integration with subscription management
  • Organization management (sfs org commands)
  • Self-hosted deployment via Helm chart with license validation (EKS/GKE/AKS tested)
  • Web dashboard with session management, search, handoffs, and audit

On the roadmap:

  • Session similarity and duplicate detection
  • Cost analytics dashboard
  • VS Code extension

Contributing

See CONTRIBUTING.md for development setup, testing, and PR guidelines.

License

Apache 2.0 — Core. FSL (Functional Source License) — Enterprise extensions in ee/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sessionfs-0.9.5.tar.gz (216.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sessionfs-0.9.5-py3-none-any.whl (307.8 kB view details)

Uploaded Python 3

File details

Details for the file sessionfs-0.9.5.tar.gz.

File metadata

  • Download URL: sessionfs-0.9.5.tar.gz
  • Upload date:
  • Size: 216.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for sessionfs-0.9.5.tar.gz
Algorithm Hash digest
SHA256 cfa018d72eea2b250eb2314a8cea3518cc3dad72f451521a2278f3ac82f953bb
MD5 a188cd904f6cc48db41db7cde8516eea
BLAKE2b-256 a7902ae3e39c07f5a091a73ebf5ed95b6aa03a06401ec3b608c45a0990e8b09b

See more details on using hashes here.

File details

Details for the file sessionfs-0.9.5-py3-none-any.whl.

File metadata

  • Download URL: sessionfs-0.9.5-py3-none-any.whl
  • Upload date:
  • Size: 307.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for sessionfs-0.9.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a1a259082d6a2b8dc3fa67218c212474f766085785ebfd6cf9ff6e8b234e0b5a
MD5 20b86985bfbf39b71b0a7c75016a71c8
BLAKE2b-256 f6d903dfb4e93e3bc6a76535eff62fb905d0c2b4ab4e01ae66f740d413087284

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page