{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github-matt1398--claude-devtools","slug":"matt1398--claude-devtools","name":"claude-devtools","type":"agent","url":"https://claude-dev.tools","page_url":"https://unfragile.ai/matt1398--claude-devtools","categories":["automation"],"tags":["ai","ai-agent","ai-debugging","ai-tools","anthropic","claude","claude-code","claude-code-tools","debugging","desktop-app","developer-tools","devtools","electron","llm","macos-app","observability","open-source","session-viewer","token-usage","typescript"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github-matt1398--claude-devtools__cap_0","uri":"capability://data.processing.analysis.jsonl.session.log.parsing.with.per.turn.reconstruction","name":"jsonl session log parsing with per-turn reconstruction","description":"Parses Claude Code's JSONL session files stored at ~/.claude/projects/ to reconstruct the complete execution trace of each turn, including file reads, tool calls, token consumption, and context injections. Uses a streaming JSONL parser with caching strategy to handle large session files efficiently without loading entire logs into memory, enabling post-hoc analysis of sessions regardless of execution environment (terminal, IDE, or wrapper tool).","intents":["I need to see exactly which files Claude Code read and in what order during a session","I want to understand how my context window was consumed across different categories (CLAUDE.md, skills, tool I/O, thinking)","I need to debug why a Claude Code session behaved unexpectedly by inspecting the full tool call sequence","I want to audit token usage across multiple sessions to optimize costs"],"best_for":["Claude Code users debugging agent behavior without access to --verbose output","Teams auditing LLM token consumption and session costs","Developers building Claude Code wrappers or integrations who need visibility into session execution"],"limitations":["Requires session files to already exist on disk — cannot intercept live Claude Code execution","Parsing accuracy depends on Claude Code's JSONL schema remaining stable; breaking schema changes require parser updates","Large session files (>100MB) may cause UI lag during initial parsing despite caching strategy","Cannot reconstruct context for sessions older than Claude Code's JSONL logging introduction"],"requires":["Claude Code installed locally with ~/.claude/projects/ directory populated","Electron runtime (bundled in desktop app)","Node.js 18+ for development/building from source"],"input_types":["JSONL files (Claude Code session logs)","File paths to project directories"],"output_types":["Structured JSON representation of session turns","Token count breakdowns by category","Tool call sequences with arguments and results"],"categories":["data-processing-analysis","observability"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_1","uri":"capability://data.processing.analysis.context.window.composition.analysis.with.token.attribution","name":"context window composition analysis with token attribution","description":"Reverse-engineers the per-turn context window contents by analyzing session logs and attributing tokens across discrete categories: CLAUDE.md files, skill activations, tool I/O, thinking blocks, and system prompts. Uses a token accounting system that maps each context component back to its source in the session log, enabling developers to understand exactly why the context window grew or shrank at each step.","intents":["I want to see a breakdown of which components (skills, files, tool outputs) consumed the most tokens in my session","I need to understand why my context window filled up faster than expected","I want to identify which CLAUDE.md files or skills were actually used vs. loaded but unused","I need to optimize my project structure to reduce unnecessary context consumption"],"best_for":["Claude Code users optimizing context usage for cost and performance","Developers analyzing skill activation patterns to improve project organization","Teams building Claude Code extensions who need to understand context impact"],"limitations":["Token attribution is approximate — uses Claude's tokenizer but may differ from actual API tokenization by ±5%","Cannot attribute tokens to thinking blocks if Claude Code's logging omits thinking content","Requires session logs to include full tool I/O; truncated or filtered logs will show incomplete context breakdown","Does not predict future context usage — only analyzes completed sessions"],"requires":["Parsed session JSONL data from capability 1","Claude tokenizer library (bundled in app)","Session logs with complete tool call results"],"input_types":["Structured session turn data","Tool call results and file contents"],"output_types":["Token count by category (CLAUDE.md, skills, tool I/O, thinking, system)","Per-turn context composition breakdown","Cumulative context usage graph"],"categories":["data-processing-analysis","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_10","uri":"capability://automation.workflow.auto.update.system.with.code.signing.and.notarization","name":"auto-update system with code signing and notarization","description":"Implements an auto-update mechanism using Electron's update framework with code signing (macOS) and notarization to ensure app integrity. Detects new releases from GitHub, downloads updates in the background, and prompts users to install with a visual dialog. Supports staged rollouts and rollback on update failures.","intents":["I want to receive updates to claude-devtools automatically without manual downloads","I need assurance that updates are legitimate and not tampered with","I want to defer updates until a convenient time","I need to rollback to a previous version if an update causes issues"],"best_for":["End users wanting automatic updates without manual intervention","Teams requiring code-signed and notarized binaries for security compliance","Developers maintaining claude-devtools and wanting to push updates to users"],"limitations":["Auto-updates require internet connectivity — offline machines cannot update","Staged rollouts require manual configuration in release workflow","Rollback requires keeping previous versions available — increases storage overhead","Update checks happen on app startup — users may not see updates until next launch"],"requires":["GitHub releases with signed binaries","Electron auto-updater framework","Code signing certificates (macOS)","Internet connectivity for update checks"],"input_types":["GitHub release metadata","Update check requests"],"output_types":["Update notifications","Downloaded update packages","Update status (checking, downloading, ready, installed)"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_11","uri":"capability://data.processing.analysis.project.scanner.with.path.encoding.and.unified.project.id.system","name":"project scanner with path encoding and unified project id system","description":"Scans the Claude projects directory to discover all projects and their sessions, using a path encoding scheme that creates stable Project IDs from file paths. Handles both local paths and remote SSH paths uniformly, enabling a single project ID to reference sessions across different machines. Caches project metadata to avoid repeated directory scans.","intents":["I want to see all my Claude Code projects and their sessions in one place","I need to identify sessions across local and remote machines using consistent project names","I want to avoid re-scanning directories repeatedly for performance","I need to handle complex project paths with special characters or spaces"],"best_for":["Users with multiple Claude Code projects across local and remote machines","Teams managing large numbers of projects and sessions","Developers optimizing project discovery performance"],"limitations":["Path encoding is deterministic but opaque — users cannot easily reverse-engineer original paths from Project IDs","Project discovery is one-time at app startup — new projects created after startup require manual refresh","Caching can become stale if projects are deleted or moved outside of claude-devtools","Remote project discovery requires SSH access — cannot discover projects on machines without SSH"],"requires":["Access to ~/.claude/projects/ directory (local or remote via SSH)","Path encoding algorithm (built into app)"],"input_types":["Directory paths","SSH connection details"],"output_types":["Project list with Project IDs","Session lists per project","Project metadata (creation date, session count)"],"categories":["data-processing-analysis","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_2","uri":"capability://tool.use.integration.ssh.remote.session.inspection.with.sftp.file.operations","name":"ssh remote session inspection with sftp file operations","description":"Connects to remote machines via SSH/SFTP to discover and parse Claude Code sessions running on remote servers, enabling inspection of remote session logs as if they were local. Implements an SSH Connection Manager that handles authentication (key-based and password), remote path resolution, and transparent SFTP file operations, with a caching layer to avoid repeated remote file transfers. Supports multi-machine setups where developers run Claude Code on different servers.","intents":["I run Claude Code on a remote server and need to inspect session logs from my local machine","I want to monitor Claude Code sessions across multiple remote machines from a single dashboard","I need to debug a remote Claude Code session without SSH-ing into the server manually","I want to audit token usage across both local and remote Claude Code deployments"],"best_for":["Developers running Claude Code on remote servers or cloud instances","Teams managing multiple Claude Code deployments across infrastructure","DevOps engineers monitoring LLM agent costs across distributed systems"],"limitations":["Requires SSH key-based or password authentication — no support for certificate-based auth or SSH agents","SFTP file transfer latency adds ~100-500ms per remote file access depending on network conditions","Cannot inspect sessions on machines without SSH access or with restrictive firewall rules","Remote path resolution assumes standard ~/.claude/projects/ structure; custom paths require manual configuration"],"requires":["SSH server running on remote machine with SFTP support","Valid SSH credentials (private key or password)","Network connectivity to remote machine","Claude Code installed at standard path on remote machine"],"input_types":["SSH host, port, username, and authentication credentials","Remote file paths"],"output_types":["Remote session JSONL files","Parsed remote session data","File contents from remote machine"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_3","uri":"capability://automation.workflow.real.time.session.discovery.and.auto.refresh.with.file.system.watching","name":"real-time session discovery and auto-refresh with file system watching","description":"Monitors the ~/.claude/projects/ directory (local and remote) for new or updated session files using file system watchers, automatically discovering new sessions and refreshing existing session data without requiring manual refresh. Implements a Project Scanner that enumerates project directories, detects new sessions, and triggers incremental JSONL parsing for updated files. Uses debouncing and throttling to prevent excessive re-parsing during rapid file writes.","intents":["I want to see new Claude Code sessions appear in the UI automatically as they complete","I need to monitor a long-running Claude Code session and see updates in real-time","I want to avoid manually refreshing the session list after running Claude Code","I need to track multiple concurrent Claude Code sessions across different projects"],"best_for":["Developers running Claude Code frequently and wanting live visibility into sessions","Teams monitoring Claude Code usage patterns in real-time","Developers debugging sessions as they run without manual polling"],"limitations":["File system watchers have platform-specific behavior — may miss rapid file changes on some systems","Remote file system watching via SFTP is less reliable than local watching; uses polling with configurable interval (default 5s)","Debouncing adds 500ms-2s latency before UI updates to prevent excessive re-parsing","Cannot detect sessions deleted from disk after initial discovery"],"requires":["File system watching capability (native on macOS/Linux/Windows)","Write permissions to ~/.claude/projects/ directory","For remote: SSH connection with SFTP support"],"input_types":["File system events (create, modify)","Directory paths"],"output_types":["New session notifications","Updated session data","Real-time turn-by-turn updates"],"categories":["automation-workflow","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_4","uri":"capability://text.generation.language.interactive.session.timeline.and.turn.by.turn.inspection.ui","name":"interactive session timeline and turn-by-turn inspection ui","description":"Renders a visual timeline of session turns with expandable details for each turn, showing tool calls, file reads, token consumption, and context state. Implements a React-based UI with virtualization to handle sessions with hundreds of turns efficiently, combined with a command palette for quick navigation and filtering. Each turn can be expanded to show full tool call arguments, results, and context composition.","intents":["I want to visually step through a Claude Code session turn-by-turn","I need to find the specific turn where a tool call failed or produced unexpected output","I want to compare context usage across different turns in a session","I need to search for specific file names, tool calls, or error messages within a session"],"best_for":["Developers debugging Claude Code behavior interactively","Teams analyzing session patterns and identifying failure modes","Developers learning how Claude Code works by inspecting real sessions"],"limitations":["Virtualization requires scrolling to load turns outside viewport — cannot instantly jump to arbitrary turns in very large sessions (1000+ turns)","Command palette search is client-side only — searches loaded turns, not entire session if not yet parsed","UI rendering performance degrades with very large tool call results (>1MB per turn)","No built-in session comparison — must manually inspect multiple sessions side-by-side"],"requires":["Electron renderer process with React","Parsed session data from capability 1","Modern browser/Chromium engine (bundled in Electron)"],"input_types":["Parsed session turn data","Search queries"],"output_types":["Rendered HTML/React components","Filtered turn lists","Expanded turn details"],"categories":["text-generation-language","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_5","uri":"capability://automation.workflow.notification.system.with.custom.trigger.rules.and.filtering","name":"notification system with custom trigger rules and filtering","description":"Implements a configurable notification system that triggers alerts based on session events (e.g., tool call failures, context window near capacity, session completion). Uses a Notification Manager with a trigger system that evaluates conditions against session data and supports filtering/throttling to prevent notification spam. Notifications can be configured per-project or globally, with support for custom trigger expressions.","intents":["I want to be notified when a Claude Code session completes so I can review it immediately","I need alerts when a tool call fails or returns an error","I want to know when my context window is approaching capacity","I need to suppress notifications for certain projects or trigger types to reduce noise"],"best_for":["Developers monitoring long-running Claude Code sessions","Teams tracking Claude Code failures and errors","Developers optimizing session workflows based on real-time feedback"],"limitations":["Notifications are local to the machine running claude-devtools — no cross-device notification support","Trigger evaluation happens post-hoc after session completion or turn completion; cannot predict failures before they occur","Filtering/throttling is stateful and resets on app restart — no persistent notification history","Custom trigger expressions require manual configuration; no UI builder for complex conditions"],"requires":["Parsed session data with turn-by-turn events","Notification system configuration (JSON or UI)","OS notification support (macOS, Linux, Windows)"],"input_types":["Session events (turn completion, tool call result, context update)","Trigger rule definitions","Filter expressions"],"output_types":["OS notifications","Notification logs","Trigger evaluation results"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_6","uri":"capability://data.processing.analysis.cost.and.token.usage.analytics.with.multi.session.aggregation","name":"cost and token usage analytics with multi-session aggregation","description":"Aggregates token usage and cost data across multiple sessions, projects, and time periods to provide analytics dashboards showing trends, per-project costs, and cost-per-task metrics. Implements a Session Analyzer that computes statistics from parsed session data and supports filtering by date range, project, or session type. Integrates with Claude API pricing to calculate estimated costs based on token counts.","intents":["I want to see how much my Claude Code usage is costing across all sessions","I need to identify which projects are consuming the most tokens","I want to track token usage trends over time to understand growth","I need to calculate cost-per-task to optimize my workflow"],"best_for":["Teams managing Claude Code costs and budgets","Developers optimizing workflows to reduce token consumption","Organizations tracking LLM spending across multiple users"],"limitations":["Cost calculations are estimates based on Claude API pricing — actual costs depend on billing tier and current pricing","Analytics require sessions to be parsed and stored locally — cannot aggregate data from sessions on other machines without manual export","Time-based filtering assumes accurate system clocks on machines where sessions ran","No built-in cost forecasting — only historical analysis"],"requires":["Parsed session data with token counts","Claude API pricing data (hardcoded or fetched)","Session metadata including timestamps"],"input_types":["Multiple parsed sessions","Date range filters","Project filters"],"output_types":["Aggregated token counts","Cost estimates","Usage trends (charts/graphs)","Per-project cost breakdowns"],"categories":["data-processing-analysis","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_7","uri":"capability://automation.workflow.ipc.based.multi.context.architecture.with.electron.main.renderer.separation","name":"ipc-based multi-context architecture with electron main/renderer separation","description":"Implements a multi-context system using Electron's IPC (Inter-Process Communication) to separate concerns between the main process (file I/O, SSH, session parsing) and renderer process (UI, visualization). Uses a service context API that abstracts file operations and session parsing behind IPC handlers, enabling the renderer to request data without direct file system access. Supports concurrent session parsing and SSH operations in the main process while keeping the UI responsive.","intents":["I want the UI to remain responsive while parsing large session files","I need to run multiple SSH connections and file operations concurrently","I want to isolate file system access to the main process for security","I need to support multiple renderer windows with shared session data"],"best_for":["Developers building Electron apps with heavy I/O operations","Teams requiring responsive UIs with background processing","Applications needing process isolation for security"],"limitations":["IPC communication adds ~5-10ms latency per message — not suitable for high-frequency updates","Serialization of large objects (>10MB) over IPC can cause performance degradation","Debugging IPC issues requires understanding both main and renderer process logs","No built-in request deduplication — multiple renderer requests for same data cause duplicate main process work"],"requires":["Electron 20+ with IPC support","TypeScript for type-safe IPC handler definitions","Understanding of Electron process model"],"input_types":["IPC messages from renderer","File paths and SSH credentials"],"output_types":["Parsed session data","File contents","SSH operation results"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_8","uri":"capability://automation.workflow.configuration.management.with.ipc.based.settings.persistence","name":"configuration management with ipc-based settings persistence","description":"Provides a settings interface for configuring Claude root directory, SSH connections, notification triggers, and UI preferences, with IPC-based persistence to store configuration in the main process. Implements Config IPC Handlers that validate and persist settings to disk, with support for per-machine and per-user configuration. Includes automatic Claude root detection to simplify initial setup.","intents":["I want to configure which directory claude-devtools monitors for session files","I need to add and manage multiple SSH connections to remote machines","I want to customize notification triggers and filtering rules","I need to persist my preferences across app restarts"],"best_for":["Users setting up claude-devtools for the first time","Teams managing multiple SSH connections","Developers customizing notification and filtering behavior"],"limitations":["Configuration is stored locally on the machine running claude-devtools — no cloud sync or multi-device sync","SSH credentials are stored in plaintext or with basic encryption — not suitable for highly sensitive environments","Configuration validation is basic — complex validation rules require code changes","No configuration export/import — migrating settings to another machine requires manual re-entry"],"requires":["Write permissions to configuration directory (~/.claude-devtools/ or equivalent)","Electron main process with file system access"],"input_types":["Configuration form inputs","SSH credentials","Notification rule definitions"],"output_types":["Persisted configuration JSON","Validation results","Auto-detected Claude root path"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-matt1398--claude-devtools__cap_9","uri":"capability://tool.use.integration.http.sidecar.server.for.external.integrations.and.webhooks","name":"http sidecar server for external integrations and webhooks","description":"Exposes an HTTP API server running alongside the Electron app to enable external tools and integrations to query session data and trigger notifications. Implements REST endpoints for session queries, cost analytics, and notification triggers, with optional authentication. Enables integration with CI/CD pipelines, monitoring systems, and custom dashboards.","intents":["I want to integrate claude-devtools data into my CI/CD pipeline to track costs","I need to expose session data to external monitoring or analytics tools","I want to trigger notifications from external systems based on session events","I need to build custom dashboards that query claude-devtools data"],"best_for":["Teams integrating Claude Code monitoring into existing infrastructure","Developers building custom dashboards or analytics on top of claude-devtools","Organizations requiring API access to session data for compliance or auditing"],"limitations":["HTTP server is local-only by default — requires manual configuration to expose externally","Authentication is optional and basic — not suitable for exposing over untrusted networks","API schema is not versioned — breaking changes may affect external integrations","No rate limiting — external clients can overwhelm the server with requests"],"requires":["HTTP server library (built into Node.js/Electron)","Network access to localhost:PORT","Optional: authentication credentials for API access"],"input_types":["HTTP GET/POST requests","Query parameters and request bodies"],"output_types":["JSON responses with session data","Cost analytics","Notification trigger results"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":48,"verified":false,"data_access_risk":"high","permissions":["Claude Code installed locally with ~/.claude/projects/ directory populated","Electron runtime (bundled in desktop app)","Node.js 18+ for development/building from source","Parsed session JSONL data from capability 1","Claude tokenizer library (bundled in app)","Session logs with complete tool call results","GitHub releases with signed binaries","Electron auto-updater framework","Code signing certificates (macOS)","Internet connectivity for update checks"],"failure_modes":["Requires session files to already exist on disk — cannot intercept live Claude Code execution","Parsing accuracy depends on Claude Code's JSONL schema remaining stable; breaking schema changes require parser updates","Large session files (>100MB) may cause UI lag during initial parsing despite caching strategy","Cannot reconstruct context for sessions older than Claude Code's JSONL logging introduction","Token attribution is approximate — uses Claude's tokenizer but may differ from actual API tokenization by ±5%","Cannot attribute tokens to thinking blocks if Claude Code's logging omits thinking content","Requires session logs to include full tool I/O; truncated or filtered logs will show incomplete context breakdown","Does not predict future context usage — only analyzes completed sessions","Auto-updates require internet connectivity — offline machines cannot update","Staged rollouts require manual configuration in release workflow","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.535307092152278,"quality":0.49,"ecosystem":0.6000000000000001,"match_graph":0.25,"freshness":0.75,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.1,"match_graph":0.28,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.062Z","last_scraped_at":"2026-05-03T13:57:16.561Z","last_commit":"2026-04-30T14:36:15Z"},"community":{"stars":3256,"forks":242,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=matt1398--claude-devtools","compare_url":"https://unfragile.ai/compare?artifact=matt1398--claude-devtools"}},"signature":"7P9XyREa7tSxhFIV21O96ulCvdZ9rPSN939wkc9qsKmn4XO5d6MgFwJnE1VaoXVU6QxnzvVvk43hSRJ4FScnBQ==","signedAt":"2026-06-20T10:41:13.824Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/matt1398--claude-devtools","artifact":"https://unfragile.ai/matt1398--claude-devtools","verify":"https://unfragile.ai/api/v1/verify?slug=matt1398--claude-devtools","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}