Skip to content

Session Manager - Project Integration #4

@djdarcy

Description

@djdarcy

Summary

Evolve claude-session-logger into a full session manager with project-centric session organization, one-click resume, and viewer integration.

Vision

Currently, to resume a session users must type claude -r {guid}. This feature creates a session management folder in each project with:

  • Resume scripts - One-click session resume
  • Sesslog links - Quick access to session logs
  • Viewer launchers - Launch Claude Code History Viewer
  • Session index - Metadata for all project sessions

Proposed Structure

{project}/private/claude-sessions/       # Or .claude-sessions/ as fallback
├── sesslogs/                            # Links to sesslog folders
│   ├── 2026-01-29__session-name -> ~/.claude/sesslogs/{full}/
│   └── 2026-01-31__another -> ~/.claude/sesslogs/{full}/
├── resume/                              # Session resume scripts
│   ├── resume-session-name.bat          # Windows: claude -r {guid}
│   ├── resume-session-name.sh           # Unix: claude -r {guid}
│   └── resume-latest.bat                # Resume most recent
├── transcripts/                         # Links to .jsonl files
│   └── session-name.jsonl -> ~/.claude/projects/.../guid.jsonl
├── exports/                             # Session exports (Issue #3)
│   └── 2026-01-29__session-name__export.md
├── viewer/                              # History Viewer launchers
│   ├── view-session-name.bat
│   └── view-all.bat
└── .session-index.json                  # Metadata index

Smart Path Detection

Not all users have private/claude/ structure. Detection logic:

  1. Check for {cwd}/private/claude-sessions/ → Use if exists
  2. Check for {cwd}/private/ → Create claude-sessions/ there
  3. Fallback: Create {cwd}/.claude-sessions/ (hidden)

Override via:

  • CLAUDE_SESSION_PATH environment variable
  • .claude-session-config.json in project root

Resume Scripts

Auto-generated on SessionStart:

Windows (resume-session-name.bat):

@echo off
claude -r 833a100e-d959-47aa-9db2-d22fdb6d7659

Unix (resume-session-name.sh):

#!/bin/bash
claude -r 833a100e-d959-47aa-9db2-d22fdb6d7659

Session Index

JSON file for quick lookup and tooling:

{
  "project_path": "C:\code\my-project",
  "sessions": [
    {
      "id": "833a100e-...",
      "name": "feature-implementation",
      "created": "2026-01-29T10:00:00Z",
      "last_active": "2026-01-31T18:00:00Z",
      "transcript": "~/.claude/projects/.../guid.jsonl",
      "sesslog": "~/.claude/sesslogs/feature__833a.../"
    }
  ]
}

Claude Code History Viewer Integration

Create launcher scripts for installed viewer:

@echo off
claude-history-viewer "C:\Users\...\.claude\projects\...\guid.jsonl"

Related Issues

Benefits

Benefit Description
One-click resume Double-click script to resume any session
Project history See all sessions for a project in one place
Viewer access Launch history viewer for any session
Export organization Exports organized per-session

Configuration

For users without private/ folder:

  • Falls back to .claude-sessions/ in project root
  • Auto-added to .gitignore
  • Configurable via environment or config file

Analysis

See 2026-01-31__18-53-45__session-manager-project-integration.md for detailed analysis.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions