blacktop

save-session

Save AI agent session information for later resumption. Use when: (1) Finishing a work session and want to save progress (2) User says "save session", "remember this session", or "save your session ID" (3) Before ending a long coding/debugging session (4) When user wants to be able to resume this conversation later Supports Claude, Codex, Gemini, Copilot, Cursor, and other AI agents.

blacktop 15 Updated 4mo ago

Resources

1
GitHub

Install

npx skillscat add blacktop/dotfiles/save-session

Install via the SkillsCat registry.

SKILL.md

Save Session

Save session metadata to docs/.ai/sessions.json for future resumption by any AI agent.

Usage

python3 ~/.claude/skills/save-session/scripts/save_session.py \
  --session-id "SESSION_ID" \
  --agent "claude" \
  --summary "Brief description of work done" \
  --repo-root "$(pwd)"

For Codex, you can use automatic detection:

python3 ~/.claude/skills/save-session/scripts/save_session.py \
  --session-id auto \
  --agent codex \
  --summary "Brief description of work done" \
  --repo-root "$(pwd)"

Finding Your Session ID by Agent

Claude Code

Session storage: ~/.claude/projects/<project-hash>/<SESSION_ID>.jsonl

How to find:

  • Extract UUID from file paths in context (e.g., tool output paths contain the session ID)
  • Use /status command to see session info
  • List sessions: claude --resume (interactive picker)

Environment: CLAUDE_CONFIG_DIR changes storage location (default: ~/.claude)

Resume: claude --resume SESSION_ID or claude -r SESSION_ID

OpenAI Codex CLI

Session storage: ~/.codex/sessions/

How to find:

  • Use /status command within Codex
  • Copy from session picker
  • List files in ~/.codex/sessions/
  • Or pass --session-id auto (uses latest ~/.codex/shell_snapshots/*.sh filename; verify if multiple sessions are active)

Note: Session ID is not currently exposed to the model itself (see GitHub issue #5912)

Resume: codex resume SESSION_ID

Google Gemini CLI

Session storage: ~/.gemini/tmp/<project_hash>/chats/

How to find:

  • Use gemini --list-sessions to see all sessions with UUIDs
  • Sessions are project-specific

Resume options:

  • gemini --resume (latest session)
  • gemini --resume <UUID> (specific session)
  • gemini --resume <index> (by index number)
  • /resume command within interactive mode

GitHub Copilot CLI

How to find:

  • Use /session or /usage command to display current session ID
  • Use gh agent-task list (requires gh v2.80.0+)
  • Use gh agent-task view for session details

Resume: /resume SESSION_ID or /resume last

Note: Auto-compaction maintains context across long sessions

Cursor IDE

Session storage: SQLite databases in workspace storage

  • macOS: ~/Library/Application Support/Cursor/User/workspaceStorage/
  • Linux: ~/.config/Cursor/User/workspaceStorage/
  • Windows: %APPDATA%\Cursor\User\workspaceStorage\

How to find: Sessions stored in .vscdb files as JSON blobs

Note: No built-in session ID. Use SpecStory extension for backup/export.

Aider

Session storage: Chat history in .aider.chat.history.md in repo root

Note: No formal session ID system. History is file-based and can be referenced by timestamp.

Session File Format

{
  "sessions": [
    {
      "id": "uuid-session-id",
      "agent": "claude",
      "summary": "Implemented multi-platform CI",
      "created_at": "2026-01-31T15:45:00Z",
      "tags": ["ci", "rust"]
    }
  ]
}

Resuming Sessions

Agent Resume Command
Claude Code claude --resume SESSION_ID
Codex codex resume SESSION_ID
Gemini CLI gemini --resume SESSION_ID
Copilot CLI /resume SESSION_ID
Cursor Restore from workspaceStorage backup
Aider Reference .aider.chat.history.md