
Security News
Socket Releases Free Certified Patches for Nuxt Security Vulnerabilities
Socket releases free Certified Patches for high-severity Nuxt vulnerabilities, including server-side remote code execution through server island props.
@tyroneross/claude-code-debugger
Advanced tools
Coding Debugger for Claude Code and Codex: debugging memory, verdict-first retrieval, root-cause workflows, context compression, and parallel assessment.
Never solve the same bug twice
AI-assisted debugging memory for coding agents. It learns from past incidents, classifies similar failures, and supports deep root-cause workflows for hard fixes.
.claude/audit files.claude/memory/ per project) or Shared (~/.claude-code-debugger/ global)# Add the marketplace
/plugin marketplace add tyroneross/claude-code-debugger
# Install the plugin
/plugin install coding-debugger@claude-code-debugger
# npm
npm install @tyroneross/claude-code-debugger
# pnpm
pnpm add @tyroneross/claude-code-debugger
# yarn
yarn add @tyroneross/claude-code-debugger
# npm
npm install -g @tyroneross/claude-code-debugger
# pnpm
pnpm add -g @tyroneross/claude-code-debugger
# yarn
yarn global add @tyroneross/claude-code-debugger
The package name stays @tyroneross/claude-code-debugger for compatibility. The preferred CLI binary is coding-debugger; claude-code-debugger remains as an alias.
pnpm store mismatch error:
If you see ERR_PNPM_UNEXPECTED_STORE, your project has a local .pnpm-store directory. Fix with:
rm -rf .pnpm-store node_modules
pnpm install
npm/pnpm conflict:
If your project uses pnpm (has pnpm-lock.yaml), always use pnpm add instead of npm install.
After installation, these slash commands are automatically available in Claude Code:
| Command | Description |
|---|---|
/debugger "symptom" | Search past bugs for similar issues before debugging |
/debugger | Show recent bugs and pick one to debug |
/debugger-detail <ID> | Drill into a specific incident or pattern |
/debugger-status | Show memory statistics |
/debugger-scan | Scan recent sessions for debugging incidents |
/assess "symptom" | Run parallel domain assessment (database, frontend, API, performance) |
Examples:
/debugger "API returns 500 on login"
→ One-liner matches with verdicts (KNOWN_FIX, LIKELY_MATCH, etc.)
→ Use /debugger-detail <ID> to drill into any match
/debugger-detail INC_API_20260215_143022_a1b2
→ Full incident details: root cause, fix, verification, files changed
/debugger-status
→ "5 incidents stored, 2 patterns, 12 KB used"
/debugger-scan
→ Scans recent sessions for debugging incidents
# Check current configuration
claude-code-debugger config
# Show memory statistics
claude-code-debugger status
# Search memory before debugging
claude-code-debugger debug "Search filters not working"
# Search for specific incidents
claude-code-debugger search "react hooks"
# Drill into a specific incident or pattern
claude-code-debugger detail INC_REACT_20260215_001
# Record whether a suggested fix worked
claude-code-debugger outcome INC_REACT_20260215_001 worked
# Suggest patterns to extract
claude-code-debugger patterns
# Extract and store patterns
claude-code-debugger patterns --extract
# Mine audit trail for missed incidents
claude-code-debugger mine --days 30
# Store mined incidents
claude-code-debugger mine --days 30 --store
# Rebuild keyword index (after manual edits)
claude-code-debugger rebuild-index
# Batch operations
claude-code-debugger batch --incomplete # Review incomplete incidents
claude-code-debugger batch --extract-patterns # Extract patterns from existing data
claude-code-debugger batch --cleanup --older-than 90 # Clean up old sessions
# Remove debugger from this project
claude-code-debugger uninstall
claude-code-debugger uninstall --remove-data # Also delete memory data
import {
// Retrieval (v1.6 — recommended)
checkMemoryProgressive,
checkMemoryScaled,
checkMemoryWithVerdict,
// Retrieval (classic)
checkMemory,
debugWithMemory,
// Storage
storeDebugIncident,
storeIncident,
// Context engine
generateSessionContext,
checkFileContext,
// Outcome tracking
recordOutcome,
// Indexing
rebuildKeywordIndex,
// Pattern & mining
extractPatterns,
mineAuditTrail
} from '@tyroneross/claude-code-debugger';
// Progressive search — one-liner results, drill into details on demand
const progressive = await checkMemoryProgressive("API returns 500 on login");
// progressive.verdict: "KNOWN_FIX" | "LIKELY_MATCH" | "WEAK_SIGNAL" | "NO_MATCH"
// progressive.matches: [{ id, one_liner, verdict, detail_command }]
// progressive.tokens_used: ~200 (vs ~2000 for full results)
// Scaled search — uses keyword index for large memory stores
const scaled = await checkMemoryScaled("infinite render loop");
// Verdict-based search (v1.5)
const verdict = await checkMemoryWithVerdict("search filters broken");
// verdict.verdict, verdict.context, verdict.action
// Check if a file has past incidents before editing
const fileCtx = await checkFileContext("src/api/users.ts");
if (fileCtx.has_incidents) {
console.log('Past incidents:', fileCtx.incident_ids);
}
// Record whether a suggested fix actually worked
await recordOutcome({
incident_id: 'INC_API_20260215_001',
verdict_given: 'KNOWN_FIX',
outcome: 'worked', // 'worked' | 'failed' | 'modified'
recorded_at: Date.now()
});
Local Mode (default)
.claude/memory/ directoryShared Mode
~/.claude-code-debugger/ globally# Use shared mode for this command
claude-code-debugger status --shared
# Set shared mode via environment variable
export CLAUDE_MEMORY_MODE=shared
claude-code-debugger status
# In code
import { getConfig } from '@tyroneross/claude-code-debugger';
const config = getConfig({
storageMode: 'shared'
});
# Storage mode: 'local' or 'shared'
CLAUDE_MEMORY_MODE=shared
# Custom memory path (overrides mode defaults)
CLAUDE_MEMORY_PATH=/custom/path/to/memory
Each incident captures:
When 3+ similar incidents are detected:
Progressive, Pattern-First Approach:
Recover incidents from .claude/audit/ files:
debug <symptom>Check memory for similar incidents before debugging.
claude-code-debugger debug "Search filters not working"
claude-code-debugger debug "API timeout" --threshold 0.6
claude-code-debugger debug "Infinite render loop" --shared
Options:
--shared: Use shared memory mode--threshold <number>: Similarity threshold (0-1, default: 0.5)statusShow memory system statistics.
claude-code-debugger status
claude-code-debugger status --shared
configDisplay current configuration.
claude-code-debugger config
search <query>Search memory for incidents matching a query.
claude-code-debugger search "react hooks"
claude-code-debugger search "API error" --threshold 0.6
Options:
--shared: Use shared memory mode--threshold <number>: Similarity threshold (default: 0.5)patternsSuggest or extract patterns from incidents.
# Preview patterns that could be extracted
claude-code-debugger patterns
# Extract and store patterns
claude-code-debugger patterns --extract
Options:
--extract: Extract and store patterns (vs just preview)--shared: Use shared memory modemineMine audit trail for incidents not manually stored.
# Preview what would be mined
claude-code-debugger mine --days 30
# Mine and store incidents
claude-code-debugger mine --days 30 --store
Options:
--days <number>: Days to look back (default: 30)--store: Store mined incidents (vs just preview)--shared: Use shared memory modedetail <id>Load full details for a specific incident or pattern.
claude-code-debugger detail INC_REACT_20260215_001
claude-code-debugger detail PTN_API_ERROR
outcome <incident_id> <result>Record whether a suggested fix worked.
claude-code-debugger outcome INC_API_20260215_001 worked
claude-code-debugger outcome INC_API_20260215_001 failed
claude-code-debugger outcome INC_API_20260215_001 modified
session-contextOutput compact JSON context for hooks. Used by the SessionStart hook to inject memory state at the beginning of each Claude session.
claude-code-debugger session-context
check-file <filepath>Check if a file has past incidents. Used by the PreToolUse hook to surface relevant history when editing files.
claude-code-debugger check-file src/api/users.ts
rebuild-indexRebuild the keyword index from all incidents. Run after manual edits to incident files.
claude-code-debugger rebuild-index
uninstallRemove debugger integration from the current project.
# Interactive — confirms before removing
claude-code-debugger uninstall
# Skip confirmation
claude-code-debugger uninstall -y
# Also delete all memory data (incidents, patterns, sessions)
claude-code-debugger uninstall --remove-data
Removes: hooks from .claude/settings.json, slash commands from .claude/commands/, debugging section from CLAUDE.md. Memory data is kept by default so you can reinstall later without losing history.
debugWithMemory(symptom, options)Check memory before debugging and prepare for storage.
const result = await debugWithMemory("symptom description", {
agent: 'coder',
auto_store: true,
min_confidence: 0.7
});
Returns: DebugResult with session ID and memory context
storeDebugIncident(sessionId, incidentData)Store incident after debugging is complete.
await storeDebugIncident(sessionId, {
root_cause: { ... },
fix: { ... },
verification: { ... }
});
checkMemory(symptom, config)Search memory for similar incidents.
const memory = await checkMemory("symptom", {
similarity_threshold: 0.5,
max_results: 5,
temporal_preference: 90,
memoryConfig: { storageMode: 'shared' }
});
Returns: RetrievalResult with patterns and/or incidents
extractPatterns(options)Extract reusable patterns from incidents.
const patterns = await extractPatterns({
min_incidents: 3,
min_similarity: 0.7,
auto_store: true,
config: { storageMode: 'shared' }
});
mineAuditTrail(options)Recover incidents from audit trail.
const incidents = await mineAuditTrail({
days_back: 30,
auto_store: true,
min_confidence: 0.7,
config: { storageMode: 'shared' }
});
import {
storeIncident,
loadIncident,
loadAllIncidents,
storePattern,
loadPattern,
loadAllPatterns,
getMemoryStats,
// v1.6 additions
updateKeywordIndex,
loadKeywordIndex,
findCandidatesByKeyword,
rebuildKeywordIndex,
recordOutcome,
loadOutcomes,
getOutcomeStats
} from '@tyroneross/claude-code-debugger';
import { getConfig, getMemoryPaths } from '@tyroneross/claude-code-debugger';
const config = getConfig({
storageMode: 'shared',
autoMine: false,
defaultSimilarityThreshold: 0.7
});
const paths = getMemoryPaths(config);
// paths.incidents, paths.patterns, paths.sessions
All TypeScript types are exported:
import type {
Incident,
Pattern,
RootCause,
Fix,
Verification,
QualityGates,
RetrievalResult,
MemoryConfig,
SearchVerdict,
// v1.6 additions
ProgressiveResult,
ProgressiveMatch,
KeywordIndex,
VerdictOutcome
} from '@tyroneross/claude-code-debugger';
your-project/
└── .claude/
└── memory/
├── incidents/ # Individual incident JSON files
├── patterns/ # Extracted pattern JSON files
├── sessions/ # Temporary debug session files
├── index.json # Stats, categories, quality tiers (O(1) lookup)
├── keyword-index.json # Inverted keyword → incident ID map
├── incidents.jsonl # Append-only log for fast full-text search
├── outcomes.jsonl # Verdict outcome tracking (worked/failed/modified)
└── MEMORY_SUMMARY.md # Compressed context for LLM cold starts
~/.claude-code-debugger/
├── incidents/ # All incidents from all projects
├── patterns/ # All patterns from all projects
├── sessions/ # Temporary session files
├── index.json
├── keyword-index.json
├── incidents.jsonl
├── outcomes.jsonl
└── MEMORY_SUMMARY.md
Include in your agent prompts:
Before debugging, check memory:
- Run: `npx claude-code-debugger debug "symptom description"`
- Review similar incidents and patterns
- Apply known solutions if confidence is high
After fixing:
- Store incident with: `npx claude-code-debugger store`
- Or use programmatic API from TypeScript
Set up periodic audit mining:
# Weekly cron job to mine audit trail
0 0 * * 0 cd /path/to/project && npx claude-code-debugger mine --days 7 --store
claude-code-debugger debug "symptom" --threshold 0.7
Include all fields for maximum reuse:
# Weekly pattern extraction
claude-code-debugger patterns --extract
# Monthly audit mining
claude-code-debugger mine --days 30 --store
export CLAUDE_MEMORY_MODE=shared
The context engine automatically surfaces relevant debugging memory without manual /debugger calls.
On install, a dynamic section is injected into your project's CLAUDE.md with:
/debuggerThis section updates on each rebuild-index or session start.
A command-type hook runs claude-code-debugger session-context at the start of each Claude session, outputting compact JSON with memory stats and trigger instructions (~150 tokens).
A PreToolUse hook checks claude-code-debugger check-file <path> when files are edited. If the file has past incidents, relevant IDs and a message are surfaced. Otherwise, zero noise — just {"ok": true}.
After a /debugger search suggests a fix, you can record whether it actually worked:
claude-code-debugger outcome INC_API_20260215_001 worked
claude-code-debugger outcome INC_API_20260215_001 failed
claude-code-debugger outcome INC_API_20260215_001 modified
This feeds back into pattern success rates, so the system learns which fixes are reliable over time.
Remove the debugger from your project cleanly:
claude-code-debugger uninstall
This removes:
.claude/settings.json.claude/commands/CLAUDE.mdYour memory data (incidents, patterns, sessions) is kept by default so you can reinstall later without losing history. To also remove data:
claude-code-debugger uninstall --remove-data
To skip the confirmation prompt:
claude-code-debugger uninstall -y
Run the 6-dimension benchmark to measure system quality:
npm run benchmark
This creates synthetic incident data and scores the system across:
| Dimension | Weight | What it measures |
|---|---|---|
| Retrieval Accuracy | 25 | Precision and recall for known-bug search |
| Verdict Precision | 20 | Do verdicts match expected classifications? |
| Context Efficiency | 15 | Compression ratio and budget enforcement |
| Pattern Quality | 15 | Do patterns match their source incidents? |
| Scalability | 15 | Performance at various incident counts |
| Cold Start Quality | 10 | MEMORY_SUMMARY.md usefulness |
git clone https://github.com/tyroneross/claude-code-debugger.git
cd claude-code-debugger
npm install
npm run build
npm test
npm run benchmark
npm run watch
# Update version in package.json
npm version patch|minor|major
# Build
npm run build
# Publish to GitHub Packages
npm publish
This package uses semantic versioning:
npm list @tyroneross/claude-code-debuggerclaude-code-debugger status to see statistics.claude/memory/~/.claude-code-debugger/ permissionsContributions welcome! Please:
MIT
Never solve the same bug twice. 🧠
This package now ships an additive Codex plugin surface alongside the existing Claude Code package. The Claude package remains authoritative for Claude behavior; the Codex package adds a parallel .codex-plugin/plugin.json install surface without changing the Claude runtime.
Package root for Codex installs:
.)Primary Codex surface:
./skills when present./.mcp.json when presentInstall the package from this package root using your current Codex plugin install flow. The Codex package is additive only: Claude-specific hooks, slash commands, and agent wiring remain unchanged for Claude Code.
FAQs
Coding Debugger for Claude Code and Codex: debugging memory, verdict-first retrieval, root-cause workflows, context compression, and parallel assessment.
The npm package @tyroneross/claude-code-debugger receives a total of 133 weekly downloads. As such, @tyroneross/claude-code-debugger popularity was classified as not popular.
We found that @tyroneross/claude-code-debugger demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket releases free Certified Patches for high-severity Nuxt vulnerabilities, including server-side remote code execution through server island props.

Security News
An open letter signed by 50 companies, from NVIDIA and Microsoft to Mistral and Hugging Face, urges Washington not to restrict open weight AI.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.