Extract and compare system prompts and tools from different Claude Code versions.
--binary-path with a custom binarynpm install -g @mariozechner/cchistory
cchistory [version] [--latest] [--binary-path <path>] [--claude-args "<args>"]
version - NPM version of Claude Code to extract (e.g., 1.0.0)--latest - Extract all versions from the specified version to the latest published version--binary-path <path> - Use a custom/local Claude Code binary instead of downloading from npm--claude-args "<args>" - Pass additional arguments to Claude Code during execution--version, -v - Show cchistory version--help, -h - Show help message# Extract prompts from a single version
cchistory 1.0.0
# Extract prompts from version 1.0.0 to latest
cchistory 1.0.0 --latest
# Test a custom/local build of Claude Code
cchistory --binary-path /path/to/custom/cli.js
# Test with additional Claude Code arguments
cchistory 1.0.0 --claude-args "--mcp-config /path/to/config.json"
# Combine custom binary with custom arguments
cchistory --binary-path ./build/cli.js --claude-args "--verbose"
# Pass system prompt modifiers to any version
cchistory 1.5.0 --claude-args "--append-system-prompt"
prompts-{version}.md--binary-path)prompts-custom-{timestamp}.mdExisting prompt files are automatically skipped to avoid redundant downloads and API calls.
Each prompts-{version}.md file contains:
The --binary-path flag is particularly useful for:
# Test your local development build
cchistory --binary-path /path/to/your/fork/cli.js
# Compare with a released version
cchistory 1.0.0
# Now you have both prompts-1.0.0.md and prompts-custom-*.md to compare
The --claude-args flag allows you to test Claude Code with different configurations:
# Test with MCP server configuration
cchistory 1.5.0 --claude-args "--mcp-config ~/.config/claude/mcp.json"
# Test with verbose logging
cchistory --binary-path ./build/cli.js --claude-args "--verbose"
# Combine multiple flags
cchistory 1.0.0 --claude-args "--debug --no-cache"
Note: Arguments are parsed safely using shell-quote to prevent command injection. Shell operators and control characters are filtered out.
Enable debug output to see detailed information about the extraction process:
DEBUG=1 cchistory 1.0.0
This will show:
shell-quote library--claude-args parameter filters out shell operators for safety22 commits
3 commits
TypeScript
80.2%
JavaScript
18.8%
Extract and compare system prompts and tools from different Claude Code versions.
--binary-path with a custom binarynpm install -g @mariozechner/cchistory
cchistory [version] [--latest] [--binary-path <path>] [--claude-args "<args>"]
version - NPM version of Claude Code to extract (e.g., 1.0.0)--latest - Extract all versions from the specified version to the latest published version--binary-path <path> - Use a custom/local Claude Code binary instead of downloading from npm--claude-args "<args>" - Pass additional arguments to Claude Code during execution--version, -v - Show cchistory version--help, -h - Show help message# Extract prompts from a single version
cchistory 1.0.0
# Extract prompts from version 1.0.0 to latest
cchistory 1.0.0 --latest
# Test a custom/local build of Claude Code
cchistory --binary-path /path/to/custom/cli.js
# Test with additional Claude Code arguments
cchistory 1.0.0 --claude-args "--mcp-config /path/to/config.json"
# Combine custom binary with custom arguments
cchistory --binary-path ./build/cli.js --claude-args "--verbose"
# Pass system prompt modifiers to any version
cchistory 1.5.0 --claude-args "--append-system-prompt"
prompts-{version}.md--binary-path)prompts-custom-{timestamp}.mdExisting prompt files are automatically skipped to avoid redundant downloads and API calls.
Each prompts-{version}.md file contains:
The --binary-path flag is particularly useful for:
# Test your local development build
cchistory --binary-path /path/to/your/fork/cli.js
# Compare with a released version
cchistory 1.0.0
# Now you have both prompts-1.0.0.md and prompts-custom-*.md to compare
The --claude-args flag allows you to test Claude Code with different configurations:
# Test with MCP server configuration
cchistory 1.5.0 --claude-args "--mcp-config ~/.config/claude/mcp.json"
# Test with verbose logging
cchistory --binary-path ./build/cli.js --claude-args "--verbose"
# Combine multiple flags
cchistory 1.0.0 --claude-args "--debug --no-cache"
Note: Arguments are parsed safely using shell-quote to prevent command injection. Shell operators and control characters are filtered out.
Enable debug output to see detailed information about the extraction process:
DEBUG=1 cchistory 1.0.0
This will show:
shell-quote library--claude-args parameter filters out shell operators for safety22 commits
3 commits
TypeScript
80.2%
JavaScript
18.8%