Skip to content

githubsocialdark/claude-code-exporter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Claude Code Exporter πŸš€

npm version License: MIT Node.js Version

Export and aggregate Claude Code conversations with powerful filtering and organization features.

✨ Features

  • πŸ“€ Multiple Export Modes - Prompts only, outputs only, or full conversations
  • πŸ“ Multiple Formats - Export to Markdown, JSON, or both
  • 🏠 Dual Directory Support - Works with ~/.claude and ~/.config/claude
  • πŸ“Š Aggregate Mode - Combine prompts across all projects
  • πŸ“… Period Filtering - Filter by days, weeks, months, or years
  • πŸ—“οΈ Period Grouping - Group exports by time periods
  • 🎯 Smart Organization - Timestamp-based directories with clear naming
  • πŸ’¬ Interactive Mode - User-friendly prompts with defaults
  • πŸ”§ CLI & API - Use as command-line tool or Node.js library
  • πŸ€– MCP Server - Model Context Protocol support for Claude Desktop (v2.0.1+)

πŸš€ Quick Start

# Install globally npm install -g claude-code-exporter # Export current project claude-prompts # Export with aggregation claude-prompts --aggregate # Export last 7 days claude-prompts --aggregate --period=7d # Export grouped by days claude-prompts --aggregate --period=7d --periodGroup=d --nested

πŸ“¦ Installation

Global (Recommended)

npm install -g claude-code-exporter

Local Project

npm install claude-code-exporter

Without Installation

npx claude-code-exporter /path/to/project

πŸ“– Usage

Basic Commands

# Interactive mode claude-prompts # Export specific project claude-prompts /path/to/project # Export full conversations claude-prompts --full /path/to/project # Export to JSON claude-prompts --json /path/to/project # List available sessions claude-prompts --list /path/to/project

Advanced Aggregation

# Aggregate all projects claude-prompts --aggregate # Aggregate with nested structure claude-prompts --aggregate --nested # Filter by time period claude-prompts --aggregate --period=30d # Last 30 days claude-prompts --aggregate --period=2w # Last 2 weeks claude-prompts --aggregate --period=3m # Last 3 months # Group by time period claude-prompts --aggregate --period=1m --periodGroup=w # Group by weeks claude-prompts --aggregate --period=1y --periodGroup=m # Group by months

CLI Options

Option Short Description
--help -h Show help
--version -v Show version
--prompts -p Export user prompts only (default)
--outputs -o Export assistant outputs only
--full -f Export full conversations
--markdown -m Export as Markdown (default)
--json -j Export as JSON
--all-formats Export in both formats
--aggregate -a Aggregate prompts across projects
--nested Create nested folder structure
--period Filter by time period (e.g., 7d, 2w, 1m)
--periodGroup Group by period (d, w, m, y)
--both-dirs Process both Claude directories
--no-interactive Disable interactive prompts
--quiet -q Suppress output
--verbose -V Enable verbose logging

πŸ“Š Export Formats

Prompts Only (Default)

Exports only user messages, perfect for:

  • πŸ“ Creating prompt libraries
  • πŸ” Analyzing your questions
  • πŸ“š Building documentation

Outputs Only

Exports only assistant responses, ideal for:

  • πŸ’» Collecting code examples
  • πŸ“– Building knowledge bases
  • 🎯 Extracting solutions

Full Conversation

Exports complete dialogue, best for:

  • πŸ“œ Complete documentation
  • πŸŽ“ Learning from interactions
  • πŸ› Debugging conversations

πŸ“ Output Structure

Standard Export

claude-prompts/ β”œβ”€β”€ 2d002199-untitled-prompts.md β”œβ”€β”€ 33c13f1c-react-hooks-full.md └── 73d2983f-api-design-outputs.json 

Aggregated Export

aggregated-prompts/ β”œβ”€β”€ aggregated-20250628-project1.md β”œβ”€β”€ aggregated-20250628-project2.json └── aggregated-20250628-project3.txt 

Nested Aggregate

