HTTP/HTTPS proxy logger for analyzing Claude Code traffic with enhanced chat mode visualization
npm install claude-code-loggerA specialized HTTP/HTTPS proxy logger designed for analyzing and debugging Claude Code traffic with enhanced chat mode visualization.
This tool was built specifically to help developers understand and debug the communication between Claude Code and the Anthropic API. It provides a clean, formatted view of the conversation flow, making it easier to:
- Debug Claude Code behavior
- Analyze API requests and responses
- Monitor token usage and quotas
- Understand the structure of system prompts and tool usage
- Archive conversations for later analysis
Simply run these two commands in separate terminals:
Terminal 1 - Start the logger:
``bash`
npx claude-code-logger start
Terminal 2 - Start Claude Code with proxy:
`bash`
ANTHROPIC_BASE_URL=http://localhost:8000/ claude
That's it! You'll now see a beautifully formatted log of all Claude Code interactions in your terminal.
For help and options:
`bash`
npx claude-code-logger start --help
flag to see full prompts without truncation$3
- ā
HTTP and HTTPS Support: Works with both protocols
- ā
Request/Response Logging: Detailed logging of all traffic
- ā
Body Content Logging: Optional logging of request/response bodies
- ā
Server-Sent Events (SSE): Proper handling and merging of streaming responses
- ā
Compression Support: Handles gzip, deflate, and brotli compressed responses
- ā
Parallel Request Handling: Efficiently handles multiple concurrent requestsš All CLI Options
`bash
claude-code-logger start [options]Options:
-p, --port Local port to listen on (default: 8000)
-h, --host Remote host address (default: api.anthropic.com)
-r, --remote-port Remote port (default: 443)
--https Use HTTPS for remote connection (default: true)
--local-https Accept HTTPS connections locally (default: false)
--log-body Log request and response bodies (default: false)
--merge-sse Merge Server-Sent Events into readable messages (default: false)
--debug Show debug messages for troubleshooting (default: false)
--chat-mode Show only chat conversation with live streaming (default: true)
-v, --verbose Show full prompts without truncation (default: false)
`š Usage Examples
$3
`bash
Basic usage - logs Claude Code conversations
npm run dev -- start
ANTHROPIC_BASE_URL=http://localhost:8000/ claudeWith full prompt visibility
npm run dev -- start --verbose
ANTHROPIC_BASE_URL=http://localhost:8000/ claudeWith debug information
npm run dev -- start --debug
ANTHROPIC_BASE_URL=http://localhost:8000/ claudeLog to file for later analysis
npm run dev -- start 2>&1 | tee claude-session-$(date +%Y%m%d-%H%M%S).log
`$3
`bash
Proxy any HTTP service
npm run dev -- start -p 3000 -h example.com -r 80 --https=false --chat-mode=falseLog all traffic with bodies
npm run dev -- start -h api.example.com --log-body --chat-mode=falseDebug mode for troubleshooting
npm run dev -- start --debug --log-body --chat-mode=false
`šø What You'll See
In chat mode (default), the output is clean and focused:
`
š Proxy server started on http://localhost:8000
š” Forwarding to https://api.anthropic.com:443
š Logging all traffic to console...š¤ How do I read a file in Python?
š¤ To read a file in Python, you can use the built-in
open() function. Here are the most common approaches:$3
`python
Read entire file content
with open('filename.txt', 'r') as file:
content = file.read()
print(content)
`... (formatted markdown output) ...
`š Development
`bash
Install dependencies
npm installRun in development mode
npm run dev -- startBuild for production
npm run buildType checking
npm run typecheckLinting
npm run lint
`š¦ Installation Options
$3
`bash
npx claude-code-logger start
`$3
`bash
npm install -g claude-code-logger
claude-code-logger start
``Contributions are welcome! This tool is specifically designed for Claude Code, but can be extended for other use cases.
MIT
---
Note: This tool is not affiliated with Anthropic. It's an independent project designed to help developers work more effectively with Claude Code.