claude-code-viewer


Nameclaude-code-viewer JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/desis123/claude-code-viewer
SummaryBeautiful web viewer for Claude Code conversation history
upload_time2025-07-31 06:09:16
maintainerClaude Code Community
docs_urlNone
authorClaude Code Community
requires_python>=3.8
licenseApache-2.0
keywords claude ai conversation viewer web interface fastapi
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Claude Code Viewer 🔍

Beautiful web interface for browsing your Claude Code conversation history with search, filtering, and syntax highlighting.

![Claude Code Viewer](https://img.shields.io/badge/version-1.0.0-blue.svg)
![Python](https://img.shields.io/badge/python-3.8+-green.svg)
![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)

## ✨ Features

- 🔍 **Search conversations** - Find specific discussions across all your Claude Code history
- 📂 **Project organization** - Browse conversations by project with session metadata
- 💻 **Syntax highlighting** - Code blocks with proper language detection and copy buttons
- 🎨 **Modern UI** - Clean, responsive interface with dark/light theme support
- ⚡ **Fast pagination** - Handle large conversation histories efficiently
- 🔧 **Tool visualization** - Clear display of tool usage and outputs

## 🚀 Quick Start

### Installation

```bash
pip install claude-code-viewer
```

### Usage

```bash
# Start with default settings (looks for ~/.claude/projects)
claude-viewer

# Custom Claude projects path
claude-viewer --projects-path /path/to/your/claude/projects

# Custom port
claude-viewer --port 8080

# Accessible from other machines
claude-viewer --host 0.0.0.0 --port 3000
```

Then open your browser to: `http://localhost:6300`

## 📸 Screenshots

### Main Dashboard
Browse all your Claude Code projects with session counts and quick stats.

### Conversation View
View conversations with:
- Proper message formatting and line breaks
- Syntax-highlighted code blocks with copy buttons
- Tool usage visualization
- Search and filtering capabilities

## 🛠️ Command Line Options

```bash
claude-viewer --help
```

**Available options:**
- `--projects-path` - Path to Claude projects directory (default: `~/.claude/projects`)
- `--host` - Host to bind the server (default: `127.0.0.1`)
- `--port` - Port to run on (default: `6300`)
- `--version` - Show version information

## 📁 How It Works

Claude Code stores conversation history in JSONL files at `~/.claude/projects/`. This tool:

1. **Scans** your Claude projects directory
2. **Parses** JSONL conversation files
3. **Presents** them in a beautiful web interface
4. **Enables** search and filtering across all conversations

## 🔧 Development

### Local Development

```bash
git clone https://github.com/desis123/claude-code-viewer
cd claude-code-viewer
pip install -e .
claude-viewer
```

### Project Structure

```
claude-code-viewer/
├── claude_viewer/          # Main package
│   ├── cli.py             # Command line interface  
│   ├── main.py            # FastAPI application
│   └── utils/             # Utilities (JSONL parser)
├── static/                # CSS, JavaScript
├── templates/             # HTML templates
└── setup.py              # Package configuration
```

## 🤝 Contributing

Contributions welcome! Please:

1. **Fork** the repository
2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)
3. **Commit** your changes (`git commit -m 'Add amazing feature'`)
4. **Push** to the branch (`git push origin feature/amazing-feature`)
5. **Open** a Pull Request

### Development Setup

```bash
git clone <your-fork>
cd claude-code-viewer
pip install -e ".[dev]"
```

## 📋 Requirements

- **Python 3.8+**
- **Claude Code** (to generate conversation history)
- **Modern web browser**

## 🐛 Troubleshooting

### "Projects path does not exist"
Make sure Claude Code has been used and has created conversation files. The default path is `~/.claude/projects`.

### "No JSONL files found"
Ensure you have used Claude Code and it has generated conversation history. Try specifying a custom path with `--projects-path`.

### Port already in use
Use a different port: `claude-viewer --port 8080`

## 📄 License

Apache 2.0 License - see [LICENSE](LICENSE) file for details.

## 🙏 Acknowledgments

- Built with [FastAPI](https://fastapi.tiangolo.com/) and [Bootstrap](https://getbootstrap.com/)
- Syntax highlighting by [Pygments](https://pygments.org/)
- Created for the Claude Code community

## 📊 Stats

- 🎯 **Zero configuration** for most users
- ⚡ **Sub-second startup** time
- 🔍 **Full-text search** across all conversations
- 📱 **Mobile responsive** design

---

**Made with ❤️ for the Claude Code community**

[Report Issues](https://github.com/desis123/claude-code-viewer/issues) • [Feature Requests](https://github.com/desis123/claude-code-viewer/issues/new)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/desis123/claude-code-viewer",
    "name": "claude-code-viewer",
    "maintainer": "Claude Code Community",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "claude, ai, conversation, viewer, web, interface, fastapi",
    "author": "Claude Code Community",
    "author_email": "your-email@example.com",
    "download_url": "https://files.pythonhosted.org/packages/fc/b3/a7d9762d320377687fe5ec3171326311e028565e92875960f479d45c77da/claude_code_viewer-1.1.0.tar.gz",
    "platform": null,
    "description": "# Claude Code Viewer \ud83d\udd0d\n\nBeautiful web interface for browsing your Claude Code conversation history with search, filtering, and syntax highlighting.\n\n![Claude Code Viewer](https://img.shields.io/badge/version-1.0.0-blue.svg)\n![Python](https://img.shields.io/badge/python-3.8+-green.svg)\n![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)\n\n## \u2728 Features\n\n- \ud83d\udd0d **Search conversations** - Find specific discussions across all your Claude Code history\n- \ud83d\udcc2 **Project organization** - Browse conversations by project with session metadata\n- \ud83d\udcbb **Syntax highlighting** - Code blocks with proper language detection and copy buttons\n- \ud83c\udfa8 **Modern UI** - Clean, responsive interface with dark/light theme support\n- \u26a1 **Fast pagination** - Handle large conversation histories efficiently\n- \ud83d\udd27 **Tool visualization** - Clear display of tool usage and outputs\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\npip install claude-code-viewer\n```\n\n### Usage\n\n```bash\n# Start with default settings (looks for ~/.claude/projects)\nclaude-viewer\n\n# Custom Claude projects path\nclaude-viewer --projects-path /path/to/your/claude/projects\n\n# Custom port\nclaude-viewer --port 8080\n\n# Accessible from other machines\nclaude-viewer --host 0.0.0.0 --port 3000\n```\n\nThen open your browser to: `http://localhost:6300`\n\n## \ud83d\udcf8 Screenshots\n\n### Main Dashboard\nBrowse all your Claude Code projects with session counts and quick stats.\n\n### Conversation View\nView conversations with:\n- Proper message formatting and line breaks\n- Syntax-highlighted code blocks with copy buttons\n- Tool usage visualization\n- Search and filtering capabilities\n\n## \ud83d\udee0\ufe0f Command Line Options\n\n```bash\nclaude-viewer --help\n```\n\n**Available options:**\n- `--projects-path` - Path to Claude projects directory (default: `~/.claude/projects`)\n- `--host` - Host to bind the server (default: `127.0.0.1`)\n- `--port` - Port to run on (default: `6300`)\n- `--version` - Show version information\n\n## \ud83d\udcc1 How It Works\n\nClaude Code stores conversation history in JSONL files at `~/.claude/projects/`. This tool:\n\n1. **Scans** your Claude projects directory\n2. **Parses** JSONL conversation files\n3. **Presents** them in a beautiful web interface\n4. **Enables** search and filtering across all conversations\n\n## \ud83d\udd27 Development\n\n### Local Development\n\n```bash\ngit clone https://github.com/desis123/claude-code-viewer\ncd claude-code-viewer\npip install -e .\nclaude-viewer\n```\n\n### Project Structure\n\n```\nclaude-code-viewer/\n\u251c\u2500\u2500 claude_viewer/          # Main package\n\u2502   \u251c\u2500\u2500 cli.py             # Command line interface  \n\u2502   \u251c\u2500\u2500 main.py            # FastAPI application\n\u2502   \u2514\u2500\u2500 utils/             # Utilities (JSONL parser)\n\u251c\u2500\u2500 static/                # CSS, JavaScript\n\u251c\u2500\u2500 templates/             # HTML templates\n\u2514\u2500\u2500 setup.py              # Package configuration\n```\n\n## \ud83e\udd1d Contributing\n\nContributions welcome! Please:\n\n1. **Fork** the repository\n2. **Create** a feature branch (`git checkout -b feature/amazing-feature`)\n3. **Commit** your changes (`git commit -m 'Add amazing feature'`)\n4. **Push** to the branch (`git push origin feature/amazing-feature`)\n5. **Open** a Pull Request\n\n### Development Setup\n\n```bash\ngit clone <your-fork>\ncd claude-code-viewer\npip install -e \".[dev]\"\n```\n\n## \ud83d\udccb Requirements\n\n- **Python 3.8+**\n- **Claude Code** (to generate conversation history)\n- **Modern web browser**\n\n## \ud83d\udc1b Troubleshooting\n\n### \"Projects path does not exist\"\nMake sure Claude Code has been used and has created conversation files. The default path is `~/.claude/projects`.\n\n### \"No JSONL files found\"\nEnsure you have used Claude Code and it has generated conversation history. Try specifying a custom path with `--projects-path`.\n\n### Port already in use\nUse a different port: `claude-viewer --port 8080`\n\n## \ud83d\udcc4 License\n\nApache 2.0 License - see [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4f Acknowledgments\n\n- Built with [FastAPI](https://fastapi.tiangolo.com/) and [Bootstrap](https://getbootstrap.com/)\n- Syntax highlighting by [Pygments](https://pygments.org/)\n- Created for the Claude Code community\n\n## \ud83d\udcca Stats\n\n- \ud83c\udfaf **Zero configuration** for most users\n- \u26a1 **Sub-second startup** time\n- \ud83d\udd0d **Full-text search** across all conversations\n- \ud83d\udcf1 **Mobile responsive** design\n\n---\n\n**Made with \u2764\ufe0f for the Claude Code community**\n\n[Report Issues](https://github.com/desis123/claude-code-viewer/issues) \u2022 [Feature Requests](https://github.com/desis123/claude-code-viewer/issues/new)\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Beautiful web viewer for Claude Code conversation history",
    "version": "1.1.0",
    "project_urls": {
        "Bug Reports": "https://github.com/desis123/claude-code-viewer/issues",
        "Changelog": "https://github.com/desis123/claude-code-viewer/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/desis123/claude-code-viewer#readme",
        "Homepage": "https://github.com/desis123/claude-code-viewer",
        "Repository": "https://github.com/desis123/claude-code-viewer.git"
    },
    "split_keywords": [
        "claude",
        " ai",
        " conversation",
        " viewer",
        " web",
        " interface",
        " fastapi"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "61cb1db47b961ed9a73ce7cc54b1626a7145e8286ada9a8fec27fe5bce5bd13f",
                "md5": "66a60aa98cbfe96ceaba5ae5efde3690",
                "sha256": "886dded9ec2cbe8bf669510a79fa8178980c9279d800d698cdcf821cc43126ea"
            },
            "downloads": -1,
            "filename": "claude_code_viewer-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "66a60aa98cbfe96ceaba5ae5efde3690",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 28538,
            "upload_time": "2025-07-31T06:09:14",
            "upload_time_iso_8601": "2025-07-31T06:09:14.656744Z",
            "url": "https://files.pythonhosted.org/packages/61/cb/1db47b961ed9a73ce7cc54b1626a7145e8286ada9a8fec27fe5bce5bd13f/claude_code_viewer-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fcb3a7d9762d320377687fe5ec3171326311e028565e92875960f479d45c77da",
                "md5": "8bd80e960654ba48adbade8e08bdc6d2",
                "sha256": "b2302751df55d9189eb902e197c7b8ad1e3da2fc4e78529cb8c7b90ae18022af"
            },
            "downloads": -1,
            "filename": "claude_code_viewer-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8bd80e960654ba48adbade8e08bdc6d2",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 31501,
            "upload_time": "2025-07-31T06:09:16",
            "upload_time_iso_8601": "2025-07-31T06:09:16.414223Z",
            "url": "https://files.pythonhosted.org/packages/fc/b3/a7d9762d320377687fe5ec3171326311e028565e92875960f479d45c77da/claude_code_viewer-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-31 06:09:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "desis123",
    "github_project": "claude-code-viewer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "claude-code-viewer"
}
        
Elapsed time: 1.37700s