claude-code-logger
v1.0.2
Published
HTTP/HTTPS proxy logger for analyzing Claude Code traffic with enhanced chat mode visualization
Maintainers
Readme
Claude Code Logger
A specialized HTTP/HTTPS proxy logger designed for analyzing and debugging Claude Code traffic with enhanced chat mode visualization.
🎯 Primary Purpose
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
🚀 Quick Start (No Installation Required!)
Simply run these two commands in separate terminals:
Terminal 1 - Start the logger:
npx claude-code-logger startTerminal 2 - Start Claude Code with proxy:
ANTHROPIC_BASE_URL=http://localhost:8000/ claudeThat's it! You'll now see a beautifully formatted log of all Claude Code interactions in your terminal.
For help and options:
npx claude-code-logger start --help✨ Features
Claude Code Specific
- 🤖 Chat Mode: Automatically enabled by default, shows only the conversation between you and Claude
- 📝 Markdown Rendering: AI responses are rendered with proper formatting (lists, code blocks, emphasis)
- 🔍 System Prompt Visibility: See system reminders, file contents, and context provided to Claude
- 🔧 Tool Usage Tracking: Monitor when Claude uses tools like file reading, editing, or web searches
- 📊 Verbose Mode: Use
-vflag to see full prompts without truncation
General Proxy Features
- ✅ 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
claude-code-logger start [options]
Options:
-p, --port <port> Local port to listen on (default: 8000)
-h, --host <host> Remote host address (default: api.anthropic.com)
-r, --remote-port <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
Claude Code Logging (Primary Use Case)
# Basic usage - logs Claude Code conversations
npm run dev -- start
ANTHROPIC_BASE_URL=http://localhost:8000/ claude
# With full prompt visibility
npm run dev -- start --verbose
ANTHROPIC_BASE_URL=http://localhost:8000/ claude
# With debug information
npm run dev -- start --debug
ANTHROPIC_BASE_URL=http://localhost:8000/ claude
# Log to file for later analysis
npm run dev -- start 2>&1 | tee claude-session-$(date +%Y%m%d-%H%M%S).logGeneral Proxy Usage
# Proxy any HTTP service
npm run dev -- start -p 3000 -h example.com -r 80 --https=false --chat-mode=false
# Log all traffic with bodies
npm run dev -- start -h api.example.com --log-body --chat-mode=false
# Debug 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:
### Basic File Reading
```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 install
# Run in development mode
npm run dev -- start
# Build for production
npm run build
# Type checking
npm run typecheck
# Linting
npm run lint📦 Installation Options
Option 1: Use without installation (Recommended)
npx claude-code-logger startOption 2: Install globally
npm install -g claude-code-logger
claude-code-logger start🤝 Contributing
Contributions are welcome! This tool is specifically designed for Claude Code, but can be extended for other use cases.
📄 License
MIT
Note: This tool is not affiliated with Anthropic. It's an independent project designed to help developers work more effectively with Claude Code.
