by eckardt
Like the shell history command but for your Claude Code sessions.
# Add to your Claude Code skills
git clone https://github.com/eckardt/cchistoryGuides for using cli tools skills like cchistory.
Last scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "brace-expansion: brace-expansion: Zero-step sequence causes process hang and memory exhaustion",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "flatted: flatted vulnerable to unbounded recursion DoS in parse() revive phase",
"severity": "high"
},
{
"type": "npm-audit",
"message": "glob: glob CLI: Command injection via -c/--cmd executes matches with shell:true",
"severity": "high"
},
{
"type": "npm-audit",
"message": "minimatch: minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
"severity": "high"
},
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "rollup: Rollup 4 has Arbitrary File Write via Path Traversal",
"severity": "high"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
},
{
"type": "npm-audit",
"message": "yaml: yaml is vulnerable to Stack Overflow via deeply nested YAML collections",
"severity": "medium"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T16:37:58.609Z",
"npmAuditRan": true,
"pipAuditRan": true
}cchistory is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by eckardt. Like the shell history command but for your Claude Code sessions. It has 107 GitHub stars.
cchistory returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/eckardt/cchistory" and add it to your Claude Code skills directory (see the Installation section above).
cchistory is primarily written in TypeScript. It is open-source under eckardt on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh cchistory against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
Like the shell history command but for your Claude Code sessions.
When Claude Code runs shell commands, they don't appear in your shell history. This makes it hard to:
$ cchistory | tail -5
46 git status
47 git pull origin main
48 git log --oneline -5
49 docker-compose up -d
50 curl -I localhost:8080/health
npm install -g cchistory
npx cchistory --help
git clone https://github.com/eckardt/cchistory
cd cchistory
npm install
npm run build
npm link
cchistory # Current project history
cchistory --global # All projects
cchistory --list-projects # See all available projects
cchistory | grep docker # Find Docker commands
cchistory | tail -5 # Last 5 commands
cchistory my-app | tail -10 # Last 10 from specific project
cchistory ~/code/my-app # Project by full path
grep, awk, sort)Claude Code stores conversation history in ~/.claude/projects/. This tool:
$ cchistory --global | head -10
1 [web-scraper ] npm install puppeteer
2 [web-scraper ] mkdir src tests
3 [api-project ] docker-compose up -d
4 [api-project ] curl -X POST localhost:3000/api/test
5 [frontend ] npm run dev
6 [frontend ] git add .
7 [backend ] npm test
8 [backend ] git commit -m "fix: validation"
9 [deployment ] kubectl apply -f deployment.yaml
10 [deployment ] kubectl get pods
# Find all npm commands across projects
cchistory --global | grep npm
# Get last 20 Docker commands
cchistory --global | grep docker | tail -20
# Count commands by type
cchistory --global | sed 's/.*] //' | awk '{print $1}' | sort | uniq -c | sort -nr | head -10
Extracts commands from:
! command in Claude~/.claude/projects/Note: Claude Code automatically cleans up conversation transcripts based on the cleanupPeriodDays setting (default: 30 days). Commands older than this period won't appear in cchistory output. You can adjust this retention period in Claude Code's settings if needed.
cchistory [project-name] # Show history for specific project (by name or path)
cchistory --global # Show history from all projects
cchistory --list-projects # List all available Claude projects
cchistory --help # Show usage info
Each line shows:
[sequence] [project-name] command
Multi-line commands use zsh history format with \\n for newlines.
cchistory does one thing well: extract shell commands. Use it with standard Unix tools:
grep for filteringhead/tail for limiting outputawk for field processingsort/uniq for analysis