Export and aggregate Claude Code conversations with powerful filtering and organization features.
- π€ Multiple Export Modes - Prompts only, outputs only, or full conversations
- π Multiple Formats - Export to Markdown, JSON, or both
- π Dual Directory Support - Works with
~/.claudeand~/.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+)
# 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 --nestednpm install -g claude-code-exporternpm install claude-code-exporternpx claude-code-exporter /path/to/project# 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# 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| 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 |
Exports only user messages, perfect for:
- π Creating prompt libraries
- π Analyzing your questions
- π Building documentation
Exports only assistant responses, ideal for:
- π» Collecting code examples
- π Building knowledge bases
- π― Extracting solutions
Exports complete dialogue, best for:
- π Complete documentation
- π Learning from interactions
- π Debugging conversations
claude-prompts/ βββ 2d002199-untitled-prompts.md βββ 33c13f1c-react-hooks-full.md βββ 73d2983f-api-design-outputs.json aggregated-prompts/ βββ aggregated-20250628-project1.md βββ aggregated-20250628-project2.json βββ aggregated-20250628-project3.txt aggregated-prompts/ βββ project1/ β βββ session1/ β βββ prompts.md β βββ outputs.txt β βββ full.json βββ project2/ βββ session1/ βββ ... aggregated-prompts/ βββ 20250628-Dd/ # Daily groups β βββ sessions... βββ 2025-W26/ # Weekly groups β βββ sessions... βββ 2025-06M/ # Monthly groups βββ sessions... - Install the package globally:
npm install -g claude-code-exporter- Add to Claude Desktop config (
~/Library/Application Support/Claude/claude_desktop_config.json):
{ "mcpServers": { "claude-code-exporter": { "command": "npx", "args": ["claude-code-exporter", "mcp"] } } }- Restart Claude Desktop and use the available tools:
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 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 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"
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');- Node.js: v20.0.0 or higher (required for MCP server)
- Claude Code: Installed with sessions in standard directories
CLAUDE_HOME- Override Claude home directoryAGGREGATE_NESTED=true- Default to nested structureAGGREGATE_BOTH=true- Process both directories by default
- "No Claude sessions found" β Check project path matches Claude usage
- "No sessions with [type] found" β Try
--fullmode - Multiple directories detected β Use
--claude-hometo specify - Period validation error β Ensure period group β€ period range
claude-prompts --verbose /path/to/project- Fork the repository
- Create feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'feat: add amazing feature') - Push branch (
git push origin feature/amazing) - Open Pull Request
MIT License - see LICENSE for details.
Made with β€οΈ for the Claude Code community