Skip to content

Changelog

All notable changes to Sidekick Agent Hub (VS Code extension and CLI) will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.16.1] - 2026-03-27

Fixed

  • Provider status scoping: VS Code and CLI dashboards now scope degraded-service notices to the monitored session provider — Claude status for Claude Code, OpenAI status for Codex, and no provider-status banner for OpenCode
  • Cross-platform account tests: sidekick-shared account tests now mock credential I/O instead of depending on platform-specific credential stores, restoring green test runs on macOS

[0.16.0] - 2026-03-23

Added

  • Shared library: Zod schemas for runtime JSONL event validation (sessionEventSchema, messageUsageSchema, sessionMessageSchema)
  • Shared library: Token usage & tool call extractors — pure functions extractTokenUsage() and extractToolCalls() for single-event processing
  • Shared library: Model info & pricinggetModelInfo(), calculateCost(), formatCost() ported from VS Code extension into shared module
  • Shared library: Typed JSONL parser — optional schema parameter on JsonlParser for Zod-validated parsing
  • Shared library: QuotaPoller class — reusable polling with exponential backoff, active/idle intervals, and cached fallback
  • VS Code: Tool result pairing — Tool Inspector now shows truncated tool outputs (read content, bash stdout, search results) paired with each tool call
  • VS Code: Recursive subagent tree — Subagent tree view now displays nested parent/child relationships using trace-based parsing
  • CLI: Consistent cost formatting — all cost displays now use shared formatCost() with intelligent decimal precision

Changed

  • VS Code: ModelPricingService now delegates to sidekick-shared/modelInfo (reduced from 256 to ~50 lines)
  • CLI: QuotaService rewritten to wrap shared QuotaPoller instead of manual polling loop
  • CLI: modelContext now re-exports getModelInfo from shared library

[0.15.2] - 2026-03-18

Fixed

  • CLI help descriptions: Updated quota and status command descriptions to reflect provider-aware behavior
  • sidekick quota --provider: Added local --provider option so sidekick quota --provider codex works without requiring the flag before the subcommand

[0.15.0] - 2026-03-18

Added

  • OpenAI status page monitoring: The CLI dashboard and VS Code extension now poll OpenAI's status page alongside Claude's, showing incidents and degraded components for Codex users
  • Codex rate limits as first-class quota: Codex CLI rate-limit data (from token_count event streams) now displays in the VS Code dashboard quota section, CLI Sessions panel, and sidekick quota command — with provider-aware labels ("Rate Limits" vs "Subscription Quota") throughout

Fixed

  • QuotaService polling for non-Claude providers: QuotaService.start() no longer runs for Codex sessions, preventing failed OAuth calls from overwriting valid rate-limit data

[0.14.2] - 2026-03-16

Fixed

  • Quota polling interval: Reduced quota refresh from every 30 seconds to every 5 minutes in both the VS Code extension and CLI dashboard to avoid unnecessary API calls
  • SessionsPanel detailWidth() call: Removed unused parameter from detailWidth() in the CLI Sessions panel
  • Extension type fixes: Fixed null assertion on sessionMonitor and improved Promise typing in the connection test flow

Added

  • Provider status dashboard message: New updateProviderStatus message type for pushing provider status updates to the dashboard webview

[0.14.1] - 2026-03-14

Fixed

  • Per-model context window sizes: Claude Opus 4.6 and Sonnet 4.6 now correctly report 1M context windows instead of 200K. Context gauge, status bar, and session summaries show accurate utilization percentages for all models
  • Missing model: Added claude-haiku-4-5 to the context window lookup table

Changed

  • Centralized model context map: Consolidated three duplicate model-to-context-size maps (in claudeCode.ts, openCode.ts, codex.ts, and the CLI dashboard) into a single canonical getModelContextWindowSize() function in sidekick-shared
  • Dynamic context window override: All three providers (Claude Code, OpenCode, Codex) now support runtime-reported context window limits via setDynamicContextWindowLimit(), allowing accurate context sizing when the same model has different limits per subscription tier or access method

[0.14.0] - 2026-03-12

Added

  • Native Multi-Account Switching: Save, list, and switch between multiple Claude Code accounts from within Sidekick — no more manual claude login / logout cycles. Accounts are stored in ~/.config/sidekick/accounts/ with atomic writes, strict file permissions, and rollback-on-failure safety
  • Shared Account Manager (sidekick-shared): New accounts.ts module with addCurrentAccount(), switchToAccount(), removeAccount(), listAccounts(), getActiveAccount(), and readActiveClaudeAccount() — consumed by both the VS Code extension and CLI
  • VS Code Account Commands: Three new commands — Sidekick: Save Current Claude Account, Sidekick: Switch Claude Account (QuickPick), and Sidekick: Remove Claude Account — with automatic auth client reset and quota refresh on switch
  • Account Status Bar: New status bar item (visible when 2+ accounts are managed) showing the active account label or email, with click-to-switch
  • Account Switching in Status Bar Menu: The main Sidekick status bar menu now shows Switch Account or Save Current Account when the inference provider is Claude Code
  • CLI sidekick account Command: Manage accounts from the terminal — --add, --label, --switch, --switch-to <email>, --remove <email>, and --json output
  • CLI Quota Account Label: sidekick quota now shows the active account email above the quota bars when multi-account is enabled
  • macOS Keychain Support: Credential I/O now reads and writes Claude Code's active credentials via the system Keychain on macOS (where Claude Code stores them), instead of assuming ~/.claude/.credentials.json on all platforms. Fixes account switching, quota checks, and account saving on macOS

[0.13.8] - 2026-03-12

Added

  • Structured quota failure metadata: fetchQuota() now classifies unavailable states with failureKind, httpStatus, and retryAfterMs, so first-party consumers and external callers can distinguish auth failures, network errors, rate limits, server failures, and unexpected API responses without parsing human-readable strings
  • Shared quota failure presentation helper: First-party consumers now share a common describeQuotaFailure() helper for consistent quota error copy, severity mapping, retryability hints, and stable alert keys

Changed

  • CLI quota UX: sidekick quota and the CLI dashboard now render structured quota failure states with clearer auth/rate-limit/server copy, show unavailable quota inline in the Sessions panel, and fire low-noise transition-based quota toasts instead of relying on raw error strings
  • VS Code quota UX: The dashboard now renders structured unavailable quota states, shows lightweight dashboard toasts on new quota failure transitions, and stores those alerts in dashboard notification history without using native VS Code popup notifications

[0.13.7] - 2026-03-11

Changed

  • CLI npm README sync: Updated the published CLI package README to match the current OpenCode monitoring guidance, including platform-specific data directories and the sqlite3 runtime requirement
  • DeepWiki badge cleanup: Removed Ask DeepWiki badges from documentation pages and the published CLI package README while keeping the repo root README badge intact

[0.13.6] - 2026-03-11

Changed

  • Refreshed CLI Dashboard Wordmark: Updated the CLI dashboard wordmark/header styling for a cleaner, more intentional branded splash experience

Fixed

  • OpenCode DB-backed monitoring: Manual selection now accepts synthetic db-sessions/<projectId> folders, and workspace discovery now resolves OpenCode projects by worktree, sandboxes, and session directory instead of silently falling back to legacy file paths
  • OpenCode runtime notices: VS Code and CLI now show OpenCode-only actionable notices when opencode.db exists but sqlite3 is missing, blocked, or otherwise unusable in the current environment

[0.13.5] - 2026-03-10

Added

  • Provider Status Monitoring: New fetchProviderStatus() in sidekick-shared polls status.claude.com for API health — returns indicator, affected components, and active incidents with graceful fallback on network errors
  • CLI sidekick status Command: One-shot command with color-coded text output and --json mode for checking Claude API status
  • CLI Dashboard Status Banner: Status bar shows a colored ● API minor/major/critical indicator when Claude is degraded; Sessions panel Summary tab shows affected components and active incident details
  • VS Code Dashboard Status Banner: Dashboard gauge row shows a color-bordered banner with indicator, affected components, and incident link when Claude API is degraded; hidden when all systems are operational

