Export and import Claude Code sessions to JSON files for secure, private sharing between developers via direct file transfer.
npx claudepluginhub asheshgoplani/agent-deck --plugin agent-deckThis skill uses the workspace's default tool permissions.
Share Claude Code sessions between developers through portable file export/import.
Searches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Checks Next.js compilation errors using a running Turbopack dev server after code edits. Fixes actionable issues before reporting complete. Replaces `next build`.
Share Claude Code sessions between developers through portable file export/import.
Version: 1.0 | Privacy: Files are never uploaded to cloud unless you choose to share them
This skill includes helper scripts in its scripts/ subdirectory. When Claude Code loads this skill, it shows a line like:
Base directory for this skill: /path/to/.../skills/session-share
You MUST use that base directory path to resolve all script references. Store it as SKILL_DIR:
# Set SKILL_DIR to the base directory shown when this skill was loaded
SKILL_DIR="/path/shown/in/base-directory-line"
# Then run scripts as:
$SKILL_DIR/scripts/export.sh
$SKILL_DIR/scripts/import.sh ~/Downloads/session-file.json
# Export current session
$SKILL_DIR/scripts/export.sh
# Output: ~/session-shares/session-2024-01-20-my-feature.json
# Share the file via Slack, email, AirDrop, etc.
# Other developer imports
$SKILL_DIR/scripts/import.sh ~/Downloads/session-2024-01-20-my-feature.json
# Session appears in agent-deck, ready to continue
Export the current Claude session to a portable file:
$SKILL_DIR/scripts/export.sh [options]
Options:
| Option | Description |
|---|---|
--session <id> | Export specific session (default: current) |
--output <path> | Custom output path |
--include-thinking | Include Claude's thinking blocks |
--no-sanitize | Don't redact sensitive data |
Examples:
# Export current session
$SKILL_DIR/scripts/export.sh
# Export to specific location
$SKILL_DIR/scripts/export.sh --output /tmp/handoff.json
# Export specific session with thinking blocks
$SKILL_DIR/scripts/export.sh --session abc123 --include-thinking
What gets exported:
What gets redacted (by default):
Import a shared session file and create an agent-deck session:
$SKILL_DIR/scripts/import.sh <file-path> [options]
Options:
| Option | Description |
|---|---|
--title <name> | Override session title |
--project <path> | Import to specific project |
--no-start | Don't auto-start the session |
Examples:
# Import and start
$SKILL_DIR/scripts/import.sh ~/Downloads/session-feature.json
# Import with custom title
$SKILL_DIR/scripts/import.sh session.json --title "Feature Work from Alice"
# Import without starting
$SKILL_DIR/scripts/import.sh session.json --no-start
$SKILL_DIR/scripts/export.sh~/session-shares/session-2024-01-20-feature.json$SKILL_DIR/scripts/import.sh ~/Downloads/session-2024-01-20-feature.json{
"version": "1.0",
"exported_at": "2024-01-20T15:30:00Z",
"exported_by": "alice",
"session": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Feature Implementation",
"original_project": "/Users/alice/my-project"
},
"context": {
"summary": "Last few user messages for quick context",
"modified_files": ["src/auth.ts", "src/middleware.ts"]
},
"messages": [ /* JSONL records as JSON array */ ],
"stats": {
"total_messages": 150,
"user_messages": 45,
"assistant_messages": 105
}
}
| Data Type | Redaction |
|---|---|
| API keys | Replaced with [REDACTED] |
| Tokens | Replaced with [REDACTED] |
| Home paths | Converted to ~ |
| Username in paths | Converted to $USER |
| Thinking blocks | Removed entirely |
--include-thinking sparingly - Thinking blocks may contain sensitive reasoning| Issue | Solution |
|---|---|
| "Could not detect current Claude session" | Make sure you're in an agent-deck session with active Claude |
| "Session file not found" | Session may not have been saved yet; send a message first |
| Import shows wrong project | Use --project /correct/path to specify destination |
| Large file size | Use default settings (strips thinking blocks) |
Claude stores sessions in: ~/.claude/projects/<encoded-path>/<session-id>.jsonl
Path encoding: /Users/alice/project becomes -Users-alice-project
~/.claude/projects/<encoded-current-project>/<session-id>.jsonlclaude-session-id so restart uses --resumejq - JSON processing (install: brew install jq)agent-deck - Session managementclaude - Claude Code CLI