aggregated-prompts/ β”œβ”€β”€ project1/ β”‚ └── session1/ β”‚ β”œβ”€β”€ prompts.md β”‚ β”œβ”€β”€ outputs.txt β”‚ └── full.json └── project2/ └── session1/ └── ... 

Period Grouped

aggregated-prompts/ β”œβ”€β”€ 20250628-Dd/ # Daily groups β”‚ └── sessions... β”œβ”€β”€ 2025-W26/ # Weekly groups β”‚ └── sessions... └── 2025-06M/ # Monthly groups └── sessions... 

πŸ€– MCP Server Integration (v2.0.1+)

Setup for Claude Desktop

  1. Install the package globally:
npm install -g claude-code-exporter
  1. Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{ "mcpServers": { "claude-code-exporter": { "command": "npx", "args": ["claude-code-exporter", "mcp"] } } }
  1. Restart Claude Desktop and use the available tools:

Available MCP Tools

πŸ“€ export_conversation

Export Claude Code conversations with advanced filtering:

  • projectPath (required): Project directory path
  • outputDir: Output directory (default: ./claude-prompts)
  • exportMode: "prompts", "full", or "outputs"
  • exportFormat: "markdown", "json", or "both"
  • period: Time filter (e.g., "7d", "2w", "3m", "1y")
  • periodGroup: Group by "d", "w", "m", or "y"
  • nested: Create nested directory structure
  • verbose: Enable detailed logging

Example: "Export my project at /path/to/project with period 7d and nested structure"

πŸ“Š aggregate_sessions

Aggregate sessions across multiple projects:

  • claudeHome: Claude home directory (auto-detected)
  • outputDir: Output directory (default: ./aggregated-prompts)
  • includeStats: Include detailed statistics
  • groupBy: "project", "date", or "none"
  • bothDirs: Process both Claude directories
  • period: Time filter (e.g., "7d", "2w", "3m")
  • verbose: Enable detailed logging

Example: "Aggregate all my Claude sessions from the last 2 weeks with bothDirs enabled"

πŸ“‹ list_sessions

List available Claude sessions with metadata:

  • projectPath: Specific project (optional, lists all if omitted)
  • claudeHome: Claude home directory (auto-detected)
  • bothDirs: List from both Claude directories
  • period: Time filter (e.g., "7d", "2w", "3m")
  • verbose: Include detailed session information

Example: "List all my Claude sessions from the last 7 days with verbose details"

πŸ”§ Programmatic API

const ClaudePromptExporter = require('claude-code-exporter'); // Basic usage const exporter = new ClaudePromptExporter('/path/to/project'); const result = await exporter.export('./output'); // With options const exporter = new ClaudePromptExporter('/path/to/project', { exportMode: ClaudePromptExporter.ExportMode.FULL_CONVERSATION, exportFormat: ClaudePromptExporter.ExportFormat.BOTH, aggregate: true, period: '7d', periodGroup: 'd' }); // Aggregate multiple projects const result = await exporter.aggregate('./aggregated-output');

βš™οΈ Configuration

Requirements

  • Node.js: v20.0.0 or higher (required for MCP server)
  • Claude Code: Installed with sessions in standard directories

Environment

  • CLAUDE_HOME - Override Claude home directory
  • AGGREGATE_NESTED=true - Default to nested structure
  • AGGREGATE_BOTH=true - Process both directories by default

πŸ› Troubleshooting

Common Issues

  • "No Claude sessions found" β†’ Check project path matches Claude usage
  • "No sessions with [type] found" β†’ Try --full mode
  • Multiple directories detected β†’ Use --claude-home to specify
  • Period validation error β†’ Ensure period group ≀ period range

Debug Mode

claude-prompts --verbose /path/to/project

🀝 Contributing

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'feat: add amazing feature')
  4. Push branch (git push origin feature/amazing)
  5. Open Pull Request

πŸ“ License

MIT License - see LICENSE for details.

πŸ”— Links


Made with ❀️ for the Claude Code community

About

Export and aggregate Claude Code conversations with CLI and MCP server support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors