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
~/.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+)
# 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
npm install -g claude-code-exporter
npm install claude-code-exporter
npx 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
--full
mode - Multiple directories detected β Use
--claude-home
to 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