Skip to main content

Claude Code Analytics Dashboard

Project description

Sniffly - Claude Code Analytics Dashboard

Analyze Claude Code logs to help you use Claude Code better.

Website | Quickstart | Features | Sharable dashboard

📊 Features

Understanding your usage patterns

Error breakdown

See where Claude Code makes mistakes so that you avoid these mistakes.

Message history analysis

Walk through all your instructions and share them with your coworkers if needed.

🚀 Quickstart

  • Requirement: Python 3.10+

With UV (recommended)

Make sure you have uv installed! https://github.com/astral-sh/uv

# One-time execution (no installation needed)
uvx sniffly@latest init
# Install the package
uv tool install sniffly@latest
sniffly init

After running sniffly init, access your dashboard on your browser at http://localhost:8081 (or whichever host/port you choose).

If you run Sniffly on a remote server, use port forwarding to open the browser on your local computer.

With pip

pip install sniffly
sniffly init

From source

git clone https://github.com/chiphuyen/sniffly.git
cd sniffly
pip install -e .
sniffly init

🔧 Configuration

Common Settings

# Change port (default: 8081)
sniffly config set port 8090

# Disable auto-opening browser
sniffly config set auto_browser false

# Show current configuration
sniffly config show

All Configuration Options

Key Default Description
port 8081 Server port
host 127.0.0.1 Server host
auto_browser true Auto-open browser on start
cache_max_projects 5 Max projects in memory cache
cache_max_mb_per_project 500 Max MB per project
messages_initial_load 500 Initial messages to load
max_date_range_days 30 Max days for date range selection

See full CLI Reference for all options and commands.

💡 Sharing Your Dashboard

You can create a link to share your project's stats and instructions with your coworkers.

  1. Click the "📤 Share" button in your dashboard
  2. Choose privacy options:
    • Private: Only people with the link can view
    • Public: Listed in the public gallery
    • Include Commands: Share your actual command text
  3. Copy and share the generated link

🚨 Troubleshooting

Common Issues

sniffly help

Port already in use?

# Use a different port
sniffly init --port 8090

# Or change default
sniffly config set port 8090

Browser doesn't open?

# Check setting
sniffly config show

# Enable auto-browser
sniffly config set auto_browser true

# Or manually visit http://localhost:8081

Configuration issues?

# View all settings and their sources
sniffly config show

# Reset a setting to default
sniffly config unset port

# Remove all custom config
rm ~/.sniffly/config.json

For more issues, see GitHub Issues.

🔐 Privacy

Sniffly runs entirely on your local machine:

  • ✅ All data processing happens locally
  • ✅ No telemetry
  • ✅ Your conversations never leave your computer
  • ✅ Shared dashboards are opt-in only

📄 License

MIT License - see LICENSE file.

🔗 Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sniffly-0.1.4.tar.gz (7.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sniffly-0.1.4-py3-none-any.whl (3.1 MB view details)

Uploaded Python 3

File details

Details for the file sniffly-0.1.4.tar.gz.

File metadata

  • Download URL: sniffly-0.1.4.tar.gz
  • Upload date:
  • Size: 7.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for sniffly-0.1.4.tar.gz
Algorithm Hash digest
SHA256 642c4894a2857bbee5ae0f2c45f6eaba65b2662d31676b26949693e80c48c96e
MD5 dd0a180dfcd4e535e4b879ec83a6c2d5
BLAKE2b-256 280914d0587da45493d9d4c179f92c7c0e72c6582e4db8ca41eac0586f30501f

See more details on using hashes here.

File details

Details for the file sniffly-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: sniffly-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 3.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for sniffly-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c351a2b30e812569f60d7f96d41bc6ed837f8d945e93892104f1b3d4cbb3671e
MD5 e2449ea53e833053815445eff7a7a752
BLAKE2b-256 c6bd8340c843ad3d82b7cbdf9372219ebe3a9e049f606ebd1273a64038ac7e82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page