[0.13.4] - 2026-03-08

Fixed

  • Onboarding Phrase Spam: Motivational phrase on splash screen and detail pane no longer changes every render tick (~80ms) — memoized so it stays stable until a meaningful state change (fixes #13)

Changed

  • Simplified CLI Logo: Replaced 6-line ASCII robot art with a compact 1–2 line text header across splash, help, and changelog overlays — renders cleanly in all terminals
  • Removed Dead Branding Exports: Removed unused getSplashContent() and HELP_HEADER from branding module

[0.13.3] - 2026-03-04

Changed

  • Shared Task Tracking Consolidation: Moved task lifecycle logic (TodoWrite, UpdatePlan, Agent/Task spawn, goal gate detection) from VS Code SessionMonitor into the shared EventAggregator — CLI and shared library consumers now get full task tracking out of the box
  • Shared parseTodoDependencies Export: Dependency-parsing utility for OpenCode todos now exported from sidekick-shared for external use

Fixed

  • Task Deduplication: addBlockedBy and addBlocks arrays no longer accumulate duplicate entries on repeated TaskUpdate calls
  • Active Task Tracking: Active task ID now correctly cleared when a task transitions from in_progress to another status (was only cleared on delete)
  • TaskCreate Error Handling: Failed TaskCreate tool calls (error results) no longer create phantom tasks in the tracked state
  • Goal Gate Re-evaluation: Goal gate status re-evaluated after every TaskUpdate, not just on initial creation
  • Task Timestamps: TaskCreate timestamps now preserved from the tool_use event rather than always using the result timestamp

[0.13.2] - 2026-03-04

Added

  • Shared Library npm Publication: sidekick-shared published to npm as a standalone package — provides types, parsers, providers, readers, formatters, aggregation, search, reporting, credentials, and quota for building tools on top of Sidekick session data
  • CI/CD Publish Shared Job: Release workflow now includes a publish-shared job that lints, tests, builds, and publishes sidekick-shared to npm before the CLI publish step
  • Shared Library Issue Templates: Bug report and feature request templates now include a "Shared Library (sidekick-shared)" component checkbox

[0.13.1] - 2026-03-04

Added

  • CLI sidekick quota Command: One-shot subscription quota check showing 5-hour and 7-day utilization with color-coded progress bars and reset countdowns — supports --json for machine-readable output
  • Quota Projections: Elapsed-time projections shown alongside current utilization in the CLI quota command, TUI dashboard, and VS Code dashboard — projects end-of-window usage based on linear extrapolation (e.g., 40% → 100%)

[0.13.0] - 2026-03-03

Added

  • VS Code Toast Notifications: Dismissable toast notifications in the dashboard webview with aria-live for screen readers — copying a CLAUDE.md suggestion now shows "Copied to clipboard" feedback
  • VS Code Reduced Motion Support: prefers-reduced-motion media queries across all webviews — animations and transitions disabled when OS-level setting is enabled
  • VS Code Keyboard Navigation for Explain Panel: Complexity level selector is now a proper segmented control with role="tablist" and roving tabindex — Arrow, Home, and End keys navigate between levels
  • VS Code Improved Focus Indicators: Focus-visible outlines upgraded to 2px with positive offset across all webviews for better keyboard navigation visibility
  • VS Code ARIA Landmarks: Explain and Error panels use semantic <main>, role="region", aria-live, role="status", role="alert", and aria-label attributes throughout
  • VS Code Theme-Aware Gauge Colors: Context usage gauge reads colors from VS Code theme CSS variables instead of hardcoded RGB values
  • VS Code Redesigned Explain Panel: Complexity selector replaced with a unified segmented control (bordered pill-style bar) with smooth hover/active transitions
  • VS Code Redesigned Error Panel: Explanation sections now have color-coded left borders (red/orange/green), section icons, padded card-like backgrounds, and staggered slide-in entrance animations
  • VS Code Three-Dot Pulse Loader: Replaced spinning circle loader with a three-dot pulse animation in Explain and Error panels
  • VS Code Improved Empty States: All 7 sidebar panels have rewritten empty-state copy with icons, titles, and clearer instructions
  • VS Code Card Entrance Animations: Fade-in animations with stagger delay in Task Board, Plan Board, and Project Timeline
  • VS Code Custom Scrollbar and Selection Styling: Themed 6px scrollbars and VS Code-matching text selection colors across all webviews
  • VS Code Apply Fix Button States: Animated "Applying..." state, green "Applied" confirmation, hover lift, and active press effects
  • VS Code Narrow Viewport Support: Responsive styles for sidebar panels narrower than 260px

Changed

  • VS Code Pulse Animation Throttling: Value pulse animations in the dashboard throttled to once per 800ms per element, reducing visual noise during rapid updates
  • VS Code Inline Styles Replaced: Context health score and truncation warnings now use CSS classes instead of inline styles

Fixed

  • Codex SQL Parameter Binding: Fixed string.replace('?', ...) only replacing the first placeholder — now uses regex with sequential index counter so each ? maps to the correct parameter
  • Codex Double Filesystem Stat: Collapsed redundant existsSync + statSync calls in CodexDatabase.isAvailable() to a single statSync in try/catch

Security

  • XSS Prevention: Added escapeHtml() across all innerHTML interpolations in Dashboard, MindMap, TaskBoard, and webview scripts
  • Cryptographic CSP Nonces: Nonce generation now uses crypto.getRandomValues() instead of Math.random()
  • Command Injection Prevention: CLI discovery and version checks now use execFileSync/spawnSync instead of execSync with string interpolation
  • URL Protocol Validation: openExternal handler validates ^https?:// before opening URLs, preventing file:// and javascript: protocol attacks

[0.12.10] - 2026-03-01

Added

  • Shared FrequencyTracker: Generic LRU-bounded frequency counter for tracking tool name, event type, and keyword frequency across sessions
  • Shared HeatmapTracker: 60-minute rolling circular buffer tracking event activity intensity per minute
  • Shared PatternExtractor: Simplified Drain-style algorithm that clusters event summaries into templates (e.g. Read src/<*>.ts) to surface repetitive tool patterns
  • Shared EventHighlighter: Keyword-based semantic syntax highlighting for event content — errors red, success green, warnings yellow, actions cyan, file paths magenta, HTTP status/method coloring — with blessed, ANSI, and HTML output formats
  • Shared AdvancedFilter: Four filter modes — substring, fuzzy, regex, and date range — with search-term highlighting
  • CLI Events Panel (key 7): Scrollable live event stream with type badges, timestamps, and highlighted summaries; detail tabs for full event JSON and surrounding context
  • CLI Charts Panel (key 8): Tool frequency bars, event distribution, 60-minute activity heatmap (░▒▓█), and pattern analysis with frequency bars
  • CLI Multi-Mode Filter: / filter overlay now supports substring, fuzzy, regex, and date modes — Tab cycles modes, regex mode shows validation errors
  • CLI Search Term Highlighting: Active filter terms highlighted in side list items
  • VS Code Analytics Charts: Tool frequency bar chart, event distribution doughnut chart, activity heatmap grid, and event patterns section in the dashboard webview — theme-safe with runtime CSS variable resolution
  • VS Code Event Stream Tree View: Live sidebar tree showing color-coded session events with type icons, timestamps, and ring buffer of 200 events
  • Tests for FrequencyTracker, HeatmapTracker, PatternExtractor, EventHighlighter, and AdvancedFilter

Changed

  • Shared EventAggregator: Now tracks tool frequency, word frequency, event patterns, and heatmap buckets via the new aggregation primitives
  • CLI Timeline Highlighting: Event summaries in the Sessions panel Timeline tab now use semantic keyword coloring

Removed

  • CLI Search Panel: Removed redundant Search panel (previously key 7) — the / filter serves the same purpose with better multi-mode support

[0.12.9] - 2026-02-28

Added

  • VS Code Hourly Drill-Down: Clicking a day bar in the dashboard historical chart now shows per-hour token/cost breakdown
  • VS Code Content Security Policy: CSP nonce added to the Generate HTML Report webview (security hardening)
  • VS Code setSessionProvider Command: sidekick.setSessionProvider now discoverable in the Command Palette
  • VS Code Notification Toggles: New notification trigger toggles for sensitive-path-write and cycle-detected in Settings
  • VS Code Offline Assets: Chart.js and D3.js bundled locally — dashboard and mind map now work offline (no CDN dependency)
  • VS Code ARIA Accessibility: ARIA attributes across 6 webview panels (Dashboard, MindMap, ToolInspector, TaskBoard, PlanBoard, ProjectTimeline) — tab roles, live regions, toggle states, and labeled icon buttons
  • CLI Standalone Data Commands: sidekick tasks, sidekick decisions, sidekick notes, sidekick stats, sidekick handoff for accessing project data without launching the TUI
  • CLI sidekick search <query>: Cross-session full-text search from the terminal
  • CLI sidekick context: Composite output of tasks, decisions, notes, and handoff for piping into other tools
  • CLI --list flag on sidekick dump: Discover available session IDs before requiring --session <id>
  • CLI Search Panel: Search panel (panel 7) wired into the TUI dashboard
  • Shared HourlyData type and getHourlyData(): New method in HistoricalDataService for hourly breakdowns
  • 125 tests for EventAggregator (1,579 lines of core logic, previously 0 test coverage)
  • 17 tests for CompletionCache
  • 19 tests for BurnRateCalculator
  • 18 tests for tokenEstimator
  • 57 tests for diffFilter

Changed

  • VS Code Cancellable AI Operations: Long-running AI operations (test connection, commit message, docs, explain, error analysis, inline completions) are now cancellable via the progress notification
  • VS Code sidekick.inlineTimeout deprecated: Use sidekick.timeouts.inlineCompletion instead (legacy setting still honored as fallback)
  • VS Code Completion Hint Settings: showCompletionHint and completionHintDelayMs settings now properly wired (were previously ignored)
  • CLI taskMerger utility: Duplicate mergeTasks logic extracted into shared taskMerger utility
  • CLI Model Constants: Hardcoded model IDs extracted to named constants

Fixed

  • VS Code stopMonitoring disposable leak: Fixed disposable leak on repeated stop/restart cycles
  • VS Code Production Build: esbuild production builds now run in parallel (faster builds)
  • CLI convention icon: Notes panel icon replaced with valid tip type
  • CLI Linux Clipboard: Now supports Wayland (wl-copy) and xsel fallbacks, with error messages instead of silent failure
  • CLI provider.dispose(): Added to dump and report commands (prevents SQLite connection leaks)

[0.12.8] - 2026-02-28

Added

  • VS Code Design Token System: Shared design tokens (getDesignTokenCSS(), getSharedStyles()) providing consistent spacing, typography, radius, color, transition, and elevation variables across all 5 webview panels
  • Micro-interactions: tab fade-in, timeline slide-in, progress bar shimmer, active status pulse, value update flash animation
  • Dashboard visual hierarchy: tier dividers, group summaries when collapsed, count badges, accent borders on expanded sections
  • Card hover micro-lift, active plan/session glow, section title opacity treatment
  • Skeleton loading states replacing text-only loading messages
  • Shared component tokens applied to headers, status badges, icon buttons, and cards across Dashboard, MindMap, TaskBoard, PlanBoard, and ProjectTimeline providers

Changed

  • CLI Dashboard UI/UX Polish: Visual overhaul of the TUI dashboard for better hierarchy, consistency, and readability
  • Splash screen and help overlay now display the robot ASCII logo (matching the changelog overlay)
  • Toast notifications show severity icons (✘ error, ⚠ warning, ● info) with inner padding
  • Focused pane uses double-border (╔═╗║╚═╝) for clear focus indication
  • Section dividers (── Title ────) replace bare bold headers throughout the summary, agents, and context attribution views
  • Tab bar: active tab underlined in magenta, inactive tabs dimmed, bracket syntax removed
  • Status bar: segmented layout with left (brand), center (provider/events), and right (keybindings) zones using separators; keys bold, labels dim
  • Summary metrics condensed: elapsed/events/compactions on one line, tokens on one line with cache rate and cost, bold values with dim labels
  • Sparklines now display peak metadata annotations
  • Progress bars use blessed color tags for consistent coloring
  • Help overlay uses dot-leader alignment (key ···· description) for all keybinding rows
  • Empty state hints per panel (e.g. "Tasks appear as your agent works.")
  • Session picker groups sessions by provider with section headers when multiple providers are present

[0.12.7] - 2026-02-27

Added

  • HTML Session Report: Self-contained HTML report with full transcript, token/cost stats, model breakdown, and tool-use summary — zero external dependencies
  • Transcript parser extracts user/assistant/system messages with thinking blocks, tool calls, and tool results from JSONL session files
  • Stats cards show total tokens, cost, duration, and model usage at a glance
  • Collapsible thinking blocks and tool detail sections for readability
  • Dark/light theme support
  • VS Code: Sidekick: Generate HTML Report command, also available as "HTML Report" option in Dump Session
  • CLI: sidekick report command with --output, --theme, --no-open, and --no-thinking flags
  • TUI Dashboard: press r to generate and open an HTML report for the current session

Changed

  • Code quality pass: Simplified ternary expressions, replaced var with const/let, deduplicated repeated logic across DashboardViewProvider, MindMapViewProvider, and shared library modules

[0.12.6] - 2026-02-26

Added

  • Session Introspection Pipeline: New analysis layer for deep session inspection
  • Noise classifier filters irrelevant tool events (system reminders, sidechains) from analysis
  • Tool summarizer aggregates tool events into concise summaries
  • Debug log parser extracts structured data from Claude Code debug logs
  • Session activity detector classifies session state (active, idle, stalled)
  • Subagent trace parser for analyzing subagent execution chains
  • Session path resolver discovers related files (debug logs, plan files, JSONL) for a session
  • Session Dump Command: Export session data in text, markdown, or JSON format
  • VS Code: Sidekick: Dump Session command (Command Palette, status bar, toolbar)
  • CLI: sidekick dump command with --format, --width, and --expand options
  • Shared formatters ensure identical output between VS Code and CLI
  • Plans Panel Re-enabled: Plans UI restored in both VS Code and CLI
  • parsePlanMarkdown() now handles simple bullet points (- Step, * Step)
  • Plan file discovery reads from ~/.claude/plans/ via session slug cross-reference
  • Plans panel re-enabled in CLI dashboard as fallback data source
  • OpenCode & Codex Provider Improvements:
  • OpenCode model tier mapping (tiers resolve to concrete model IDs instead of being dropped)
  • Codex subagent scanning via forked_from_id (database + filesystem)
  • getCurrentUsageSnapshot() for real-time token tracking on Codex and Claude Code
  • New Phrase Categories: 3 new categories (25 phrases each) — Rubber Duck, Dependency Hell, Stack Overflow

Fixed

  • Destructive command false positives: /dev/null, /dev/stdout, /dev/stderr redirects no longer trigger destructive command alerts
  • Old snapshot format migration: Restoring sessions from pre-0.12.3 snapshots no longer shows empty timeline entries — field names are now migrated from old format

Changed

  • Phrase library deduplicated: Moved ~1,300 lines of identical phrase content from CLI and VS Code into sidekick-shared as a single source of truth (net -1,231 lines of duplication)

[0.12.5] - 2026-02-24

Fixed

  • CLI update check too slow to notice new versions: Reduced npm registry cache TTL from 24 hours to 4 hours so upgrade notices appear sooner after a new release

[0.12.4] - 2026-02-24

Fixed

  • Session crash on upgrade: Fixed d.timestamp.getTime is not a function error when restoring tool call data from session snapshots — Date objects were serialized to strings by JSON but not rehydrated on restore, causing the session monitor to crash on first run after upgrading from 0.12.2 to 0.12.3

[0.12.3] - 2026-02-24

Added

  • Unified Session Aggregation Layer: Types, parsers, DB wrappers, and aggregation logic extracted from the VS Code extension into sidekick-shared, so both the extension and CLI consume a single implementation
  • EventAggregator provides tokens, tools, tasks, subagents, plans, context attribution, compaction, burn rate, and latency tracking for any consumer
  • Snapshot sidecar persistence for fast session resume — avoids replaying the full event log on reconnect
  • Net reduction of ~4,100 lines of duplicated code across the three packages
  • Loading Indicator: Status bar shows a loading spinner during initial session replay so it's clear the dashboard is catching up
  • Latest-Node Indicator: The most recently added node is visually marked
  • VS Code mind map: subtle pulse animation on the latest D3 node
  • CLI mind map: yellow marker on the latest tree/boxed node
  • Plan Analytics: Agent plans are now a first-class, analytically-rich data type across the VS Code extension and CLI
  • Enriched plan data model: Plan steps track complexity (low/medium/high), timing, token usage, tool call counts, cost, and error messages
  • Complexity detection: Automatic classification from explicit markers ([high], [low]) and keyword heuristics (refactor → high, fix → low)
  • Mind Map enrichments (VS Code): Plan step nodes color-coded by complexity (red=high, yellow=medium, green=low), sized by token usage, enriched tooltips
  • CLI plan display: Tree and boxed mind map views show progress bars, per-step metrics, and completion stats
  • Cross-provider plan extraction: Shared PlanExtractor handles Claude Code, OpenCode, and Codex plans — CLI no longer ignores Claude Code and OpenCode plans
  • Handoff integration: Session handoff documents include a "Plan Progress" section with completed/remaining steps
  • Plan-to-cost attribution: Per-step dollar cost via ModelPricingService
  • Mind Map Legend Interaction (VS Code): Legend items are now clickable and hoverable
  • Hover highlights all nodes of that category; everything else fades
  • Click locks the highlight in place; click again to clear
  • Mind Map Phase Grouping (VS Code): Plan steps with phases are grouped under intermediate phase nodes with sequential inter-phase links
  • CLI Node Type Filter: Press f on the Mind Map tab to cycle through node type filters — non-matching sections render dimmed

Fixed

  • Kanban board regression: Subagent and plan-step tasks now correctly appear in the kanban board — previously they were lost during the aggregation refactor
  • First-load performance (VS Code): Suppressed hundreds of wasteful UI update events during initial session replay, making the first load noticeably faster

Changed

  • Plan UI surfaces temporarily disabled: Dashboard Plan Progress/History sections, Plans sidebar panel (VS Code), Plans panel (CLI), and plan persistence are disabled until plan-mode event capture is reliably working end-to-end. Plan nodes in the mind map remain active.
  • CLI DashboardState now delegates to shared EventAggregator instead of maintaining its own aggregation logic

[0.12.2] - 2026-02-23

Added

  • CLI update notifications: The CLI dashboard now checks npm for newer versions on startup (cached for 24h) and shows a yellow banner in the status bar when an update is available
  • Extension CLI version check: When opening the CLI dashboard from VS Code, the extension checks if the installed CLI version is outdated and offers a one-click update

[0.12.1] - 2026-02-23

Fixed

  • CLI dashboard launch from VS Code: Fixed exit code 127 when launching the CLI dashboard via the "Open CLI Dashboard" command on systems using nvm, volta, or other Node version managers. The terminal now injects the CLI's bin directory into PATH so the node binary is found when shell init is bypassed by shellPath.
  • CLI discovery for nvm users: Added nvm installation paths (~/.nvm/versions/node/*/bin/) to the common path scan so the CLI is discovered without relying on which.
  • GitHub Release assets: The .vsix extension file is now attached to each GitHub Release for direct download.

[0.12.0] - 2026-02-22

Added

  • Truncation Detection: Detects when agent tool outputs are silently truncated by the runtime
  • Scans every tool result for 6 known truncation markers ([Response truncated, content_too_long, <response clipped>, etc.)
  • Dashboard shows total truncation count and per-tool breakdown with warning indicator
  • Truncation events recorded on SessionStats for handoff and summary consumption
  • Files with 3+ truncated outputs automatically surfaced as knowledge note candidates (gotcha type)
  • Context Health Monitoring: Tracks context fidelity as compactions degrade the conversation
  • Fidelity score starts at 100% and decreases with each compaction event based on count and reclaimed percentage
  • Color-coded dashboard gauge: green (70-100%), yellow (40-69%), red (below 40%)
  • Handoffs include a "Context Health Warning" section when fidelity drops below 50%
  • Score available on SessionStats.contextHealth for downstream consumers
  • Goal Gates: Automatic detection and visual flagging of critical tasks
  • Tasks flagged when matching critical keywords (CRITICAL, MUST, blocker, required, etc.) or blocking 3+ other tasks
  • isGoalGate property on TaskCard, PersistedTask, and TaskSummaryItem
  • Kanban board: red left border and warning badge on goal-gate cards
  • Mind map: isGoalGate property on task nodes for distinct visual treatment
  • Tasks pending across multiple sessions auto-flagged as goal gates in TaskPersistenceService
  • Incomplete goal gates get a dedicated section in handoff documents
  • Cycle Detection: Identifies when agents enter repetitive tool-call loops
  • Sliding-window algorithm (cycleDetector.ts) with configurable window size (default: 10 calls)
  • Detects repeating patterns of length 1-3 with 2+ repetitions via signature hashing
  • VS Code warning notification with affected file list when cycles are detected
  • Throttled to 60-second intervals to avoid notification spam
  • SessionAnalyzer emits cycle_detected inefficiency type
  • Mind map marks cycling files with isCycling indicator (checked at 6 and 10-call windows)
  • Comprehensive test suite for the detection algorithm
  • "Open CLI Dashboard" VS Code Command: New command Sidekick: Open CLI Dashboard launches the Sidekick TUI dashboard in a VS Code terminal, providing quick access to session monitoring without leaving the editor
  • Install the CLI separately with npm install -g sidekick-agent-hub

Fixed

  • retry_loop inefficiency detection: Now properly emits when consecutive fail-retry pairs are detected on the same tool and target (previously counted failures but never produced inefficiency entries)
  • command_failure inefficiency detection: Now correctly filters to only failed Bash calls and emits when the same base command fails 3+ times

[0.11.0] - 2026-02-19

Added

  • Knowledge Notes System: Capture reusable knowledge (gotchas, patterns, guidelines, tips) attached to files with lifecycle tracking
  • Manual Notes: Select code, right-click → "Add Knowledge Note", choose type (gotcha, pattern, guideline, tip), enter content
  • Gutter Icons: Distinct SVG icons per note type appear in the editor gutter next to annotated lines
  • Hover Tooltips: Hover over gutter icons to see note content, type, status, and importance
  • Tree View: "Knowledge Notes" panel in the Session Monitor sidebar groups notes by file with click-to-navigate
  • Staleness Lifecycle: Notes transition through active → needs review (30 days) → stale (90 days) → obsolete (file deleted), with importance-weighted decay
  • Auto-Extraction: Repeated errors on the same file, recovery patterns, and file-specific guidance suggestions automatically generate candidate notes in the dashboard for review
  • Auto-Surfacing: Active knowledge notes for touched files are injected into GuidanceAdvisor analysis prompts to avoid duplicate suggestions
  • Mind Map Integration: Active notes appear as amber nodes linked to their file nodes (or session root if file not in graph)
  • CLAUDE.md Injection: New command Sidekick: Inject Knowledge Notes appends a ## File-Specific Knowledge section to your instruction file
  • Note Management: Right-click notes in the tree view to edit (content, type, importance), delete, or confirm (reset staleness)
  • Persisted in ~/.config/sidekick/knowledge-notes/{projectSlug}.json
  • New commands: Sidekick: Add Knowledge Note, Edit Knowledge Note, Delete Knowledge Note, Confirm Knowledge Note
  • Multi-Session Project Timeline: Chronological view of all sessions in the current project
  • Session Cards: Each session displayed as a card with label, relative time, duration, and message count
  • Duration Bars: Visual bar proportional to session length relative to the longest session
  • Metadata Badges: Token count, task count, error count, and model name shown as color-coded badges
  • Time Range Filtering: Toggle between 24h, 7d, 30d, and All ranges
  • Expandable Details: Click a session card to load and display tool usage breakdown, task list, and error summaries
  • Open in Dashboard: Click the open button on any session to load it in the Session Analytics dashboard
  • Auto-Refresh: Timeline updates on session start/end and debounced (10s) on token usage events
  • Registered as "Project Timeline" webview in the Session Monitor sidebar

[0.10.3] - 2026-02-19

Added

  • Mind Map Circular Layout: Toggle between the organic force-directed layout and a clean static circular layout
  • New "Circular" button in the mind map header to switch layout modes
  • Session node centered with peripheral nodes arranged on a circle, grouped by type and sorted alphabetically
  • Curved bezier links between peripheral nodes, straight radial spokes from session to peripherals
  • Smooth 600ms animated transitions when toggling between layouts
  • Drag disabled in circular mode; zoom and pan still work
  • "Reset Layout" recalculates circular positions when in circular mode
  • New data arriving in circular mode snaps to recalculated positions
  • Window resize recalculates layout in both modes

[0.10.2] - 2026-02-19

Fixed

  • Notification replay on session load: Notification triggers (destructive command, credential access, compaction, token threshold) no longer fire for historical events when a session is first loaded — only live events trigger notifications
  • SubagentScanner log spam: "Directory does not exist" message now logs once per path instead of every 2-second poll cycle

[0.10.1] - 2026-02-19

Fixed

  • Fixed broken image references in Marketplace README (old asset filenames replaced with current ones)
  • Updated Marketplace keywords to reflect multi-provider rebrand

[0.10.0] - 2026-02-18

Added

  • Multi-Provider Inference: Support for OpenCode and Codex CLI as inference providers alongside Claude Max and Claude API
  • New sidekick.inferenceProvider setting with auto-detection based on installed CLI agents
  • Provider auto-detection picks the most recently active agent via filesystem timestamps
  • "Switch Inference Provider" command and status bar quick-pick
  • Multi-Provider Session Monitoring: Monitor sessions from OpenCode (~/.local/share/opencode/) and Codex CLI (~/.codex/sessions/)
  • New sidekick.sessionProvider setting with auto-detection
  • Each provider normalizes raw data into a common ClaudeSessionEvent format
  • Model Resolver with Tier System: Unified model selection via tiers (fast/balanced/powerful) with auto-detection per feature
  • "auto" resolves to a per-feature default tier (e.g., inline completions → fast, transforms → powerful)
  • Legacy names (haiku/sonnet/opus) map through LEGACY_TIER_MAP
  • Tiers map to provider-specific model IDs via DEFAULT_MODEL_MAPPINGS
  • Session Handoff System: Provider-aware context handoff documents for seamless session continuation
  • Configurable via sidekick.autoHandoff setting: off, generate-only, generate-and-notify
  • Targets the correct instruction file per provider (CLAUDE.md, AGENTS.md, etc.)
  • Stored in ~/.config/sidekick/handoffs/
  • Cross-Session Task Persistence: Tasks from Kanban board persist across sessions in ~/.config/sidekick/tasks/{projectSlug}.json
  • Decision Log Extraction: Tracks and persists architectural decisions from sessions in ~/.config/sidekick/decisions/{projectSlug}.json
  • Event Logging Audit Trail: Optional JSONL event logging for debugging
  • New settings: sidekick.enableEventLog, sidekick.eventLogMaxSizeMB, sidekick.eventLogMaxAgeDays
  • Stored in ~/.config/sidekick/event-logs/
  • Plan Visualization: Step nodes with status indicators in mind map view
  • Documentation Site: Material for MkDocs documentation with GitHub Pages deployment

Changed

  • Rebranded from "Sidekick for Max" to "Sidekick Agent Hub"
  • Removed RSVP Speed Reader feature
  • Deprecated sidekick.authMode in favor of sidekick.inferenceProvider (auto-migration on first activation)

Fixed

  • Codex CLI: replaced @openai/codex-sdk with direct CLI spawning for reliable inference
  • Multiple provider parity fixes for OpenCode and Codex CLI

[0.9.1] - 2026-02-15

Added

  • Subagent Cards on Kanban Board: Spawned subagents (via the Task tool) now appear as cards on the Kanban board
  • Each subagent spawn creates an "In Progress" card with the agent's description as the title
  • Cards show agent type chip (e.g. "Explore", "Plan", "Bash") with cyan accent
  • Cards move to "Completed" when the subagent finishes (or are removed on failure)
  • Visually distinguished from regular tasks with a cyan left border
  • Header summary shows separate counts (e.g. "3 tasks, 2 agents")

Fixed

  • Kanban board refresh on subagent completion: Board now updates immediately when a subagent finishes instead of waiting for the next tool call

[0.9.0] - 2026-02-14

Added

  • Context Token Attribution: Stacked bar chart in the dashboard showing where your context window budget goes
  • Classifies tokens into 7 categories: System Prompt, CLAUDE.md, User Messages, Assistant Responses, Tool Inputs, Tool Outputs, Thinking
  • Helps identify what's consuming context (e.g., large tool outputs, verbose CLAUDE.md)
  • Updates in real-time as the session progresses
  • Notification Triggers: Configurable alerts for concerning Claude Code activity
  • Built-in triggers: .env/credential file access, destructive commands (rm -rf, git push --force), tool error bursts, context compaction
  • Token threshold alerts when cumulative usage exceeds a configurable limit
  • Fires VS Code notifications so you can monitor autonomous sessions
  • New settings: sidekick.notifications.enabled, sidekick.notifications.triggers.*, sidekick.notifications.tokenThreshold
  • Compaction Detection: Context compaction events (summary type) are now processed and visualized
  • Shows compaction markers in the activity timeline
  • Tracks context size deltas so you know how much was lost
  • Timeline Search & Filtering: Full-text search within the activity timeline
  • Search input with instant client-side filtering across all events
  • Timeline cap removed during search so all events are searchable
  • Filter toggles for message noise classification (system reminders, sidechain detection)
  • Conversation Viewer: Full editor tab showing the complete session conversation
  • Chat-style rendering with user (blue), assistant (green), tool (collapsible), and compaction chunks
  • Built-in search for finding content within the conversation
  • New command: Sidekick: View Session Conversation
  • Cross-Session Search: Search across all Claude Code sessions in ~/.claude/projects/
  • VS Code QuickPick interface with debounced search and context snippets
  • Icons per event type (user, assistant, tool_use)
  • Click results to open the session file
  • New command: Sidekick: Search Across Sessions
  • Rich Tool Call Inspector: Full editor tab with specialized tool call rendering
  • Read: file path with range info
  • Edit: inline diff-style display (red deletions, green additions)
  • Bash: formatted command with description
  • Grep/Glob: search parameters
  • Filter buttons by tool type, expandable detail panels
  • New command: Sidekick: Open Tool Inspector

Improved

  • Message Noise Classification: Timeline now respects the isSidechain flag and filters system metadata
  • Heuristic detection for system reminders, permission checks, and noise events
  • Filter toggles in the dashboard to show/hide noise
  • Enhanced Subagent Visualization: Subagent tree now shows richer metrics
  • Per-agent token usage (input + output) with "42K tok" display
  • Duration tracking ("1m 23s")
  • Parallel execution detection (agents with overlapping timestamps shown with layers icon)
  • Stats enriched from SubagentFileScanner token extraction
  • Tool Analytics Drill-Down: Clicking a tool analytics row now shows individual tool calls with timing and metadata

[0.8.5] - 2026-02-14

Fixed

  • Accurate cost estimation: Session costs now use actual per-model input/output/cache token breakdown instead of a 50/50 approximation — affects Dashboard, Session Summary, and historical exports
  • Toggle command persistence: Sidekick: Toggle now updates the sidekick.enabled config so the inline completion provider respects the toggle state
  • XSS hardening in RSVP reader: Replaced innerHTML with DOM API in the word display to prevent injection from user-selected text
  • Session re-initialization: Stop Monitoring now passes workspaceState when re-creating the SessionMonitor, preserving custom session path persistence
  • Overly broad completion filter: The however conversational pattern no longer rejects valid code completions containing the word "however" mid-line — now only matches conversational "However," at the start of a line
  • COLUMN_ORDER mismatch: Removed stale 'deleted' column from the Task Board inline script that never received data from the extension
  • SVG in binary filter: Removed .svg from BINARY_EXTENSIONS in the diff filter — SVG is text-based XML and should be included in diffs
  • JSDoc default mismatch: Corrected truncateDiffIntelligently docs from "defaults to 3500" to the actual default of 8000
  • Timer leak on dispose: Dashboard now clears _richerPanelTimer timeout on dispose

Improved

  • Shared utilities extraction: Consolidated 6 duplicate getNonce() implementations, 2 duplicate extractTaskIdFromResult() implementations, and scattered markdown fence-stripping regexes into shared modules (utils/nonce.ts, utils/taskHelpers.ts, utils/markdownUtils.ts)
  • Type safety: Replaced (block as any) casts with a proper isTypedBlock() type guard in SessionMonitor; typed handleTokenUsage parameter in MonitorStatusBar; resolved WebviewMessage name collision by renaming to DashboardWebviewMessage and RsvpWebviewMessage
  • Dead code removal: Removed always-true ternary in TaskBoard, unused _pendingMode/_pendingComplexity fields in RsvpViewProvider, and identical if (language === 'python') branch in DocumentationService
  • Dependency direction: Moved analysis types (AnalyzedError, ToolPattern, etc.) from services/SessionAnalyzer to types/analysis.ts so utility modules no longer import from services
  • Event deduplication: seenHashes pruning now retains 75% of entries (was 50%) to reduce re-processing window during high-throughput sessions
  • Polling guard: TempFilesTreeProvider 2-second subagent scan now skips when no session is active

[0.8.4] - 2026-02-14

Improved

  • Collapsible Session Navigator: The Sessions panel in the dashboard sidebar is now collapsible
  • Click the header to expand/collapse the session list
  • Expanded by default; chevron rotates to indicate state
  • Pin, Refresh, and Browse buttons remain independently clickable

[0.8.3] - 2026-02-10

Improved

  • Dashboard UX polish: Improved layout and feedback for the Session Summary and Session tabs
  • Moved "Generate AI Narrative" button to top of Summary tab, immediately after the metrics row, so it's visible without scrolling
  • Added progress notification with time estimate when generating narratives (VS Code notification + inline spinner with "~15-30s" message)
  • Reorganized Session tab from one monolithic "Session Details" section into three thematic groups:
    • Session Activity — Activity Timeline, File Changes, Errors
    • Performance & Cost — Model Breakdown, Tool Analytics, Tool Efficiency, Cache Effectiveness, Advanced Burn Rate
    • Tasks & Recovery — Task Performance, Recovery Patterns
  • Promoted richer panels (Task Performance, Cache, Recovery, etc.) from nested collapsibles to always-visible sections within their group — one click to expand, no double-expand needed

[0.8.2] - 2026-02-07

Added

  • Kanban Board: TaskCreate/TaskUpdate activity now appears in a dedicated Kanban view
  • Groups tasks by status with real-time updates
  • Collapsible columns with hidden-task summaries

[0.8.1] - 2026-02-07

Fixed

  • Mind map layout recovery for dense subagent graphs (#8)
  • Added a Reset Layout control to rebuild the D3 simulation and recenter on the main session node without refreshing the view
  • Tuned force behavior to keep clusters compact and readable (localized many-body repulsion, adaptive link distance/collision spacing, gentle x/y centering)

[0.8.0] - 2026-02-04

Added

  • CLAUDE.md Suggestions: AI-powered session analysis for optimizing Claude Code usage
  • Analyzes session patterns to detect recovery strategies (when Claude gets stuck and how it recovers)
  • Generates best practices and suggestions for your CLAUDE.md file
  • Progress UI with collapsible suggestion panels in the dashboard
  • Helps you learn from your own Claude Code sessions

Changed

  • Refactored prompts to use XML tags for better AI instruction structure

[0.7.10] - 2026-02-03

Added

  • Historical Analytics: Retroactive data import from existing Claude Code sessions
  • Import token usage, costs, and tool statistics from completed sessions
  • Enables trend analysis across multiple sessions
  • Response Latency Tracking: Real-time latency metrics in dashboard
  • Track request-to-response timing for Claude API calls
  • Visualize latency trends over the session
  • Task Nodes in Mind Map: Task tool calls visualized as distinct nodes
  • Spawned Task agents appear as nodes with their descriptions
  • Shows task type and status in the mind map
  • Dashboard UX: Improved metric button layout and sizing
  • Better visual hierarchy for metric controls
  • More consistent button sizing across the dashboard

[0.7.9] - 2026-02-02

Fixed

  • Custom folder session auto-discovery: Fixed automatic detection of new sessions (e.g., after /clean) when monitoring a custom folder
  • performNewSessionCheck() now respects the custom session directory instead of always using the workspace path

[0.7.8] - 2026-02-02

Added

  • Mind Map: Directory & Command Nodes: Grep/Glob and Bash tool calls now show their targets in the mind map
  • Directory nodes (brown) show paths searched by Grep/Glob tools
  • Command nodes (red) show command types executed by Bash (git, npm, docker, etc.)
  • Tooltips display detailed context:
    • Directory nodes show search patterns used (e.g., *.ts, TODO)
    • Command nodes show actual commands executed (e.g., npm install, git status)
  • Node sizes scale with usage frequency
  • Mind Map: Auto-Focus on Activity: Mind map automatically pans to show new activity
  • Focuses on newly added nodes or the latest tool-to-file/URL connection
  • Preserves user's zoom level while adjusting pan position
  • Smooth easing animation for comfortable viewing

Fixed

  • Custom folder new session detection: Browsing to a custom folder now properly detects new sessions when Claude Code starts
  • Previously, discovery polling used the workspace path instead of the custom directory
  • Now correctly watches and polls the custom directory for new sessions
  • Entering discovery mode (waiting for session) works correctly with custom paths
  • Folder picker prioritization: The "Browse Session Folders" list now prioritizes the current VS Code workspace
  • Exact workspace match appears first
  • Subdirectories of the workspace appear next
  • Other folders sorted by most recent activity
  • Session dropdown custom folder: Session dropdown now correctly shows sessions from the selected custom folder instead of the workspace folder

[0.7.7] - 2026-02-02

Added

  • Browse Session Folders: Manually select any Claude project folder to monitor, regardless of workspace path
  • New "Browse..." button in the Session Analytics dashboard next to the session dropdown
  • Command palette: "Sidekick: Browse Session Folders..." to browse all Claude project folders in ~/.claude/projects/
  • Shows decoded human-readable paths, session counts, and last activity time
  • Selection persists across VS Code restarts (stored per-workspace)
  • Custom path indicator shows when using a manually selected folder
  • "Reset to Auto-Detect Session" command to clear custom selection and revert to workspace-based discovery
  • Useful when Claude Code is running in a subdirectory or different path than your VS Code workspace
  • Token Usage Tooltips: Hover over token metrics to see quota projections and estimated time to exhaustion
  • Activity Timeline Enhancements: Claude's text responses now visible in the activity timeline alongside tool calls
  • Mind Map Subagent Visibility: Spawned Task agents now appear as distinct nodes in the mind map visualization
  • Dynamic Node Sizing: Mind map nodes scale based on content length for better visual hierarchy
  • Latest Link Highlighting: Most recent connections in the mind map are visually emphasized
  • Line Change Statistics: Files Touched tree view and mind map now show +/- line change counts

Fixed

  • Git Repository Detection: Improved detection for nested git repositories

[0.7.6] - 2026-01-31

Added

  • Subscription Quota Display: View Claude Max subscription usage limits directly in the Session Analytics dashboard
  • Two semi-circular gauges showing 5-hour and 7-day quota utilization
  • Color-coded thresholds: green (<50%), orange (50-79%), red (≥80%)
  • Countdown timers showing when each quota resets (e.g., "Resets in 2h 15m")
  • Reads OAuth token from Claude Code CLI credentials (~/.claude/.credentials.json)
  • Auto-refreshes every 30 seconds when dashboard is visible
  • Gracefully hidden when using API key mode or no OAuth token available

[0.7.5] - 2026-01-30

Fixed

  • Subdirectory session discovery: Session monitoring now finds Claude Code sessions started from subdirectories of the workspace (#7)
  • When VS Code workspace is /project but Claude Code starts from /project/packages/app, the extension now correctly discovers and monitors that session
  • Uses prefix-based matching with most-recently-active selection when multiple subdirectory sessions exist
  • Prevents false positives (e.g., /project won't match /project-v2)
  • Added subdirectoryMatches and selectedSubdirectoryMatch to session diagnostics for debugging

[0.7.4] - 2026-01-30

Added

  • Mind Map URL Nodes: WebFetch and WebSearch calls now appear as clickable nodes in the session mind map
  • URLs display as cyan nodes showing the hostname (e.g., example.com)
  • Search queries display truncated query text
  • Click URL nodes to open in your default browser
  • Click search query nodes to search Google
  • File nodes remain clickable to open in VS Code editor
  • Visual feedback with pointer cursor and hover brightness effect

[0.7.3] - 2026-01-29

Added

  • Timeout Manager: Centralized, context-aware timeout handling across all AI operations
  • Configurable timeouts per operation type (inline completion, transform, commit message, etc.)
  • Auto-adjustment based on context/prompt size
  • Progress indication with cancellation support
  • "Retry with longer timeout" option when requests timeout
  • New Settings:
  • sidekick.timeouts.inlineCompletion: Timeout for inline completions (default: 15s)
  • sidekick.timeouts.transform: Timeout for code transforms (default: 60s)
  • sidekick.timeouts.commitMessage: Timeout for commit message generation (default: 30s)
  • sidekick.timeouts.documentation: Timeout for documentation generation (default: 30s)
  • sidekick.timeouts.explanation: Timeout for code explanations (default: 45s)
  • sidekick.timeouts.errorExplanation: Timeout for error explanations (default: 30s)
  • sidekick.timeouts.inlineChat: Timeout for inline chat (default: 60s)
  • sidekick.timeouts.preCommitReview: Timeout for pre-commit review (default: 60s)
  • sidekick.timeouts.prDescription: Timeout for PR description generation (default: 45s)

Changed

  • All AI services now use TimeoutManager for consistent timeout behavior
  • Added AbortSignal support to completion options for proper request cancellation

[0.7.2] - 2026-01-29

Fixed

  • Session path encoding on Windows/Mac: Fixed issue where session monitoring couldn't find Claude Code sessions on some systems (#6)
  • Improved path encoding to handle colons, slashes, and underscores correctly
  • Added 3-strategy discovery fallback when computed path doesn't match
  • Added session directory to diagnostics command for debugging

[0.7.1] - 2026-01-29

Fixed

  • Silent timeout on inline completions: Completions that timed out would silently fail with no user feedback (#5)
  • Now shows a warning notification when requests timeout, with options to open settings or view logs
  • Added TimeoutError class that survives the error chain for proper identification
  • Other completion errors now also show user-friendly messages

Added

  • New Setting: sidekick.inlineTimeout - Configurable timeout for inline completions (default: 15s, was hardcoded 30s)
  • Increase if you frequently experience timeouts when Claude servers are slow
  • Range: 5-120 seconds

Changed

  • Reduced default inline completion timeout from 30s to 15s for faster feedback when servers are slow

[0.7.0] - 2026-01-29

Added

  • Claude Code Session Monitor: A comprehensive real-time analytics dashboard for monitoring Claude Code sessions
  • Session Analytics Dashboard: Track token usage, costs, and session activity in a dedicated sidebar panel
    • Real-time token consumption and cost tracking with model-specific pricing
    • Context window gauge showing input/output token usage vs. limits
    • Session selector dropdown to switch between active and recent sessions
    • Activity timeline displaying user prompts, tool calls, errors, and subagent spawns
    • Tool analytics with categorization (file operations, search, bash commands, etc.)
    • Automatic session discovery when Claude Code starts new sessions
  • Mind Map Visualization: Interactive D3.js force-directed graph showing session structure
    • Visualizes conversation flow, tool usage, and file relationships
    • Interactive nodes for exploring how Claude navigates your codebase
    • Real-time updates as the session progresses
  • Latest Files Touched: Tree view showing files modified during Claude Code sessions
    • Quick access to recently edited files
    • Shows file status (created, modified, deleted)
  • Subagents Tree: Monitor spawned Task agents during complex operations
    • Track subagent status (running, completed, failed)
    • View subagent prompts and results
  • Status Bar Metrics: Real-time session status in the VS Code status bar
    • Shows active session indicator and quick access to dashboard
  • New Commands:
    • Sidekick: Open Session Dashboard - Open the analytics dashboard
    • Sidekick: Start Session Monitoring - Begin monitoring Claude Code sessions
    • Sidekick: Stop Session Monitoring - Pause monitoring
    • Sidekick: Refresh/Find Session - Discover new sessions
  • Activity Bar Integration: New "Session Monitor" icon in the activity bar with all monitoring views
  • New Setting:
  • sidekick.enableSessionMonitoring: Enable/disable Claude Code session monitoring (default: true)

Technical

  • Added JSONL parser with line buffering for efficient session log parsing
  • Added session path resolver for cross-platform Claude Code directory detection
  • Added model pricing service with accurate per-token cost calculation
  • Added burn rate calculator for token consumption tracking

[0.6.0] - 2026-01-26

Added

  • Generate Documentation: Automatically generate JSDoc/docstrings for functions, classes, and methods

  • Press Ctrl+Shift+D (Cmd+Shift+D on Mac) with cursor in a function

  • Supports all major languages (TypeScript, JavaScript, Python, etc.)
  • Configurable model via sidekick.docModel (default: haiku)
  • Explain Code: Get AI-powered explanations for selected code

  • Press Ctrl+Shift+E (Cmd+Shift+E on Mac) with code selected

  • Five complexity levels: ELI5, Curious Amateur, Imposter Syndrome, Senior, PhD Mode
  • Rich webview panel with markdown rendering
  • Regenerate with custom instructions
  • Configurable model via sidekick.explainModel (default: sonnet)
  • Error Explanations: Understand and fix errors with AI assistance

  • Lightbulb quick action on diagnostics: "Explain Error with AI"

  • "Fix Error with AI" command applies suggested fixes directly
  • Five complexity levels for explanations
  • Configurable model via sidekick.errorModel (default: sonnet)
  • Quick Ask (Inline Chat): Ask questions about code without leaving the editor

  • Press Ctrl+I (Cmd+I on Mac) to open quick input

  • Ask questions or request code changes
  • Diff preview for proposed changes with Accept/Reject
  • Context-aware: uses selected code or cursor context
  • Configurable model via sidekick.inlineChatModel (default: sonnet)
  • Pre-commit AI Review: Review your changes before committing

  • Click the eye icon in Source Control toolbar

  • AI analyzes staged/unstaged changes for issues
  • Highlights bugs, security concerns, code smells
  • Results shown as inline decorations in editor
  • Configurable model via sidekick.reviewModel (default: sonnet)
  • PR Description Generation: Generate pull request descriptions automatically

  • Click the PR icon in Source Control toolbar

  • Analyzes all commits on your branch vs base branch
  • Generates summary, change list, and test plan
  • Copies to clipboard, ready to paste
  • Configurable model via sidekick.prDescriptionModel (default: sonnet)
  • Context Menu Submenu: All Sidekick commands organized under "Sidekick" submenu

  • Quick Ask, Generate Docs, Explain Code, Explain Error, Fix Error, Transform, RSVP Reader

  • Complexity level submenus for Explain Code and RSVP Reader
  • Completion Hint: Visual indicator suggesting AI completion shortcut

  • Shows hint at cursor after typing stops

  • Configurable delay via sidekick.completionHintDelayMs (default: 1500ms)
  • Toggle via sidekick.showCompletionHint (default: true)

Fixed

  • Claude CLI path resolution: Fixed "Claude Code native binary not found" error when Claude is in PATH but not in common installation directories (#4)
  • Now uses which (Unix) or where (Windows) to resolve the absolute path
  • Better error messages with installation instructions

Changed

  • Shortened "Explain Code" command title for cleaner context menus
  • Bidirectional integration between Explain Code and RSVP Reader (read explanations in RSVP mode)

[0.5.0] - 2025-01-24

Added

  • RSVP Reader: Speed reading with AI-powered explanations for selected text
  • Select text and press Ctrl+Shift+R (Cmd+Shift+R on Mac) to open the RSVP Reader panel
  • Word-by-word display with ORP (Optimal Recognition Point) highlighting reduces eye movement and increases reading speed
  • Adjustable reading speed from 100-900 WPM with real-time controls
  • Five AI explanation complexity levels:
    • ELI5 - Complete beginner explanations with simple analogies
    • Curious Amateur - Learning mode with defined technical terms
    • Imposter Syndrome - Fill knowledge gaps, assume basic familiarity (default)
    • Senior - High-level summary, skip basics, highlight key details
    • PhD Mode - Expert-level analysis without simplification
  • Dual content modes: Toggle between original text and AI-generated explanation
  • Two reading modes: RSVP (word-by-word) or full-text scrollable view
  • Context menu integration: Right-click selected text → "Sidekick: RSVP Reader" submenu
  • Rich keyboard controls:
    • Space: Play/Pause
    • Left/Right arrows: Navigate words
    • Up/Down arrows: Adjust speed (±50 WPM)
    • R: Restart from beginning
    • O: Toggle original/explanation
    • F: Toggle full-text mode
  • Regenerate explanations with custom instructions
  • Intelligent content classification (prose/technical/code) for tailored explanations
  • VS Code theme-aware UI with dark/light mode support
  • New Settings:
  • sidekick.rsvpMode: Default reading mode (direct/explain-first)
  • sidekick.explanationComplexity: Default AI explanation level
  • sidekick.explanationModel: Model for explanations (haiku/sonnet/opus, default: sonnet)

[0.4.0] - 2025-01-21

Added

  • AI Commit Message Generation: Generate commit messages from your staged changes with a single click
  • Sparkle button in Source Control toolbar triggers generation
  • Analyzes git diff to create contextual commit messages
  • Supports Conventional Commits format or simple descriptions (sidekick.commitMessageStyle)
  • Configurable model selection (sidekick.commitMessageModel, defaults to Sonnet)
  • Default guidance setting for consistent commit style (sidekick.commitMessageGuidance)
  • Regenerate with custom guidance (e.g., "focus on the bug fix", "make it shorter")
  • Automatically filters out binary files, lockfiles, and generated code from diff analysis
  • Intelligent diff truncation at file boundaries for large changesets
  • New Settings:
  • sidekick.commitMessageModel: Model for commit messages (haiku/sonnet/opus, default: sonnet)
  • sidekick.commitMessageStyle: Format style (conventional/simple, default: conventional)
  • sidekick.commitMessageGuidance: Default guidance applied to all commit messages
  • sidekick.showCommitButton: Toggle visibility of the commit message button

[0.3.2] - 2025-01-21

Added

  • Custom Claude CLI path setting (sidekick.claudePath): Specify a custom path to the Claude CLI executable for non-standard installations (pnpm, yarn, volta, etc.)
  • Auto-detection of common CLI paths: Extension now checks common installation locations (pnpm, yarn, volta, npm global, Homebrew) before falling back to PATH

Fixed

  • Fixed "Claude Code CLI not found" error for users who installed Claude CLI via pnpm, yarn, or other package managers (#3)
  • Improved error message with instructions for setting custom CLI path

[0.3.1] - 2025-01-21

Added

  • Demo GIFs in README for better feature visibility
  • Social media preview image

Fixed

  • Minor documentation improvements

[0.3.0] - 2025-01-21

Added

  • Status Bar Menu: Click the status bar to access all extension options
  • Enable/Disable completions
  • Configure Extension settings
  • View Logs
  • Test Connection
  • Set API Key
  • View Logs command: Debug completion issues with the new output channel
  • Test Connection command: Verify API connectivity before troubleshooting
  • Prose file support: Markdown, plaintext, HTML, XML, LaTeX files now automatically use multiline mode with higher character limits
  • Model display: Status bar now shows the current inline model (e.g., "Sidekick haiku")

Changed

  • Debounce default: Increased from 300ms to 1000ms for less aggressive completions
  • Improved prompts: Better prompt engineering to reduce meta-responses and improve completion quality
  • Character limits: Prose files allow up to 2000 chars (single-line) / 3000 chars (multiline); code files allow 500/800 chars

Fixed

  • Reduced "I'll complete this..." and other meta-commentary in completions
  • Better handling of code fence removal in responses
  • Improved truncation logic for long responses (truncates at logical boundaries)

[0.2.0] - 2025-01-10

Added

  • Code Transform feature: Select code and press Ctrl+Shift+M / Cmd+Shift+M to transform it
  • Independent model selection for inline completions and transforms
  • Transform uses Opus by default for highest quality
  • Context lines configuration for transforms (sidekick.transformContextLines)
  • API key authentication mode as alternative to Max subscription

Changed

  • Rebranded from "Claude Code Max" to "Sidekick for Max"
  • Inline completions use Haiku by default (fastest)
  • Transforms use Opus by default (highest quality)

[0.1.0] - 2025-01-09

Added

  • Initial release
  • Inline code completions with ghost text
  • Accept completions with Tab, dismiss with Escape
  • Manual trigger: Ctrl+Shift+Space / Cmd+Shift+Space
  • Toggle completions via status bar
  • Support for Haiku, Sonnet, and Opus models
  • Debounced completion requests
  • Request cancellation for stale completions
  • In-memory LRU cache for repeated contexts
  • Claude Max subscription integration via Claude Code CLI