modelscope.cn

debugging-claude-code

Troubleshooting guide for Claude Code issues. Use when Claude behaves unexpectedly, tools fail, sessions hang, or you need to diagnose problems. Covers diagnostics, common issues, and recovery procedures.

Installation

$ npx skills add https://modelscope.cn

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from modelscope.cn · top by installs.

npx skills add https://modelscope.cn

Browse all from modelscope.cn

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

Allowed toolsRead, Bash
Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,433 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Debugging Claude Code

Systematic troubleshooting guide for diagnosing and resolving Claude Code issues.

Quick Diagnostics

Run these commands first when experiencing issues:

# Health check - comprehensive system status
claude doctor

# Or in-session
/doctor

# Check Claude Code version
claude --version

# Debug mode - verbose output for all operations
claude --debug

# Environment-level debug logging
ANTHROPIC_LOG=debug claude

# Check registered hooks
claude --print-hooks

# View MCP server status
claude mcp list

Common Issues Quick Reference

Symptom Likely Cause Quick Fix
Tool not working Permission denied /permissions then allow tool
MCP tools missing Server disconnected /mcp to check status
Hook not firing JSON syntax error jq . ~/.claude/settings.json
Skill not loading Invalid frontmatter Check YAML syntax
Context overflow Too much data Use /compact or /clear
Rate limited Too many requests Wait 60 seconds
API errors Auth/network issues Check ~/.claude/.credentials.json
Session stuck Process hanging Ctrl+C, restart Claude
Slow responses Network or model load Check connection, try again

Debug Flags and Environment Variables

Command-Line Flags

Flag Purpose
--debug Enable verbose debug output
--print-hooks Display all registered hooks
--verbose Show more detailed output
--no-cache Disable response caching

Environment Variables

Variable Purpose Example
ANTHROPIC_LOG Log level debug, info, warn, error
CLAUDECODEDEBUG Additional debugging 1 or true
MCP_TIMEOUT MCP connection timeout (ms) 30000
MAXMCPOUTPUT_TOKENS Max MCP output size 50000
HTTP_PROXY Proxy for network requests http://proxy:8080
HTTPS_PROXY HTTPS proxy https://proxy:8080
NO_PROXY Skip proxy for hosts localhost,127.0.0.1

Combined Debug Session

# Maximum verbosity
ANTHROPIC_LOG=debug claude --debug 2>&1 | tee ~/claude-debug.log

Log Locations

By Operating System

OS Location
macOS ~/Library/Logs/Claude Code/
Linux ~/.local/share/claude-code/logs/
Windows %APPDATA%\Claude Code\logs\

Configuration Files

File Purpose
~/.claude/settings.json User settings and hooks
~/.claude/.credentials.json API credentials
~/.claude/projects.json Project-specific settings
.claude/settings.json Project settings (committed)
.claude/settings.local.json Local project settings
.mcp.json MCP server configuration

Session Data

Location Contents
~/.claude/sessions/ Session transcripts
~/.claude/todos/ Task lists
~/.claude/memory/ Persistent memory

Diagnostic Commands

System Health

# Full health check
claude doctor

# Check component status
claude doctor --component api
claude doctor --component mcp
claude doctor --component hooks

/doctor reports (2.1.6+):

  • Updates section - Shows auto-update channel and available npm versions (stable/latest)
  • Permission warnings - Detects unreachable permission rules with fix guidance
  • API connectivity - Verifies connection to Anthropic API
  • MCP servers - Lists connected servers and their status
  • Hooks - Validates hook configurations

Permission Diagnostics

# View current permissions
/permissions

# Check what tools are allowed
/permissions --tools

# Check file access patterns
/permissions --files

Hook Diagnostics

# List all registered hooks
claude --print-hooks

# View hooks in interactive mode
/hooks

# Validate hook JSON
jq . ~/.claude/settings.json
jq . .claude/settings.json

MCP Diagnostics

# List configured servers
claude mcp list

# Get server details
claude mcp get <server-name>

# Check connection in session
/mcp

Diagnostic Decision Tree

Is Claude starting?

Claude won't start
    |
    +-- Check: claude --version
    |   |
    |   +-- Works --> Config issue, check ~/.claude/
    |   +-- Fails --> Installation issue, reinstall
    |
    +-- Check: ANTHROPIC_LOG=debug claude
        |
        +-- Auth error --> Check credentials
        +-- Network error --> Check connectivity
        +-- Other --> See COMMON-ISSUES.md

Are tools working?

Tool not working
    |
    +-- Check: /permissions
    |   |
    |   +-- Denied --> Allow tool
    |   +-- Allowed --> Continue
    |
    +-- Check: --debug output
    |   |
    |   +-- Tool called --> Check tool-specific logs
    |   +-- Not called --> Check permissions/syntax
    |
    +-- MCP tool?
        |
        +-- Yes --> /mcp, check server status
        +-- No --> See COMMON-ISSUES.md

Are hooks working?

Hook not firing
    |
    +-- Check: /hooks
    |   |
    |   +-- Listed --> Matcher issue or script issue
    |   +-- Not listed --> JSON syntax error
    |
    +-- Validate JSON: jq . settings.json
    |   |
    |   +-- Valid --> Check matcher pattern
    |   +-- Invalid --> Fix JSON syntax
    |
    +-- Test script: echo '{}' | ./hook.sh
        |
        +-- Works --> Matcher doesn't match
        +-- Fails --> Script error

Built-in Diagnostic Commands

Command Purpose
/hooks View registered hooks
/mcp MCP server status
/permissions Permission settings
/memory Memory bank status
/status Session status
/bug Report a bug
/doctor Run health checks

Verbose Mode

Toggle verbose mode during a session:

  • Keyboard shortcut: Ctrl+O (in terminal)
  • Shows: Hook execution, tool calls, API responses

Quick Fixes

Permission Issues

# Allow all file operations in project
/permissions --allow "Write,Edit,Read" --scope project

# Allow specific MCP server
/permissions --allow "mcp__servername__*"

Clear Issues

# Clear conversation context
/clear

# Compact context (keep important parts)
/compact

# Reset session
/reset

Configuration Reset

# Back up and reset settings
cp ~/.claude/settings.json ~/.claude/settings.json.bak
rm ~/.claude/settings.json

# Reset just hooks
jq 'del(.hooks)' ~/.claude/settings.json > tmp && mv tmp ~/.claude/settings.json

Reference Files

File Contents
[DIAGNOSTICS.md](./DIAGNOSTICS.md) Detailed diagnostic techniques
[COMMON-ISSUES.md](./COMMON-ISSUES.md) Common problems and solutions
[RECOVERY.md](./RECOVERY.md) Recovery procedures

When to Escalate

Use /bug to report issues when:

  • claude doctor shows failures
  • Reproducible crashes
  • API errors persist after credential refresh
  • Behavior contradicts documentation

Include in bug reports:

  • Claude Code version (claude --version)
  • OS and version
  • Debug output (claude --debug)
  • Steps to reproduce