
Product
Socket Now Protects the Firefox Extension Ecosystem
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.
cctimereporter
Advanced tools
A visual timeline of your Claude Code sessions. Run one command and see a Gantt-style chart of when you were coding, which projects you worked on, and which tickets you touched.
Requires Node.js 22 or later (uses the built-in node:sqlite module).
npx cctimereporter
This starts a local server and opens your browser to today's timeline. On first run, click Import to scan your Claude Code transcripts.
CC Time Reporter reads the JSONL transcript files that Claude Code stores under ~/.claude/projects/, imports them into a local SQLite database, and serves an interactive web UI.
The timeline page (/timeline?date=YYYY-MM-DD) shows:
/timeline?date=YYYY-MM-DD (bookmarkable)Clicking Import shows a progress bar with file counts as transcripts are processed. The import streams progress via Server-Sent Events so you can see exactly how many files remain.
The import pipeline:
~/.claude.json and ~/.claude/projects/In addition to the default web server, cctimereporter provides CLI subcommands that output JSON to stdout for scripting and automation.
# Day summary (ticket-grouped working time)
npx cctimereporter summary
npx cctimereporter summary --date 2026-03-25 --pretty
# Session list for a date
npx cctimereporter sessions --date 2026-03-25 --pretty
# Trigger import from CLI
npx cctimereporter import # 2-day rolling window (default)
npx cctimereporter import --all # Full history import
npx cctimereporter import --days 7 # Custom window
All subcommands accept --pretty for human-readable JSON output and --idle <minutes> (where applicable) to configure the idle threshold.
cctimereporter includes a stdio MCP server for programmatic data access from AI assistants (e.g., Claude Code).
npx cctimereporter --mcp
This starts a Model Context Protocol server on stdio. Available tools:
| Tool | Description |
|---|---|
get_day_summary | Ticket-grouped working time for a date |
get_sessions | Project-grouped session details for a date |
get_session_messages | Messages for a specific session |
get_dates | All dates that have session data |
trigger_import | Run the import pipeline |
start_server | Start the web server (or return URL of running instance) |
stop_server | Stop a running web server |
server_status | Check if the web server is running |
To use with Claude Code, add to your MCP configuration:
{
"mcpServers": {
"cctimereporter": {
"command": "npx",
"args": ["cctimereporter", "--mcp"]
}
}
}
~/.cctimereporter/data.db (created automatically)[A-Z]{2,8}-\d+ (matches JIRA-style ticket IDs)git clone <repo-url>
cd cctimereporter
npm install
# Run the Vue dev server (hot reload)
npm run dev:client
# Build the production frontend
npm run build
# Start the full app (server + built frontend)
npm start
bin/cli.js CLI entry point (Commander dispatch, --mcp flag)
src/
cli/ CLI subcommands (summary, sessions, import) + format utils
mcp/ MCP server factory and tool registrations (query + action)
services/ Business logic (timeline, sessions, import, coordination)
db/ SQLite database layer (schema v9, migrations, open/close)
importer/ Import pipeline (parser, fork detector, ticket scorer, discovery)
server/ Fastify server and API routes (thin HTTP wrappers)
utils/ Shared utilities (config, XML parser, timeline computation)
client/ Vue 3 frontend
components/ Reusable components (Gantt chart, toolbar, detail panel)
pages/ Page components (TimelinePage, ComponentsPage)
router/ Vue Router configuration
styles/ Design tokens (CSS custom properties)
scripts/ Python proof-of-concept (reference implementation)
| Method | Path | Description |
|---|---|---|
| GET | /api/timeline?date=YYYY-MM-DD | Sessions grouped by project for a date, with idle gaps and working time |
| GET | /api/projects | List of all known projects |
| POST | /api/import | Trigger a full import (409 if already running) |
| GET | /api/import/progress | Trigger import with SSE progress streaming (409 if already running) |
| GET | /api/sessions/:id/messages | First messages of a session for preview |
| PATCH | /api/sessions/:id | Update user-editable fields (user_label, user_ticket) |
node:sqliteISC
FAQs
Visual timeline of Claude Code sessions
We found that cctimereporter demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.

Research
/Security News
Three compromised Rust crates pulled in a malicious dependency that downloaded and executed cross-platform malware during Cargo builds.

Research
/Security News
Socket uncovered 77 linked Firefox extensions, including 40 that steal wallet secrets or credentials and 37 deceptive sports-score shells.