128 KiB
title, description
| title | description |
|---|---|
| Changelog | Release history for AgentsView |
0.37.5
2026-07-09
New features
- Prefer richer
agy-readertrajectory sidecars when parsing Antigravity IDE sessions, falling back to the existing heuristic decode when a sidecar is missing, malformed, or does not cover the session's database steps.
Improvements
- Speed up configured HTTP full remote syncs by ingesting local and remote
sessions through one batched temporary-database rebuild with FTS suspended,
then rebuilding search once and swapping atomically.
--fullnow reparses every session without retransferring unchanged mirror files from manifest-capable spokes; older HTTP-capable spokes retain the full-archive compatibility fallback.
Bug fixes
-
Identify locally ingested sessions by the machine's hostname instead of the ambiguous
locallabel, and keep full-rebuild safety independent when a configured remote has the same hostname as the collector. -
Remove recommended-plugin context injected into Codex sessions from parsed transcripts so it no longer appears as user-authored content.
-
Include overnight session activity in date-filtered results by matching dates against session activity windows instead of only session start dates.
Acknowledgements
- Thanks to Matthew Jacobs for
agy-readertrajectory sidecar support in Antigravity IDE sessions. - Thanks to Wes McKinney for Codex recommended-plugin filtering, overnight date-filter support, and release documentation.
0.37.4
2026-07-09
New features
- Add incremental HTTP remote sync backed by a persistent per-host mirror. After the initial archive download, the collector compares a remote manifest with its mirror and requests only changed files when fewer than half of the manifest files need fetching. Deleted remote files are removed from the mirror without deleting sessions already stored in the local archive.
Improvements
- Include GPT-5.6 model pricing for the base alias and the Sol, Terra, and Luna variants in the embedded fallback catalog, so fresh installs and offline usage reports can estimate their costs without a network fetch.
- Explain default
session listexclusions on stderr when one-shot or automated sessions are hidden, including the number in each category and the flags that include them. Structured stdout remains unchanged for scripts.
Acknowledgements
- Thanks to Wes McKinney for incremental HTTP remote sync, GPT-5.6 fallback pricing, and release documentation.
- Thanks to Marius van Niekerk for making
the
session listdefault exclusions visible.
0.37.3
2026-07-09
Bug fixes
- Restore optimized SQLite builds for Linux release binaries and Docker
images by preserving Go's default
-O2 -gcgo flags when overridingCGO_CFLAGS, improving full-text search and query performance in those artifacts.
Acknowledgements
- Thanks to Wes McKinney for restoring optimized release and Docker SQLite builds.
0.37.2
2026-07-08
Improvements
- Speed up periodic syncs for unchanged OpenCode-family SQLite containers. Once a full pass has verified every session in a shared OpenCode-format SQLite database, later idle passes can skip the container before per-session fingerprinting by comparing SQLite write markers for the database and WAL.
- Reduce heap retention after large sync backfills by periodically returning memory to the operating system while archived signal and secret recomputations walk large message and tool-result payloads.
Bug fixes
- Show OpenCode tool-call skill names in tool analytics by extracting the
dedicated
skilltool input and applying the existingSKILL.mdinference heuristics to OpenCode read and shell calls. - Shut down watcher-triggered syncs cleanly by threading the server run context through changed-path syncs, prioritizing watcher stop signals, and making unwatched-directory polling exit on cancellation.
- Fix desktop app icon spacing by insetting the shared icon artwork and regenerating the checked-in PNG, ICNS, and ICO assets.
Acknowledgements
- Thanks to Marius van Niekerk for speeding up unchanged OpenCode-family SQLite container syncs.
- Thanks to Rod Boev for OpenCode skill-name extraction and large-backfill memory reductions.
- Thanks to Wes McKinney for watcher shutdown fixes, desktop icon spacing, and release documentation.
0.37.1
2026-07-08
New features
- Add semantic and hybrid search backed by an opt-in local embeddings
index. AgentsView now embeds user-message units and grouped assistant runs,
supports
agentsview embeddings build|list|activate|retire, addssession search --semanticand--hybrid, and returns conversation-unit citation ranges with lineage metadata for sidechain and subagent hits. - Add content-free session summary export with a v1 JSON/NDJSON contract.
agentsview export sessionsemits session metadata, usage totals, pricing provenance, project identity, stable cursors, and reset errors without transcript text. - Add single-session insight analysis from the session header. Session
analysis uses the existing insight-generation pipeline with
agent_analysisplussession_id, builds a prompt from that session's messages, timing, and usage, and stores the result with the other insights. - Add Posit Assistant, Windsurf workspace chat, Qoder, and ZCode session
support. These providers cover Posit Assistant workspace conversations,
Windsurf
workspaceStoragechat state, Qoder project transcripts and sidecars, and ZCode's local SQLite session database. - Add Korean (
ko) localization and register it alongside English, Simplified Chinese, and Traditional Chinese. - Render Mermaid fenced code blocks in markdown messages while keeping the source readable if the Mermaid runtime cannot load.
- Show session context and detailed token breakdowns in usage views, including session-level output-token and peak-context details.
- Add copy buttons for tool blocks, with separate affordances for tool input and output content.
- Add worktree layout mappings in Settings. Worktree mappings now support
both explicit path-prefix mappings and the
repo_dot_worktreeslayout for paths like<prefix>/<repo>.worktrees/<branch>/.... - Add
sync_include_cwd_prefixestoconfig.tomlso local sync can ingest only sessions whose working directory falls under an allowed path prefix.
Improvements
- Render CLI session search results as an aligned table for the default no-context human output, with terminal-width-aware truncation.
- Reduce push sync churn by ignoring volatile stat fields when deciding PostgreSQL push candidates and by lowering DuckDB write amplification.
- Keep unchanged OpenCode-family container sessions out of sync updates, so container rows that did not change no longer churn during sync.
Bug fixes
- Parse Codex custom tool calls correctly so custom tool invocations are preserved as tool blocks instead of falling through malformed paths.
- Apply
config.tomlport settings to the active server config before startup, so configured ports affect the runtime server just like CLI flags. - Preserve calendar range picker selections after range changes in the frontend.
- Apply agent exclusions consistently in usage filters, including Usage API and frontend paths that previously missed the exclusion set.
- Include subagent sessions in activity report cost totals, matching the session rows that contribute to the report.
- Map OhMyPi
parentSessionheaders toparent_session_id, preserving parent-child lineage for OMP transcripts. - Skip local git discovery for sessions from other machines, avoiding host-local repository probes for synced foreign-machine sessions.
- Fix Linux release builds by compiling the sqlite-vec cgo bindings
against the SQLite header bundled with
mattn/go-sqlite3. This is why the release ships as 0.37.1: the 0.37.0 tag never produced binaries.
Acknowledgements
- Thanks to Wes McKinney for semantic search, session summary export, activity cost fixes, foreign-machine git-discovery safeguards, the Linux release-build fix, and release documentation.
- Thanks to Rod Boev for Windsurf workspace chat, Qoder and ZCode support, Mermaid rendering, usage context and token breakdowns, worktree layout mappings, tool-block copy buttons, single-session insight analysis, and the Codex custom tool-call fix.
- Thanks to Matthew Jacobs for aligned CLI session search output and OMP parent-session lineage mapping.
- Thanks to Elliot Murphy for Posit Assistant session support.
- Thanks to Rob Schilder for
sync_include_cwd_prefixesingestion filtering. - Thanks to Phillip Cloud for PostgreSQL and DuckDB push-churn reductions, OpenCode-family sync churn fixes, and calendar range picker preservation.
- Thanks to Mr Koala for applying configured port settings to the active runtime config.
- Thanks to Prateek Rungta for consistent usage agent-exclusion filtering.
- Thanks to Leuconoe for the Korean (
ko) localization. - Thanks to Marius van Niekerk for recurring sync and database performance benchmark gates.
0.36.1
2026-07-03
New features
- Add Devin CLI session support. AgentsView now discovers Devin CLI roots,
reads local session data from the
cli/subtree, parses Devin messages and tool activity, includes Devin in supported-agent metadata, and documents the safe root to share when filing bug reports. - Extend
parse-diffdiagnostics for sessions last written through the incremental-append path. These rows are now classified asincremental_skew, excluded from--fail-on-change, and accompanied by guidance to run a full resync for a clean parser-drift baseline. - Report Antigravity
gen_metadatawithout usage anomalies in sync summaries, so operators can spot Antigravity records that contain generation metadata but did not produce normalized usage totals.
Improvements
- Show clearer startup and resync state while AgentsView initializes.
Background startup now publishes the daemon PID, elapsed time, current phase,
progress detail, and log path for
agentsview serve status, while full resyncs print durable phase and completion lines. - Improve remote sync configuration and error reporting. HTTP remote sync now validates configured hosts more directly, keeps ad hoc HTTP remotes unsupported, and maps common failures such as token rejection, missing remote endpoints, connection refusal, DNS failures, and timeouts to actionable messages.
- Refresh frontend controls and dialogs by migrating the Svelte UI to the
shared
@kenn-io/kit-uicomponents, making filters, range pickers, dialogs, settings controls, copy buttons, refresh controls, and related interaction states more consistent across pages.
Bug fixes
- Discover OhMyPi sessions with a leading title slot, matching the current OMP/Pi-style transcript shape instead of skipping those files.
- Reparse in-place Claude rewrites even when the source file size and mtime are unchanged, so same-length edits no longer leave stale stored messages.
- Fix data-version resync completion so preserved orphaned sessions and sessions copied through an aborted-resync fallback still receive the backfills they need instead of being treated as fully rewritten.
- Scope PostgreSQL session-alias backfill markers per push target, so one PostgreSQL destination cannot incorrectly satisfy or block the required full alias backfill for another target.
Acknowledgements
- Thanks to Aaron Florey for Devin CLI session discovery and parsing.
- Thanks to Matthew Jacobs for
parse-diffincremental-skew diagnostics, OMP leading-title discovery, Antigravitygen_metadataanomaly reporting, and the same-size same-mtime Claude rewrite fix. - Thanks to Wes McKinney for startup transparency, resync consistency fixes, and remote sync configuration and error reporting.
- Thanks to Marius van Niekerk for the frontend migration to shared UI controls and dialogs.
- Thanks to Rod Boev for scoping PostgreSQL session-alias backfill markers by target.
0.36.0
2026-07-02
New features
- Add pairwise usage cost comparisons to the Usage page and usage API. The
new comparison panel can compare any two project or model slices in the
current date/filter window and reports backend-computed cost, session count,
total tokens, cost per session, tokens per session, absolute deltas, and
percent deltas. The REST surface is
GET /api/v1/usage/pairwise-comparison. - Show parser malformed-line badges on session detail pages when a parser
preserved a session but skipped malformed source lines. The badge uses the
persisted
parser_malformed_linescount already produced by parser/sync validation, so users can spot partially recovered transcripts without opening CLI sync logs. - Add Traditional Chinese (
zh-TW) localization across the Svelte frontend and register it as a supported locale alongside English and Simplified Chinese. - Support forking Claude sessions from a selected message. Claude message
headers now expose a fork action that renders the transcript through the
selected ordinal into a temporary prompt and launches
claudefrom the session working directory, or returns a copyable command when launch is not available. - Add branch metadata and filter support for session queries. The new
GET /api/v1/branchesendpoint returns distinct(project, branch)pairs with opaque filter tokens, and session, search, analytics, activity, and usage endpoints accept those tokens asgit_branch. Project-scoped tokens keep same-named branches in different repositories distinct and preserve empty branch values. - Flag Antigravity sessions decoded from unrecognized schemas. Antigravity
IDE and CLI parsers now fingerprint SQLite schemas into
source_version; unknown fingerprints get anagy-schema:<prefix>marker, session details exposedecode_confidence: "low", sync summaries count the affected sessions,doctor syncreports them, and the UI shows an Unverified schema badge.
Improvements
- Improve Cursor attribution in stats so
agentsview statsand the stats service read the host-local Cursor attribution database with parity between direct and daemon-backed execution. Cursor attribution remains machine-local and reports unsupported project filters explicitly. - Extend
parse-diffcoverage to DB-backed Warp, Forge, and Piebald sessions by allowing provider-authoritative sources, not only file-backed parsers. - Reduce daemon sync CPU usage while sessions are actively streaming by avoiding repeated skip-check work on hot files that are still being written.
- Improve unsupported usage reporting from agent capabilities. Agents now advertise whether they lack per-message token data and whether their costs are denominated in AI credits (surfaced as "Copilot AI Credits" for Copilot agents) as separate capabilities, so Copilot-family filters keep Copilot-specific wording while other no-token agents get generic guidance.
- Publish a
stableDocker image tag on tagged releases.stablealways points at the most recent tagged release, whilelatestcontinues to trackmainand exact version tags remain immutable.
Bug fixes
- Fix DuckDB push schema setup through Quack so remote Quack-backed pushes initialize and validate the DuckDB schema correctly.
- Fix Visual Studio 2026 Copilot session parsing for the current trace layout while preserving the existing Visual Studio Copilot agent identity and discovery paths.
- Surface unsupported Copilot usage filters correctly in the Usage page and API instead of showing an empty report without the Copilot no-token-data note.
- Backfill worktree mappings for sessions that have empty working-directory rows but can be matched from sibling sessions under the same mapping.
- Prevent OpenCode WAL watcher feedback loops by reading OpenCode-family
SQLite databases through read-only file URIs, ignoring transient
-shmevents, and only treating main database or data-bearing WAL changes as meaningful. - Remove outdated Copilot billing wording from CLI usage output. The note now says Copilot records do not include token or cost data AgentsView can total, rather than referring to old billing terminology.
Acknowledgements
- Thanks to Rod Boev for pairwise usage
comparisons, Cursor attribution parity, Claude message-point session forking,
worktree-mapping backfills, unsupported usage capability metadata, usage
filter fixes, Visual Studio 2026 Copilot session parsing, and the
stableDocker image tag. - Thanks to Matthew Jacobs for parser
malformed-line badges, Antigravity schema-confidence reporting,
provider-backed
parse-diffcoverage, the Copilot CLI wording fix, and MCP schema documentation. - Thanks to Linus for the Traditional
Chinese (
zh-TW) localization. - Thanks to Prateek Rungta for the project-scoped branch filter foundation.
- Thanks to Phillip Cloud for the DuckDB/Quack schema setup fix.
- Thanks to Trent Nelson for preventing OpenCode WAL watcher feedback loops.
- Thanks to Wes McKinney for daemon sync CPU reduction, Windows test-suite fixture reuse, and release documentation.
0.35.2
2026-06-30
Bug fixes
- Fix PostgreSQL push sync so skipped ownership conflicts no longer block the session-alias backfill marker.
Acknowledgements
- Thanks to leejuhanKr for fixing PostgreSQL push sync behavior around skipped ownership conflicts.
0.35.1
2026-06-30
New features
- Add OpenClaude session support so AgentsView can discover, import, and display OpenClaude JSONL sessions alongside Claude Code and other local agents.
- Add Copilot CLI usage guidance for records that include aggregate usage metadata but do not include per-message token counts.
Improvements
- Reuse the configured DuckDB mirror path for Quack sync so
duckdb push,duckdb status,duckdb serve, andduckdb quack servestay pointed at the same mirror by default. - Improve DuckDB and Quack sync behavior and coverage.
Bug fixes
- Require daemon transport for CLI read commands that depend on daemon-backed data.
- Surface desktop backend startup failures clearly instead of hiding the underlying error.
- Validate desktop updater signatures before applying updates.
Acknowledgements
- Thanks to Rod Boev for OpenClaude session support.
- Thanks to Matthew Jacobs for Copilot CLI usage guidance when usage records do not include per-message token counts.
- Thanks to Phillip Cloud for reusing the configured DuckDB path for Quack sync and improving DuckDB/Quack coverage.
- Thanks to Marius van Niekerk for the daemon-transport requirement on CLI read commands.
- Thanks to Wes McKinney for desktop backend error surfacing, desktop updater signature validation, and release documentation.
0.35.0
2026-06-29
New features
- Add HTTP daemon remote sync so configured remote hosts can sync through the local daemon instead of requiring each CLI invocation to perform the work directly.
- Add PostgreSQL serve support for curation and insights.
agentsview pg servecan now back starred, trashed, renamed, and insight workflows from the shared PostgreSQL store. - Add a read-only
agentsview mcpserver for MCP-capable assistants to search sessions, inspect message windows, and summarize usage from the AgentsView archive. See MCP Server. - Add Recent Edits, a top-level feed for reviewing file edits across sessions and jumping back to the exact message that made each change. See Recent Edits.
- Add batch session selection and deletion in the sidebar.
- Add S3-compatible object storage discovery for Claude and Codex session roots, so a central AgentsView instance can sync raw session files from S3, MinIO, R2, OSS, and similar stores. See S3-Compatible Session Sources.
- Add Chinese localization plus language settings across the frontend.
- Add UI text-size scaling and high-contrast appearance mode.
- Add an Analytics dashboard model filter that scopes dashboard panels to selected models. See Model Filter.
- Add export and publish actions for generated insights.
- Add IcodeMate agent support.
- Add Cursor admin usage ingestion to the Usage board.
- Add Kimi cost estimation from aggregate token usage.
- Add per-remote sync intervals for configured remote hosts.
- Add named PostgreSQL push targets so separate destinations can keep their own connection and watermark state.
- Add offline LiteLLM pricing fallback data for usage and cost reporting.
Improvements
- Make local CLI and desktop workflows daemon-first, aligning commands with the long-running local service used by the desktop app.
- Standardize
--formatand--jsonoutput flags across commands. - Surface parser anomaly signals in sync summaries so malformed or suspicious parser output is easier to notice.
- Stream remote sync progress through the daemon with per-phase elapsed time.
- Improve daemon replacement handling for
agentsview serve. - Preserve Pi message tree lineage.
- Preserve XML-style prompt tags in rendered markdown.
- Show summary-mode Antigravity CLI sessions and record Antigravity producing-version metadata.
- Enrich tool summaries and add a skim layout for session reading.
- Add an in-page help affordance for Insights.
- Add right-side axis labels to the concurrency timeline.
- Require opt-in Aider discovery to avoid scanning large or sensitive directory trees unexpectedly.
- Add
substringsandexact_matchesto automated session detection configuration. - Publish raw markdown route companions for docs pages.
- Deprecate Amp support documentation now that current Amp releases may keep complete threads server-side.
Bug fixes
- Include Claude.ai export attachments during import.
- Honor
CLAUDE_CONFIG_DIRfor Claude session discovery. - Support explicit WSL paths in desktop environment settings.
- Persist desktop sidecar logs for desktop builds.
- Use native webview zoom in the desktop app, fixing Windows zoom rendering.
- Repair the AppImage DirIcon after bundling.
- Fix remote daemon progress reporting so each sync phase stays visible with elapsed time.
- Fix a resync discovery performance regression and correct its mis-attributed phase timing.
- Detect Codex title-only renames during full sync.
- Repair persisted Codex goal-context rows.
- Treat Codex
/goalcontinuation context as system content. - Fix Gemini per-turn context token calculation.
- Fix Gemini insight generation by no longer forcing a sandboxed Gemini CLI run.
- Count subagent sessions in analytics totals.
- Clamp analytics top-session active duration by idle gaps.
- Scope filtered PostgreSQL push watermarks correctly.
- Reset push watermarks when PostgreSQL targets change.
- Fail blocked PostgreSQL pushes and surface push errors.
- Accept duration syntax for
usage daily --sinceand--until. - Deduplicate replayed continued-session usage rows.
- Suppress the Local reporter timezone sentinel in stats.
- Fall back to
AGENTSVIEW_GITHUB_TOKENand the GitHub CLI auth token for local Gist publishing. - Install the binary with an atomic rename in
make install. - Skip compatible PostgreSQL push schema DDL where it is not needed.
Acknowledgements
- Thanks to Wes McKinney for HTTP daemon remote sync, daemon-first CLI and desktop workflows, Recent Edits, UI text-size scaling and high-contrast mode, remote sync progress fixes, daemon replacement handling, raw markdown docs routes, Amp documentation deprecation, PostgreSQL push watermark fixes, and installer hardening.
- Thanks to Rod Boev for PostgreSQL serve curation and insight persistence, generated insight export and publishing, Cursor admin usage ingestion, per-remote sync intervals, named PostgreSQL push targets, offline LiteLLM pricing fallback data, Pi lineage preservation, Insights help, desktop fixes, Claude import/config fixes, and usage/stat fixes.
- Thanks to Matthew Jacobs for the MCP server,
parser anomaly signals, Codex rename and
/goalhandling fixes, Antigravity summary-mode sessions, blocked PostgreSQL push error handling, and parser validation work. - Thanks to Marius van Niekerk for the provider source-set migration work, frontend control chrome guard, localized reading-control pluralization, and analytics active-duration correction.
- Thanks to icatw for Chinese localization and frontend localization coverage.
- Thanks to Prateek Rungta for standardized CLI
output flags and duration syntax for
usage daily. - Thanks to DanielMao for S3-compatible session discovery.
- Thanks to huaiyuWangh for batch sidebar selection and deletion.
- Thanks to Leonidas Lux for IcodeMate agent support.
- Thanks to Junt184 for Kimi cost estimation.
- Thanks to Jesse Robbins for counting subagent sessions in analytics totals.
- Thanks to Trent Nelson for repairing persisted Codex goal-context rows.
- Thanks to Martin Wimpress for compatible PostgreSQL push schema handling.
0.34.5
2026-06-23
Bug fixes
- Keep PostgreSQL session reads opt-in instead of enabling them unexpectedly.
Documentation
- Refresh command and session API docs for current behavior.
0.34.4
2026-06-22
New features
- Reject exported archives from newer AgentsView versions so incompatible imports fail safely.
Improvements
- Refresh daily usage totals correctly while reducing repeated pricing lookup work.
- Group GitHub Actions Renovate updates in CI dependency automation.
Bug fixes
- Avoid macOS Photos permission prompts while scanning Aider sessions.
- Avoid macOS Music permission prompts while scanning Aider sessions.
- Reparse stale Roborev CI projects so updated session data appears correctly.
0.34.3
2026-06-22
Improvements
- Make full resync rebuilds more efficient, reducing sync cost for large archives.
- Update documentation for the latest command, usage, and session API changes.
Bug fixes
- Recognize embedded security review prompts correctly in stored messages.
0.34.2
2026-06-22
New features
- Show detailed resync progress while full resyncs are running, so the UI can report the current phase instead of only showing a generic syncing state.
- Add a resume-focused session table to
agentsview session list, including--resumeand--activemodes for quickly finding recently active sessions.
Improvements
- Add native session links in the sidebar when an agent exposes a supported resume target.
- Redesign the supported agents docs grid as uniform clickable chips.
Bug fixes
- Handle search terms with operator characters without returning server errors.
- Parse native Kimi Code records correctly.
- Improve incremental JSONL resume reliability.
- Make large-session deletes safer for full-text search cleanup.
- Prevent Ctrl+K command palette input from reselecting text on every keystroke.
- Avoid DuckDB tool-call attachment failures from invalid negative call indexes.
Acknowledgements
- Thanks to Wes McKinney for detailed resync progress, native Kimi Code record parsing, and the supported agents docs grid redesign.
- Thanks to Matthew Jacobs for the resume-focused session table and search operator-character fix.
- Thanks to Rod Boev for native sidebar session links, incremental JSONL resume reliability, safer large-session full-text cleanup, and the Ctrl+K palette input fix.
- Thanks to MirzaSamadAhmedBaig for the DuckDB negative call-index fix.
0.34.1
2026-06-21
New features
- Add the AgentsView documentation site, including quickstart, commands, configuration, usage, stats, token usage, API, remote access, and PostgreSQL sync docs.
- Add documentation build and deployment support, including validation, asset hydration, screenshot handling, and Vercel deployment configuration.
Improvements
- Clarify forwarded development access instructions for public origins, tunnels, WSL2, Codespaces, Coder, and reverse proxy setups.
- Move internal-only documentation into an internal docs area so it stays available without publishing as user documentation.
- Add automated checks for docs sources, built site output, redirects, and docs assets.
Bug fixes
- Avoid scanning protected home directories during Aider session discovery.
0.34.0
2026-06-20
New features
- Add the Activity reporting dashboard. The new top-level page reports active time, idle time, peak concurrency, agent-minutes, cost, output tokens, projects, models, machine filters, automation filters, clickable concurrency buckets, session rows, project/model/agent breakdowns, and range-scoped Activity Insights. See Activity.
- Add session quality scoring and insight patterns. Session intelligence now has a richer scoring basis for recurring quality patterns, and the Activity page can generate a daily or range activity insight for the currently resolved range.
- Add a Top Skills analytics panel that ranks skill-backed tool
calls by call count, sessions, recency, agent mix, project mix,
and weekly trend. Skill names come from explicit tool metadata and
are inferred from
SKILL.mdreads for agents (such as Codex and Cursor) that do not record them. See Top Skills. - Add new session sources: OhMyPi, Reasonix, aider,
Mistral Vibe, Visual Studio Copilot, Shelley,
QwenPaw, MiMoCode, Claude Cowork sessions from Claude
Desktop local-agent mode, Kilo, DeepSeek TUI, and
gptme. Each source has a matching environment variable and
config.tomldirectory-array key. See Session Discovery. - Add background
servemode.agentsview serve --backgroundstarts the web UI as a managed local service, writes logs to~/.agentsview/serve.log, and records enough runtime metadata foragentsview serve statusandagentsview serve stopto inspect or stop the daemon later. See CLI Reference. - Route
agentsview sessionread commands through PostgreSQL. WhenAGENTSVIEW_PG_URLor[pg].urlis configured, read-only session commands use the shared PostgreSQL store by default; pass--pgto require that path explicitly. Mutating commands continue to use the local archive. - Target an explicit session server from the
agentsview sessionCLI with--server <url>, authenticated byAGENTSVIEW_SERVER_TOKENor--server-token-file; a discovered local daemon's token is never sent to an explicit URL. See Session API. - Add session list sorting to CLI and HTTP surfaces with
agentsview session list --sort,--reverse,order_by,descending, and per-key direction suffixes such asmessages:desc,started:asc. See Session API. - Add
agentsview doctor sync, a sync diagnostics report for checking database readability, data-version counts, agent roots, and recent sync-debug lines. See CLI Reference. - Add
agentsview parse-diff, a parser QA report that re-parses source files from the current archive and reports differences from the stored SQLite rows without rewriting sessions. See CLI Reference. - Surface Copilot AI credits in usage reporting when Copilot-family sessions have priced usage.
- Add Copy source file path to the session export menu when the active session has a backing source file.
Improvements
- Use one shared range picker and keep date ranges synchronized across the Analytics dashboard, Usage page, and Activity page.
- Improve SQLite dashboard performance by reducing heavy analytics refetches during sync, adding more deliberate freshness handling, improving large sidebar index loading, adding usage-query indexes, compressing API responses, and bounding WAL checkpoints.
- Batch PostgreSQL push comparison reads for faster sync.
- Preserve source machine metadata during PostgreSQL push instead of replacing it with the pushing machine.
- Persist Codex and OpenCode working directories so Git worktree mappings can classify more sessions by their real project root.
- Streamline the Analytics and Usage refresh control: a single refresh button paired with a relative "Updated…" timestamp, where a manual refresh also resets the automatic refresh timer.
- Show agent-provided display names in the dashboard "Top sessions" list instead of the first message, matching the session sidebar.
- Extract token usage and cost from VS Code Copilot sessions when
their persisted request metadata includes
promptTokens,outputTokens, and resolved model names. See VS Code Copilot Token Metrics. - Improve Antigravity parsing: IDE role detection now recognizes newer step types, model-name extraction filters noisy prose and URLs, token extraction is more complete, and tool-call metadata is richer.
- Import Codex renamed session titles from
session_index.jsonland re-parse Codex sessions when token counts arrive late, so sidebar titles and usage rows catch up without a manual workaround. - Promote orphan subagent sessions into sidebar roots instead of hiding them behind missing parents.
- Fill in working directory metadata for Pi sessions when the Pi transcript header provides it.
- Refresh frontend glyphs with lucide icons.
- Strengthen selected session styling in the sidebar so the active row remains visible across themes and agent colors.
- Improve Activity refresh controls, filter controls, selected sidebar rows, and read-only UI states.
- Advertise the WSL
eth0URL whenagentsview serve --host 0.0.0.0runs inside WSL and no explicit--public-urlwas supplied. - Migrate frontend tooling to Vite+ while preserving the existing Svelte app behavior.
Bug fixes
- Prevent PostgreSQL push collisions for same-ID sessions from different machines.
- Deduplicate duplicate Claude sync sources so the same transcript is not indexed from overlapping roots.
- Support the Claude companion session layout, including subagent parent inference from companion directories and externalized tool result content.
- Support the newer
.kimi-codesession layout and add.kimi_openclawto OpenClaw's default discovery paths. - Parse OpenClaw and QClaw
toolCall/toolResultblocks, whose camelCase names the shared content extractor previously dropped, so tool calls and tool-only assistant turns no longer vanish from those transcripts. - Render Cursor
ApplyPatchtool calls as patch/diff content in the message viewer and markdown/export paths. - Fix nested fenced code block parsing.
- Pin CSP resource origins to the configured public origin, fixing deployments behind a trusted public URL or proxy.
- Classify single-turn automation from session transcripts, not just the stored first-message preview, so automated review sessions are filtered correctly even when their preview is a generated title.
- Base skill analytics on message timestamps.
- Route command palette session picks correctly from non-session pages.
- Skip local-only frontend calls in read-only mode, including
PostgreSQL-backed
pg servedeployments. - Tolerate NULL message timestamps in velocity analytics.
- Keep usage chart date labels within bounds.
- Show hour-of-week heatmap rows starting on Sunday.
- Use
CREATE_NO_WINDOWfor the Windows background daemon. - Update DOMPurify for security.
Acknowledgements
- Thanks to Wes McKinney for the Activity dashboard, SQLite dashboard performance, sync diagnostics, explicit session-server targets, Claude companion session linking, Cursor
ApplyPatchrendering, nested fence parsing, the WSLeth0URL, copy-source-path support, and assorted CLI and frontend fixes. - Thanks to Nitin Gupta for background
servemode. - Thanks to Luiz Ferraz for OhMyPi support.
- Thanks to Frank Zhu for QwenPaw support.
- Thanks to Rod Boev for Reasonix support, Codex renamed titles, PostgreSQL source-machine preservation, PostgreSQL push batching, Copilot AI credits, orphan subagent promotion, and MiMoCode support.
- Thanks to SyedaAnshrahGillani for Antigravity role and model extraction improvements.
- Thanks to Justin Cauchon for Claude Cowork indexing.
- Thanks to stephan379 for VS Code Copilot token and cost extraction.
- Thanks to Matthew Jacobs for
parse-diffreporting, Shelley support, session sorting, the NULL timestamp velocity fix, OpenClaw/QClaw tool-call parsing, and parser registry coverage. - Thanks to matt wilkie for Kilo support.
- Thanks to yuna for DeepSeek TUI support.
- Thanks to Matt Van Horn for PostgreSQL-backed CLI reads.
- Thanks to 潦草学者 for Kimi
.kimi-codeand.kimi_openclawsupport. - Thanks to Douglas Creager for Pi working-directory metadata and dashboard display names.
- Thanks to Bob for the gptme parser.
- Thanks to Trần Quốc Việt for the Top Skills analytics panel and
SKILL.mdskill-name inference. - Thanks to Marius van Niekerk for session quality scoring and insight patterns, the Vite+ migration, and the Codex late-token-count fix.
- Thanks to vikram bhandoh for Antigravity token extraction and richer tool-call metadata.
- Thanks to Phillip Cloud for synchronized date ranges, the shared range picker, lucide icon migration, transcript-based automation classification, refresh and filter polish, read-only UI fixes, and usage chart label fixes.
- Thanks to liyi0x0 for the Windows background daemon window fix.
- Thanks to Jesse Vincent for duplicate Claude sync-source deduplication and unwatched-root polling improvements.
- Thanks to Berend de Boer for Codex and OpenCode working-directory persistence.
- Thanks to KBS for aider support.
- Thanks to Amjad Saadeh for Mistral Vibe support.
- Thanks to mtucker-virtra for Visual Studio Copilot support.
0.33.1
2026-06-12
New features
- Show user-assigned Pi session names. The Pi parser now
extracts names assigned with Pi's
/namecommand, so those sessions appear in the sidebar under their given name alongside other agent-provided session names.
Bug fixes
- Stop double-counting forked Codex sessions.
codex forkcopies the parent's rollout history — session metadata, turns, messages, and token counts — into the top of the new file, and the parser counted that replayed prefix as the fork's own activity, billing the shared history in both the parent and the fork; the replayed parent metadata could also overwrite the fork's session ID, storing the fork under the parent's identity. Forked sessions now skip the replayed history and keep their own identity. - Render tool call groups reliably when message identifiers
repeat. Sessions read through the
PostgreSQL backend's
pg serveleave message IDs unset (its messages table keys on session and ordinal), so a tool call group holding more than one message produced duplicate render keys and tore down the message panel. Groups now key messages by their ordinal, which is unique within a session on every backend.
Acknowledgements
- Thanks to Douglas Creager for the Pi session name extraction.
- Thanks to nyxst4ck for the forked Codex session fix.
- Thanks to Matthew Jacobs for the tool call group rendering fix.
0.33.0
2026-06-12
New features
- Add a DuckDB mirror backend with Quack remote support.
agentsview duckdb pushmirrors the local SQLite archive into~/.agentsview/sessions.duckdb,agentsview duckdb serveruns the read-only web UI from that mirror, andagentsview duckdb quack serveexposes the mirror over DuckDB's Quack remote protocol so another machine can serve from it. SQLite remains the source of truth for ingestion — the mirror is one-way, like PostgreSQL sync. Configuration lives in a[duckdb]section ofconfig.toml. See DuckDB Mirror for the full setup, including the Quack token and loopback safety defaults. The DuckDB driver is linked into every binary exceptwindows/arm64, where the upstream bindings ship no prebuilt library —agentsview duckdbsubcommands report a clear error there while everything SQLite-backed keeps working. - Add Command Code session support. Sessions are discovered
under
~/.commandcode/projects/as one JSONL file per session, with an optional.meta.jsonsidecar for metadata; structured tool calls, tool results, and thinking blocks are parsed from the message content. Configure custom paths withCOMMANDCODE_PROJECTS_DIRorcommandcode_project_dirs. See Session Discovery. - Add Zed AI assistant session support. AgentsView reads
Zed's
threads/threads.dbSQLite database from the platform data directory (~/Library/Application Support/Zedon macOS,~/.local/share/zedon Linux,~/AppData/Local/Zedon Windows), extracting messages, model names, and per-request token usage, so Zed sessions also contribute to usage and cost reports. Configure custom paths withZED_DIRorzed_dirs. - Allow publishing sessions as secret GitHub gists. The
publish button in the session header is now a dropdown with
Publish public Gist and Publish secret Gist entries,
backed by an optional
secretparameter on the publish endpoint. Note that secret gists are unlisted, not access-controlled — anyone with the URL can read them. Thepshortcut still publishes publicly. See Publish to Gist. - Ship native Windows ARM64 builds: release archives now
include a native
windows_arm64binary (built with the aarch64 llvm-mingw toolchain, with full CGO/FTS5 support) and PyPI gains awin_arm64wheel. The PowerShell installer prefers the native build automatically. See Quick Start. - Add configurable remote hosts for
agentsview sync. Declare a fleet of machines as[[remote_hosts]]entries inconfig.toml(each withhostand optionaluser/port) and a bareagentsview syncruns the local sync, then syncs every configured host over SSH in order. Failed hosts are reported and skipped rather than aborting the run;sync --host Xcontinues to ignore the configured list. - Show the session cost in the session header. Next to the
token summary, the header now displays the estimated cost of
the open session (
<$0.01floor, two decimals up to $100, whole dollars above), computed from the same per-session usage endpoint that powersagentsview session usage. The badge is hidden when the session has no token data or its models have no pricing. - Add syntax highlighting for fenced code blocks, powered by Shiki. Twelve common languages are bundled (JavaScript, TypeScript, Python, Bash, JSON, YAML, Markdown, HTML, CSS, Rust, Go, SQL); unlabeled or unknown languages render as plain text. Highlighting is skipped for blocks over 50 KB or 800 lines to keep large sessions fast, and the highlighter loads lazily in code-split chunks so it costs nothing until the first code fence renders. See Code Blocks.
Improvements
- Show agent-provided session names in the sidebar. Several
agents record a session title (Claude Code's
/rename, Claude.ai and ChatGPT conversation names, Forge, Hermes, Kiro, Piebald, Cortex Code, and Command Code's.meta.jsontitles); the session list now shows these titles instead of the first-message preview. Manual in-app renames always win and are never overwritten by agent-provided names. The release bumps the parser data version, so existing sessions backfill their names on the next resync. - Leave session labels untruncated. Sidebar labels were hard-truncated at 50 characters; the full label is now placed in the DOM and CSS ellipsis clipping adapts to the actual sidebar width instead of a fixed character count.
- Extract Antigravity CLI token usage. The parser now reads
token counts from trajectory
gen_metadatablobs and from sidecargeneratorMetadataarrays, with precedence rules that prevent double-counting, so Antigravity CLI sessions contribute to the Usage dashboard andagentsview usageafter the 0.33.0 resync. - Prefer agy-reader trajectory sidecars when they are at
least as complete as the raw Antigravity CLI source: for
SQLite sessions the richer source wins by step count, and for
encrypted
.pbsessions the sidecar is used whenever present. - Infer the Antigravity CLI project when
history.jsonlrows lack a conversation ID, by matching the conversation's first user prompt against history entries — previously those sessions grouped underunknown. - Discover nested Claude workflow subagents. Subagent
transcripts written under nested
subagents/paths (as produced by workflow orchestration) are now found by a recursive walk instead of a flat directory listing, so they appear in the sub-agent tree. - Keep the app usable when the PostgreSQL sync backend is degraded. A 5xx from the backend no longer forces a full page reload (which could loop while the database was down) — the UI stays interactive with a compact status-bar warning, and recovers once a real data read succeeds. True network failures still use the reload-based recovery path.
- Improve PostgreSQL and CockroachDB analytics performance: usage-window queries push their filters down into the source tables, tool-call category aggregation moved from Go into SQL, and model-pricing writes are batched and skipped when unchanged. Aggregation semantics are unchanged across SQLite, PostgreSQL, and CockroachDB.
- Ship fallback pricing for
claude-fable-5($10 input, $50 output, $12.50 cache creation, $1 cache read per million tokens), so Fable 5 sessions are priced before the LiteLLM catalog catches up. See Pricing Source. - Fall back to the system browser on Linux when the desktop WebView cannot render. On GPU/driver/compositor combinations where WebKitGTK aborts with an EGL error and leaves a blank window, the desktop app now detects the dead WebView, opens the UI in your default browser, and explains what happened — the backend keeps running either way.
- Add anonymous daemon telemetry. The server now sends a
daily liveness ping (version, commit, OS, architecture, and a
random per-machine install ID — no session data, paths,
hostnames, or prompts). Disable it with
AGENTSVIEW_TELEMETRY_ENABLED=0. See Privacy and Telemetry.
Bug fixes
- Include non-Claude agents in the peak context token distribution. The stats bucketing was gated to Claude sessions even though other parsers (Hermes, Kimi, Forge, Zed) record peak context tokens; the gate now keys on whether the data exists.
- Create the PostgreSQL content trigram index with
fastupdate = off. With the GIN default, continuous ingest buffered inserts into a pending list that only VACUUM merges, bloating the index by orders of magnitude on large archives. New indexes are created withfastupdate = offand existing ones are altered on startup; runREINDEX INDEX idx_messages_content_trgm;once to reclaim space already consumed. - Fix the Windows PowerShell 5.x installer, which aborted
with "maximum redirection count exceeded" while resolving the
latest release; the installer now follows the redirect with a
HEAD request that works on both PowerShell 5.x and 7+. On
Windows ARM64 it also probes for the native
arm64asset and falls back toamd64under emulation only when no native build exists.
Acknowledgements
- Thanks to Marius van Niekerk for the DuckDB mirror backend, secret gist publishing, nested workflow subagent discovery, untruncated session labels, and daemon telemetry.
- Thanks to Matthew Jacobs for the Antigravity CLI sidecar token usage, trajectory-sidecar preference, project inference, and parser fuzz hardening.
- Thanks to vikram bhandoh for Antigravity CLI token usage extraction.
- Thanks to Aaron Florey for Command Code session support.
- Thanks to ArBing Xie for Zed session support.
- Thanks to Josix for Shiki syntax highlighting.
- Thanks to chrislee3408 for the session cost display in the session header.
- Thanks to Gordon Woodhull for agent-provided session names in the sidebar.
- Thanks to Phillip Cloud for degraded-backend resilience and the CockroachDB analytics performance work.
- Thanks to Martin Wimpress for the trigram index fix.
- Thanks to matt wilkie for the Linux system-browser fallback.
- Thanks to nyxst4ck for the peak context token distribution fix.
0.32.1
2026-06-05
New features
- Show the full content of tool calls in the message
viewer. Long tool parameters — Bash commands and
heredocs, large
Writepayloads — were truncated at 200 characters with no way to reach the rest, even though the complete text was already stored. The collapsed tool block now previews the first 20 lines with a Show more / Show less toggle, Bash calls render theirdescriptionandcommandfields in full, content is capped at 200 lines to keep the DOM light, and a search match inside a collapsed block expands it automatically.
Improvements
- Skip
/usageprobe sessions from session lists and usage reporting. Content-free probes whose only real turn is the/usagecommand — such as CodexBar's ClaudeProbe, which runsclaude /usageto read usage stats — are now dropped during parsing, while sessions that also contain a genuine prompt are kept. - Recognize Codex code-review sessions as
automated activity.
Codex re-emits the initial prompt verbatim when it
continues a task across turns, which pushed the
user-message count past the single-turn gate and left
review sessions (
"You are a code reviewer."and"You are a security code reviewer.") unflagged. The parser now drops a verbatim replay of the first prompt until a distinct user turn appears, so these sessions classify as automated and stay out of session lists and analytics by default. Both this and the/usageskip ship with adataVersionbump, so existing archives correct themselves on the next resync.
Bug fixes
- Resolve dotted model names to the dashed
pricing-catalog keys so usage costs compute correctly.
Some agents report model ids with dots (such as
OpenCode's
claude-opus-4.7) while the LiteLLM table keys them by the dashed API string (claude-opus-4-7), soagentsview usage dailypriced those sessions at$0.00. Every cost lookup now falls back to the dot-to-dash form. - Speed up sync project resolution by avoiding
unnecessary
gitsubprocesses. Resolving a session's project now prefers a cheap filesystem.gitwalk for normal repos and linked worktrees instead of shelling out togitper session, keeping the previous git-based lookup as a fallback for rare live-repo layouts. On a ~35.7k-session archive this brings cold-sync time back from about 4m31s to about 1m14s.
Acknowledgements
- Thanks to Nat Torkington for showing the full content of tool calls with a show-more toggle.
- Thanks to Daniel Grenner for resolving dotted model names to dashed pricing keys.
0.32.0
2026-06-03
New features
- Add support for newer Antigravity CLI SQLite sessions
stored as
~/.gemini/antigravity-cli/conversations/<uuid>.db. AgentsView discovers the SQLite files directly, prefers them over same-ID encrypted.pbfiles, parses the trajectory steps through the shared Antigravity SQLite/protobuf path, and includes.db-wal/.db-shmmetadata in change detection so live updates resync reliably. The existing encrypted.pb,agy-readersidecar, and plaintext summary flows remain in place for older Antigravity CLI sessions. See Session Discovery. - Add Copilot CLI token usage tracking. The parser now reads
assistant output tokens from
assistant.messageevents and model-level input, output, cache-read, cache-write, and reasoning totals fromsession.shutdownmodelMetrics. Claude model IDs reported with dotted versions are normalized to the pricing-catalog form, so Copilot CLI rows now contribute to the Usage dashboard,agentsview usage, and per-session usage reports after the 0.32.0 resync. - Add
GET /api/v1/sessions/{id}/usage, a per-session usage REST endpoint that returns the same stable JSON fields asagentsview session usage --format json, including cost status, model lists, and unpriced models. The endpoint works under both local SQLite-backedagentsview serveand read-onlyagentsview pg serve. - Add an automatic PostgreSQL push daemon. Run
agentsview pg push --watchfor a foreground watcher that performs an initial catch-up push, coalesces file changes with--debounce, pushes at a periodic--intervalfloor, and reconnects after transient PostgreSQL failures. The newagentsview pg servicecommand installs and manages that watcher as a per-user launchd service on macOS orsystemd --userservice on Linux. See PostgreSQL Sync. - Ship fallback pricing for
claude-opus-4-7at the current Opus 4.6 / 4.8 tier ($5input,$25output,$6.25cache creation,$0.50cache read per million tokens), so offline reports and fresh installs no longer leave Opus 4.7 rows unpriced before the LiteLLM catalog is available locally.
Improvements
- Replace the custom daemon state-file and PID-lock code with the
shared
go.kenn.io/kitdaemon runtime. CLI commands now use kit runtime records and start locks for daemon discovery, and the server exposes a shared/api/pingliveness endpoint. - Switch git repository discovery and author lookup paths onto
go.kenn.io/kithelpers, thread caller contexts through git outcome collection, and pin the Go toolchain consistently in source and Docker builds. - Improve the PostgreSQL push/watch path so the watcher uses the
same
[pg]config, project filters, classifier wiring, and result-content blocking rules as one-shotpg pushand normalserve. - Replace custom frontend UI glyphs with shared lucide Svelte icons for more consistent controls, with focused icon export tests to guard the mappings.
- Improve forwarded-host rejection handling. When AgentsView is
reached through SSH port forwarding, a reverse proxy, or a
remote dev environment with an untrusted
Host, the server now returns a descriptive403body and logs a breadcrumb; the frontend Settings load surfaces the same actionable--public-urlhint instead of a generic forbidden error. See Remote Access. - Update
agy-readerinstall documentation to the current module root command:go install github.com/mjacobs/agy-reader@latest.
Bug fixes
- Stop benign
tarwarnings from aborting SSH remote sync. The local extractor now uses Go'sarchive/tar, skips only known self-referential hardlinks, and still fails on malformed, truncated, or path-escaping archives. Remotetarnon-zero exits are tolerated only when every stderr line matches known "file changed/removed while reading" warnings. - Rename the private frontend npm package from the old working
name to
agentsview-frontend, matching the current project identity and avoiding package-name conflicts.
Acknowledgements
- Thanks to Matthew Jacobs for self-explaining forwarded-host 403 responses, Antigravity CLI SQLite session support, and updated
agy-readerinstall guidance. - Thanks to Marius van Niekerk for the lucide icon migration, shared kit daemon runtime, kit git-helper migration, and Go toolchain pinning.
- Thanks to Max Feinberg for the PostgreSQL push watcher and macOS/Linux service management.
- Thanks to Michael Chapman for Copilot CLI token usage tracking.
- Thanks to Phillip Cloud for the per-session usage REST endpoint.
- Thanks to Charley Wu for catching the broken
agy-readerinstall command path.
0.31.1
2026-05-28
Bug fixes
- Add fallback pricing for Claude Opus 4.8 so cost
estimates stay accurate before the model reaches the
LiteLLM catalog. Opus 4.8 launched at the same rates as
Opus 4.6 / 4.7 ($5 input / $25 output per million tokens,
$6.25 / $0.50 cache create / read), but with no catalog
entry yet the exact-match cost lookup priced its messages
at $0 in
agentsview usage. AgentsView now seeds aclaude-opus-4-8fallback row at the current Opus tier; the background LiteLLM refresh takes over automatically once the upstream catalog adds the model.
0.31.0
2026-05-28
New features
- Parse decrypted Antigravity CLI trajectory sidecars
for richer Antigravity session imports. When a
<uuid>.trajectory.jsonfile sits next to the existing AES-encrypted<uuid>.pbtranscript (under~/.gemini/antigravity-cli/conversations/orimplicit/), AgentsView uses it as the source of truth for messages, tool calls, and tool results, falling back to thehistory.jsonl+brain/artifact path when no sidecar is present. The sidecars are produced out-of-process by agy-reader, which performs the decryption and writes plain JSON — so this path needs noANTIGRAVITY_KEY. AgentsView treats the sidecar as untrusted input: unknown step types are skipped and reads are size-capped. The in-processANTIGRAVITY_KEYdecrypt path is preserved as a fallback. See Session Discovery. - Expand secret scanning
with six more well-anchored vendor rules: OpenAI
(
sk-proj-,sk-svcacct-,sk-admin-), GitLab personal access tokens (glpat-…), npm tokens (npm_…), PyPI API tokens (pypi-…macaroons), Hugging Face tokens (hf_…), and SendGrid keys (SG.…). The CLI summary now splits counts into definite vs. candidate findings —N findings (X definite, Y candidate)— and points you atagentsview secrets list --confidence allwhen candidate-tier matches exist. JSON consumers get the new count fields automatically.
Improvements
- Give the right-column Session Vital Signs panel a sticky Analysis title bar with an explicit close button, and make the header toggle read Show / Hide session analysis based on the panel's current state.
- Add hover and title hints plus accessible labels across the compact title bar, session breadcrumb, sidebar group headers, and modal controls, improving the experience for assistive-technology users.
- Document the project's current security posture — threat
model, trust boundaries, outbound channels, data-at-rest
sensitivity, and open questions — in a new
SECURITY.md. - Update frontend dependencies and the Docker / CI GitHub Actions.
Bug fixes
- Treat only
401 Unauthorizedfrom a settings load as a token-auth challenge. A403 Forbiddenresponse now surfaces as a settings error instead of triggering a misleading auth-token prompt. - Use the GitHub release redirect endpoint in the
installers and the in-binary updater (
install.sh,install.ps1, andagentsview update), reading thereleases/latest302 target instead of callingapi.github.com. Users behind shared NAT, VPN, or CGNAT no longer exhaust the unauthenticated API's 60-request hourly quota during install or update.
Acknowledgements
- Thanks to Matthew Jacobs for the SECURITY.md describing the project security posture and parsing decrypted Antigravity CLI trajectory sidecars.
- Thanks to Marius van Niekerk for header accessibility hints and labels.
0.30.1
2026-05-25
Bug fixes
- Refresh pricing from LiteLLM when
agentsview session usagehits an unpriced model. The command previously reportedCost: n/a (unpriced: <model>)for a newly released model even when LiteLLM already had the rate — runningagentsview serveonce was enough to fix it, because the server's background refresh populated the catalog, while the CLI path only seeded the embedded fallback. The CLI now triggers a one-shot LiteLLM fetch when it encounters an unpriced model and no daemon is running, then re-queries. A one-hour cooldown keeps repeated invocations — or persistent fetch failures when offline — from pinging LiteLLM on every call.
0.30.0
2026-05-24
New features
- Add full session content search across stored
transcripts — substring, RE2 regex, or FTS5 tokenized
modes — over message bodies, tool inputs, and tool result
content. Exposed as
agentsview session search <pattern>with the standard session filters (--project,--agent,--date-from, etc.) plus--regex,--fts, and--in messages,tool_input,tool_result, and over HTTP atGET /api/v1/search/content. Snippets are returned with ~60 characters of context on each side, snapped to rune boundaries, and any value that matches a secret-scanner rule is masked unless the caller passes--revealfrom localhost. - Add secret scanning for session content. A new
internal/secretsrule pack flags definite vendor formats (AWS access keys,sk-ant-…,ghp_…,github_pat_…,xoxb/xoxa/xoxp/xoxr/xoxs, Stripesk_live_…/rk_live_…, GoogleAIza…keys, PEM private-key blocks) plus an opt-in candidate tier (basic-auth URLs, JWTs, high-entropy assignments). Definite findings are scored inline during sync; the newagentsview secretscommand group lists them (redacted by default) and re-scans the archive for the candidate tier on demand. Sessions carry asecret_leak_countsummary that surfaces insession getand a newsession list --has-secretfilter; the same shape is mirrored in PostgreSQL sync. - Add
agentsview session usage <id>, a per-session token-and-cost report. Prints output and peak-context totals plus a~$X.XXmodel-pricing estimate, with--format jsonfor scripting. Reuses the same LiteLLM pricing table andcustom_model_pricingoverrides asagentsview usage daily, and runs an on-demand sync for the target session when no daemon is running. Replaces the oldertoken-usesubcommand, which remains as a deprecated alias. - Add support for Google Antigravity IDE and CLI
sessions (Antigravity,
Google's agentic IDE). The IDE parser opens per-session
SQLite databases under
~/.gemini/antigravity/conversations/and decodes the protobuf step payloads; the CLI parser reads~/.gemini/antigravity-cli/and surfaces the plaintextbrain/artifacts andhistory.jsonl. SettingANTIGRAVITY_KEYto the base64-encoded AES key additionally decrypts the.pbtranscripts, mirroring the strategy used by the upstreamantigravity_decryptorPython tool. Override the directories withANTIGRAVITY_DIR/antigravity_dirsandANTIGRAVITY_CLI_DIR/antigravity_cli_dirs. - Add support for Qwen Code
(
~/.qwen/projects/, override withQWEN_PROJECTS_DIRorqwen_project_dirs), QClaw (~/.qclaw/assets/static/agents/, override withQCLAW_DIRorqclaw_dirs), and WorkBuddy (~/.workbuddy/projects/, override withWORKBUDDY_PROJECTS_DIRorworkbuddy_project_dirs). WorkBuddy includes inline subagent linking via<sessionId>:subagent:<subagentId>IDs. - Add support for the current Kiro CLI SQLite store at
~/.local/share/kiro-cli/data.sqlite3. The Kiro CLI parser now reads both the legacy~/.kiro/sessions/cli/JSONL layout and the SQLiteconversations_v2table; when the same conversation exists in both, the SQLite record wins. - Add PostgreSQL curation metadata to
pg push. Starred sessions and pinned messages now sync to two new tables (starred_sessions,pinned_messages) so curation state is shared across machines through the same push. Pinned messages are reconciled bysource_uuid, so pins survive message-ordinal shifts after a re-parse. - Add configurable insight agent binaries.
Set
[agent.<name>] binary = "..."in~/.agentsview/config.tomlto point each insight-generation agent (Claude, Codex, Copilot, Gemini, Kiro) at a specific executable. When unset, AgentsView falls through to the defaultPATHlookup.
Improvements
- Add a follow latest message toggle to the session header. While active, the message list auto-scrolls to the newest message as updates stream in; clicking a specific message or scrolling up cancels the follow. The preference is persisted in localStorage.
- Honor the Normal and Focused transcript modes in the standalone HTML export. The exported file now ships with a Normal / Focused radio toggle in the document header, so a recipient who only wants the user-and-final view can flip into Focused mode without re-running the export.
- Add copy buttons to code blocks in session messages, matching the per-message copy action. The button appears on hover/focus over the code block and copies the raw code (no fences).
- Import richer Hermes state-database metadata —
parent-continuation chains, titles, per-message token
usage, and inline cost — and classify Hermes compaction
handoffs as compact-boundary system messages. Hermes now
contributes to
agentsview usagetotals. - Normalize Gemini per-message token usage into the
same
input_tokens/output_tokens/cache_creation_input_tokens/cache_read_input_tokensshape used by Claude and Codex, with Gemini thoughts counted toward output tokens and cached prefix toward cache reads. Gemini sessions now produce real cost rows inagentsview usageinstead of showing up only in the models-used list. - Note Homebrew Cask in the README install section:
brew install --cask agentsviewis the recommended desktop-app install on macOS. - Rename the upstream repository to
github.com/kenn-io/agentsview, publish the container image atghcr.io/kenn-io/agentsview, and adopt thego.kenn.io/agentsviewvanity Go module path. All references in the docs site have been updated to match.
Bug fixes
- Load the sidebar from a new skinny session-index endpoint so large refreshes no longer trip a render storm against the full session payload — the index returns lightweight rows and the visible rows hydrate on demand.
- Widen the server's CSP
connect-srcto allowhttp:,https:,ws:, andwss:origins so the desktop app's Connect to Remote Server action can reach external AgentsView instances. Other CSP directives stay pinned to'self'. - Skip slash-command first messages (
/login,/plan,/clear, …) when computing the sidebar preview text, instead of the previous allowlist that only covered/clearand/effort. The slash-prefix heuristic matches any/<word>followed by end-of-string or whitespace, so absolute file paths in user messages still surface normally. - Fix a Windows desktop sidecar lock during in-place
updates — the bundled Go server is now stopped only
immediately before the Tauri updater swaps the binary,
so the download phase no longer races against the
running
agentsview.exe. - Harden temporary-directory cleanup in tests against
open SQLite handles on Windows by forcing a GC and
retrying
RemoveAllwith exponential backoff. CI-only change.
Acknowledgements
- Thanks to Marius van Niekerk for fixing a Windows desktop update sidecar lock, supporting configured insight agent binaries, importing Hermes state-database metadata and usage, the copy action on session code blocks, and the go.kenn.io vanity module path.
- Thanks to Trent Nelson for clarifying insight generation in read-only mode and Normal/Focused transcript modes in HTML exports.
- Thanks to Matej Sychra for Qwen Code agent support.
- Thanks to Muescha for the Homebrew Cask install note in the README.
- Thanks to Bob N for reading the current Kiro CLI SQLite session store.
- Thanks to Christopher Swingley for skipping any slash command when computing the session preview.
- Thanks to Evgenii Terekhov for normalizing Gemini token usage for cost tracking.
- Thanks to Matthew Jacobs for supporting Google Antigravity IDE and CLI sessions.
- Thanks to ArBing Xie for QClaw agent support and WorkBuddy agent support.
- Thanks to lisiyuan656 for PostgreSQL curation metadata sync.
0.29.0
2026-05-10
New features
- Add session support for Piebald, a
database-backed coding agent. AgentsView discovers Piebald's
app.dbSQLite file under~/.local/share/piebald/(override withPIEBALD_DIRorpiebald_dirs), opens it read-only, and parses each chat on demand into the standard user/assistant/tool model. Reasoning parts are surfaced as[Thinking]…[/Thinking]blocks, tool calls are mapped onto AgentsView's taxonomy, and Piebald'ssub_agent_chat_idlinks parent tool calls to the spawned child chat so subagent expansion works inline. Per-chat incremental sync only re-parses rows whoseupdated_atchanged. - Add user-configurable
worktree project mappings.
AgentsView normally infers a session's project from its
cwd, which doesn't recognize custom worktree layouts like~/code/{project}.worktrees/feat/<branch>/— those sessions end up grouped under the branch name instead of the parent repo. The new Worktree Project Mappings section in Settings lets you register a path-prefix → project mapping per machine, applied to new sessions as they sync and, via an Apply button, retroactively to already-imported sessions. Mappings live in aworktree_project_mappingsSQLite table scoped to the host machine, so mappings created on one machine never leak into another's view of synced sessions.
Improvements
- Add Piebald to the supported-agents reference table in the README and to the docs.
- Fix sync progress accounting for database-backed agents
(Piebald, OpenCode, Warp, Forge): the terminal
PhaseDonecallback was overwriting the cumulativeMessagesIndexedcount with the file-only total, so the post-sync log line under-reported indexed messages. - Validate Piebald fork session IDs (
piebald:<chat>-<row>). Stale or typoed fork IDs that resolved to a real base chat but not a real fork row previously returned mtimes and succeeded silently; they now require an exactSession.IDmatch in the parsed results. - Drop the hard-coded agent list from
agentsview --help. The list went stale every time a new agent was added; the README's supported-agents table and the per-agent env vars below it stay authoritative. - Update GitHub Actions, Go, and frontend dependencies.
Bug fixes
- Discover and import Codex sessions from
~/.codex/archived_sessions/in addition to~/.codex/sessions/, supporting both the dated live-session layout and the flat archived layout. Sessions are deduplicated by canonical session ID, with live paths preferred when a session exists in both locations. - Link Claude
TaskandAgenttool calls to their child subagent sessions when result-sidetoolUseResult.agentIdis the only signal available (queue/progress mapping absent). The parser also preserves sibling subagent tool calls when Claude emits additive same-message.idassistant chunks, so parallel subagents under one parent message all link inline. Existing Claude archives need a full resync to pick up the populatedsubagent_session_idon historical rows.
Acknowledgements
- Thanks to Matthew Jacobs for documenting Forge in the supported-agents table.
- Thanks to Kevin Roberts for adding Piebald support.
- Thanks to Marius van Niekerk for importing archived Codex sessions and adding configurable worktree project mappings.
0.28.0
2026-05-06
New features
- Add session support for Forge, a
database-backed coding agent. AgentsView discovers
.forge.dbSQLite files under~/.forge(override withFORGE_DIRorforge_dirs), opens them read-only, and parses each conversation on demand into the standard user/assistant/tool model. Reasoning traces are surfaced as[Thinking]…[/Thinking]blocks, and Forge's nine agent-specific tool names (fs_search,patch,multi_patch,undo,remove,fetch,todo_write,todo_read,parallel) are mapped onto AgentsView's taxonomy. Per-conversation incremental sync only re-parses rows whoseupdated_atchanged.
Improvements
- Preview common tool inputs in the collapsed
tool block header so the most
meaningful field shows without expanding.
TodoWritesurfaces the in-progress todo (or last todo) with a→prefix;TaskCreateshows the subject;TaskUpdateshows#<id> · <status> · <subject>;Skillshows the skill name;ToolSearchshows the first line of the query; andTask/Agent/subagent calls show the description (falling back to the prompt). These previews take precedence over the first line ofcontent, which for these tools is a generic header that hides the useful information. - Link Codex
spawn_agenttool calls to the spawned subagent's session, so the inline subagent expander in the message viewer works the same way for Codex sessions as it already did for ClaudeTaskcalls. - Make git outcome metrics opt-in for
agentsview stats. Outcome aggregation walks every session's working directory and shells out togit, which is slow on large repos and brittle when the cwd has moved or the repo is unavailable. Add--include-git-outcomesto opt into local commit, LOC, and files-changed totals, and--include-github-outcomesto additionally include GitHub PR counts viagh(this implies--include-git-outcomes). TheGHTokenis only resolved when GitHub outcomes are requested.
Bug fixes
- Link Codex App subagent spawn events to the corresponding
child session. The Codex parser now consumes both
spawn_agentoutputs andcollab_agent_spawn_end.new_thread_idevents, recognizeswait_agentcalls withtargets, and accepts subagent notifications that identify children viaagent_pathalongside the legacyagent_id. Without this, related Codex App subagent sessions did not resolve in the transcript or in the sidebar's child list.
Acknowledgements
- Thanks to Matthew Jacobs for adding Forge agent support.
- Thanks to Marius van Niekerk for linking Codex spawn calls to subagent sessions and linking Codex app subagents.
- Thanks to Mike Baik for linking Claude subagent tool calls.
0.27.0
2026-05-04
New features
- Publish official Docker images. The
ghcr.io/kenn-io/agentsviewmulti-arch image (linux/amd64, linux/arm64) is built on tagged releases and pushes to main, and the repo ships aDockerfile,docker-entrypoint.sh, and adocker-compose.prod.yamlexample. The same image runs bothagentsview serve(default) andagentsview pg serve(setPG_SERVE=1). See the Quick Start for usage. - Add a session status indicator
that classifies each session by recency and termination state and
surfaces six visual states (working, waiting, idle, stale, unclean,
quiet) on the sidebar dot and the dashboard's Top Sessions table.
Backed by a new
termination_statuscolumn on thesessionstable populated by the Claude Code and Codex parsers from per-message stop reasons. Sessions can now be filtered by status from the filter dropdown or via the new?termination=URL parameter. - Use Copilot CLI's
workspace.yamlnamefield as the session title when present, falling back to the first user message otherwise. Copilot itself writes a short generated or user-set name to that file, so sessions now show meaningful titles like "Fix login authentication bug" instead of the verbatim first prompt. Existing AgentsView display-name overrides still win.
Improvements
- Degrade large watch trees instead of failing server startup. When
the recursive file watcher hits its 8192-directory budget or the
OS inotify/file-descriptor limit (
EMFILE/ENOSPC), the affected root falls back to the existing 15-minute periodic sync plus a new 2-minute poll loop, and the server logs which roots are watched vs. polled. The HTTP listener now binds before the watcher is registered, so users hitting these limits no longer see startup abort withsocket: too many open files. - Sessions, Usage, and the Analytics dashboard now share a single
filter store: machine, agent, project, min user-message, and
one-shot/automated toggles applied in the sidebar carry across to
the Usage page header and the dashboard panels. The Usage page
reuses the same
SessionFilterControlwidget with searchable agent and machine multi-selects (the sidebar's Status pills are sidebar- and dashboard-only). - Fix the README
agentsview statsreference (the README previously showed the non-existentagentsview session statsform).
Bug fixes
- Return
409 Conflictwhen uploading a session that is already excluded by config or sitting in the trash, instead of silently dropping the upload. - Allow compaction-boundary summary cards to expand in the message viewer. Long or multi-line summaries get a "Show full summary" toggle; short summaries stay inline.
- Read the
modelandusagefields from OpenClaw assistant turns soagentsview usage daily --agent openclawreports actual cost and token totals instead of$0.00. - Synthesize
Message.IDfrom the message ordinal inpg serveresponses. PG'smessagestable has a composite primary key (session_id,ordinal) and noidcolumn, which previously left every row withid = 0and broke Svelte's keyed{#each}rendering in the message viewer.
Acknowledgements
- Thanks to Marius van Niekerk for fixing session and usage filter behavior and tests covering Codex assistant blockquotes.
- Thanks to Michael Chapman for using the Copilot workspace.yaml name as the session title.
- Thanks to zerone0x for fixing the README stats command reference, allowing compaction-boundary summaries to expand, and returning 409 for excluded or trashed uploads.
- Thanks to juno02139 for extracting OpenClaw per-message token usage and model.
- Thanks to Phillip Cloud for adding session termination status detection and StatusDot UI.
- Thanks to Aaron Florey for the Docker deployment workflow.
0.26.1
2026-04-30
Improvements
- Refresh the filter controls and active-filter displays on the Sessions, Usage, and Analytics views for clearer state and more consistent behavior across the three pages.
- Add launchd support for running the PostgreSQL helper service on macOS.
- Update frontend and Go dependencies.
Bug fixes
- Fix session filter behavior in the sidebar.
- Fix Usage page filter behavior and the selected-filter state.
- Keep timing API response arrays non-null.
- Disable the WebKit DMABUF renderer on Linux desktop builds to avoid rendering issues.
0.26.0
2026-04-29
New features
- Add a Trends page for ad-hoc term-frequency line
charts over your session history. Plot up to 12 terms — each with
optional pipe-separated variants like
cat|cats— at day, week, or month granularity, and optionally normalize counts by message volume. Backed by both SQLite and PostgreSQL, so the page works under localagentsview serveand sharedpg servedeployments. - Replace the right-column activity minimap with a richer Session Vital Signs panel covering total wall-clock, slowest call, per-category time spent, a per-category timeline, and a chronological calls list with parallel groups bracketed and sub-agents expandable inline. Each tool block in the conversation now also shows a duration badge, and each assistant message shows a per-turn summary line.
- Make the default date range on the Usage and Analytics dashboards
rolling — pages left open across midnight roll the window forward
at the next refresh tick, sync event, or manual refresh, instead of
staying anchored to the day they loaded. Manual date edits or
?from=…&to=…URL parameters pin the window; preset buttons (7d,30d,90d,1y) return to rolling mode.
Improvements
- Scale call duration bars in the Vital Signs Calls list relative to the longest call in scope rather than total session wall-clock, so call-vs-call comparison stays legible in long sessions.
- Lower the progressive-load threshold from 20,000 to 3,000 messages so large sessions render the message viewer faster — older pages lazy-load on scroll instead of all loading on session open.
- Reuse the shared
DateRangeSelectorcomponent on the Usage page for consistent presets and behavior between Analytics and Usage. - Faster full resync: batched SQLite writes with per-session savepoints, multi-row inserts for messages and tool calls, and a single FTS rebuild on the temp database before the atomic swap. On a 26.7k-session workload, full-resync wall-clock improved from about 1m17s to about 34s.
- Expand Gemini ingestion to
discover and parse the newer streamed
session-*.jsonlformat alongside the legacy.jsonGemini session files. - Render Claude Code
!cmdbash shortcut wrappers (<bash-input>,<bash-stdout>,<bash-stderr>) as code blocks in message bodies and as inline<code>in sidebar previews and breadcrumbs, instead of leaking the literal pseudo-HTML into the UI.
Bug fixes
- Recognize managed worktree project paths — Middleman GitHub
worktrees and Codex App's
~/.codex/worktrees/<id>/<repo>layout — as the owning repo, so sessions land under the right project instead of the worktree id. - Sync OpenCode SQLite sessions when
opencode.dband the per-filestorage/layout coexist in the same root. SQLite virtual paths are used as a fallback for source lookup and single-session sync in those hybrid roots. - Surface Claude Code
queued_commandattachments — the user prompts submitted while a tool call is still running — as regular user messages in the transcript instead of dropping them. The embeddeddataVersionbumps from 19 to 20 so existing databases re-parse on next startup and recover any previously missed mid-flight messages. - Run remote SSH sync commands through
sh -cso command parsing is independent of the remote login shell and embedded single quotes are escaped safely. - Atomically swap the binary during self-update by staging the new
binary at
dstPath + ".new"(with the executable bit already set) and renaming it into place, so concurrentagentsviewinvocations during an update no longer hit a partially written or non-executable file.
Acknowledgements
- Thanks to Marius van Niekerk for reusing the shared date-range selector on the Usage page and recognizing managed worktree project paths.
- Thanks to Phillip Cloud for the rolling default date range for the Usage and Analytics dashboards, gating the frontend with svelte-check and vitest, the session-duration UX, and rendering Claude Code bash shortcut wrappers as code blocks.
- Thanks to Aaron Florey for syncing OpenCode SQLite sessions in hybrid roots and running remote SSH sync commands through a POSIX shell.
- Thanks to Christopher Swingley for the Gemini JSONL import fix.
0.25.0
2026-04-25
Improvements
- Use
is_automatedconsistently acrossagentsview statstotals, archetypes, distributions, and agent portfolio metrics, so the stats report uses the stored automation classification instead of mixing in older user-message-count heuristics. - Rename the data directory environment variable to
AGENTSVIEW_DATA_DIR. The legacyAGENT_VIEWER_DATA_DIRname is still accepted as a fallback when the canonical variable is unset. - Build and test against Go 1.26. Source builds now require Go 1.26+ with CGO.
Bug fixes
- Filter synthetic Copilot skill messages from parsed conversations, so injected skill context no longer affects stored transcripts, first messages, or user-message counts.
Acknowledgements
- Thanks to Marius van Niekerk for NilAway lint checks and updating the build to Go 1.26 and fixing an arm64 desktop test flake.
- Thanks to Tim O'Guin for filtering synthetic Copilot skill messages.
0.24.0
2026-04-23
New features
- Add OpenCode storage-backed session support. AgentsView now
auto-detects when an OpenCode root uses the per-file
storage/layout (storage/session,storage/message,storage/part) and parses the JSON files directly. The legacyopencode.dbSQLite backend is still read transparently when that's what's present — see Session Discovery. - Add custom model pricing
via
[custom_model_pricing.<model>]tables in~/.agentsview/config.toml, for models not in the LiteLLM catalog or when you want to override the catalog's rates. - Add configurable automation patterns
via
[automated] prefixes,substrings, andexact_matchesin~/.agentsview/config.toml, so single-turn sessions with first-message patterns unique to your own automation get filtered from session lists and analytics alongside the built-in roborev patterns.
Improvements
- Broaden built-in automated-session detection to cover Claude Code conversation-title generation, warmup pings, roborev review combiner prompts, and AgentsView's own changelog generator.
- Refresh the
is_automatedclassification at startup, using a classifier hash that covers built-in patterns and configured[automated]patterns, so edits to automation rules and rows imported from other archives get re-labeled without a manual resync. - Improve Claude first-message selection in the sidebar by
skipping leading
/clearand/effortcommand envelopes so the session preview shows the next real user message instead.
Bug fixes
- Narrow OpenCode's storage-mode file-watch root to the
storage/subtree, reducing inotify pressure and spurious watch events on binaries, logs, and caches. SQLite mode continues to watch theopencode.dbparent. - Stop orphaned subagent/fork rows from surfacing as top-level groups in the sidebar when their parent session has been filtered or rotated off disk.
- Fix Codex parser handling so
codex execsessions interrupted mid-run (which emit a synthetic<turn_aborted>user message) are classified and counted correctly.
Acknowledgements
- Thanks to Eran Sandler for adding OpenCode storage-backed session support.
- Thanks to Antoine for custom model pricing via config.
0.23.5
2026-04-20
Improvements
- Coalesce rapid dashboard update events to cap refetch frequency and keep the UI smoother under heavy activity.
0.23.1
2026-04-19
Bug fixes
- Usage reporting excludes cached Codex tokens from
input_tokens, making token totals more accurate.
0.23.0
2026-04-19
New features
- Add live dashboard refresh via Server-Sent Events so the Sessions and Usage views update without a full page reload when new sync data lands.
- Add session intelligence with health signals, outcome classification, score/grade badges, a per-session signal panel, and aggregated dashboard health analytics.
- Add the
agentsview sessionCLI as a programmatic surface for listing, inspecting, exporting, syncing, and watching session data. - Add markdown export for sessions via
/api/v1/sessions/{id}/md, including optional child-session depth controls. - Add SSH remote sync to
agentsview syncso a local archive can pull session data from a remote machine over SSH. - Add PostgreSQL-backed usage reporting so the Usage dashboard and related endpoints work under
agentsview pg serve. - Add
agentsview stats, an experimental window-scoped reporter for session, git, and outcome activity across the local archive.
Improvements
- Require the explicit
servesubcommand to start the server; plainagentsviewnow shows help. - Show session names in the Usage page's Top Sessions by Cost table.
- Preserve active filters when switching between the Sessions and Usage tabs.
- Link the Usage page's
Project | Model | Agentgroup-by selectors so the chart and attribution panel stay in sync. - Make incremental parsing more reliable by validating files with inode and device tracking in addition to size and mtime.
- Rewrite the project README as a clearer user-facing guide.
Bug fixes
- Surface the underlying login-shell probe failure reason for arm64 desktop flake cases instead of hiding the root cause.
- Only self-heal the frontend events store on transient failures, avoiding permanent retry loops against unsupported event streams.
- Accept raw session IDs in
agentsview token-usein addition to canonical stored IDs. - Resolve ephemeral
serveport handling correctly. - Parse Claude Code CLI JSON array output correctly in insight generation.
- Recognize the
"helpful assistant"prefix as an automated session. - Skip git-root walking for foreign-OS working directories.
Acknowledgements
- Thanks to Marius van Niekerk for linking usage group-by selectors, migrating command tree to Cobra, adding markdown session export, resolving ephemeral serve port, showing session name in Top Sessions by Cost, and preserving filters when switching between the Sessions and Usage tabs.
- Thanks to Jesse Robbins for correctly parsing Claude Code CLI JSON array output in insight generation.
- Thanks to Trent Nelson for PostgreSQL-backed usage reporting.
- Thanks to Phillip Cloud for live dashboard refresh via Server-Sent Events and self-healing the frontend events store only on transient failures.
- Thanks to AO for inode/device tracking to validate incremental parses.
0.22.2
2026-04-13
Bug fixes
- Correct fallback pricing for Claude Opus 4.6 so usage cost estimates use the proper
$5input and$25output rates.
0.22.1
2026-04-13
Bug fixes
- Keep Codex model detection consistent during incremental syncs so usage reporting stays accurate.
0.22.0
2026-04-13
Improvements
- Extend usage cost tracking to OpenCode and Pi sessions alongside Claude Code and Codex. Their token counts now flow into the Usage dashboard and
agentsview usageCLI reports. - Refine the Usage dashboard summary cards and cost-over-time chart for clearer cost reporting.
Bug fixes
- Sync Codex
execsessions so execution activity appears reliably in AgentsView. - Fix usage accounting so total cost data stays complete across supported providers.
0.21.0
2026-04-13
New features
- Add a token usage dashboard to the web UI for exploring cost and token totals across your agent sessions. The new
/usagepage shows summary cards, a cost-over-time chart, a cost attribution treemap with project/model/agent toggles, top sessions by cost, and a cache efficiency panel. Filter by project, agent, model, and date range — filter state is written back to the URL so views are shareable and bookmarkable. - Add backing API endpoints for the usage dashboard so scripts and external tools can fetch the same summary, time series, and attribution data the UI uses.
Bug fixes
- Prevent some Claude usage records from being double-counted in cost and token totals.
- Correct Opus 4.6 pricing in usage cost calculations.
0.20.0
2026-04-12
New features
- Add
agentsview usage dailyandagentsview usage statuslinecommands that report token usage and estimated cost by day or for the current day, scoped to Claude Code and Codex sessions. Pricing is pulled from the LiteLLM catalog with an embedded fallback for offline use. See Token Usage & Costs for the full write-up, including benchmarks againstccusage. - Add OpenHands CLI session support. Local OpenHands conversations under
~/.openhands/conversationsare discovered, synced, and rendered alongside other agents. A new shallow-watch mode is used for agents that store each conversation in its own subdirectory, so file watchers don't exhaust inotify limits. - Add Positron Assistant session support. Positron is a VS Code–based IDE; chat sessions under
workspaceStorage/*/chatSessions/are parsed using the VSCode Copilot format. Built-in discovery covers macOS only in 0.20.0 — Linux and Windows users need to setPOSITRON_DIRorpositron_dirs. - Filter pinned messages by the currently selected project. The Pinned page only shows pins from the active project, the count badge reflects the filtered total, and a dedicated empty state is shown when the filter yields no results.
Improvements
- Drop the Intel macOS desktop builds regression. Release artifacts now include
.dmgfiles for both Apple Silicon (aarch64) and Intel (x86_64) Macs, a Linuxarm64AppImage for PR artifact coverage, plus the existing Linuxx86_64AppImage and Windows.exe. - Stop enumerating agent names in CLI help text so the
--agentflag and one-line descriptions don't go stale every time a new agent lands.
Bug fixes
- Auto-recover the macOS desktop app when WKWebView's content process is killed during sleep/wake. A Rust-side focus probe detects a dead WebView and force-reloads it; a JavaScript
visibilitychangehandler pings the backend and reloads if unreachable. - Honor
pi_dirs,cursor_project_dirs, andamp_dirsfromconfig.toml. These arrays were previously dropped by the loader because the registry entries for Pi, Cursor, and Amp were missingConfigKey. - Claude Code streaming messages were being recorded multiple times by the parser, inflating historical input-token totals by roughly 2×. The parser now deduplicates them. After upgrading, the first
agentsview usageinvocation triggers a full resync so historical totals are recomputed with the fix. - Codex sessions now capture the per-request
token_countevents embedded inevent_msgentries, so Codex messages populate token usage (and therefore show up inagentsview usage daily) where they previously reported zero.
Acknowledgements
- Thanks to kinglau66 for fixing the stale synced-status label and showing the exact sync time on hover.
- Thanks to Srujun Thanmay Gupta for adding Hermes Agent session support.
- Thanks to Mario Witte for adding Warp agent support.
- Thanks to nodivbyzero for adding Positron Assistant session support.
- Thanks to Michael Chapman for filtering pinned messages by the selected project.
- Thanks to Marius van Niekerk for restoring the Intel macOS desktop build.
- Thanks to Rajiv Shah for adding OpenHands CLI session support and shallow watch mode.
0.19.0
2026-04-08
New features
- Add Warp agent session support, reading AI conversations from Warp's local SQLite database with tool call breakdowns and token usage.
- Add Hermes Agent session support across CLI, Discord, webhook, and cron platforms, with per-platform project grouping and skill prefix handling.
- Add Cortex Code session support for Snowflake's AI coding agent, parsing both embedded-history and split-file formats.
- Add Kiro CLI and Kiro IDE session support for Amazon's AI coding assistant, including unified diff rendering for edit actions.
- Add Cursor session history with resume (
cursor agent --resume) and automatic workspace recovery via--workspace. - Add the ability to resume Claude sessions in Claude Desktop via the session resume menu (macOS).
Improvements
- Add project filtering to
pg pushwith--projects,--exclude-projects, and--all-projectsflags plus config file equivalents. A newagentsview projectscommand lists all projects with session counts. - Add an opt-out for the update check via
disable_update_checkin config,AGENTSVIEW_DISABLE_UPDATE_CHECK=1environment variable, or--no-update-checkCLI flag.
Bug fixes
- Fix the synced status label staying stale after a sync completes. The relative time now refreshes every 10 seconds, and hovering shows the exact sync timestamp.
Acknowledgements
- Thanks to Jacob Struzik for resuming Claude sessions in Claude Desktop.
- Thanks to Christian Bush for Cursor session history with resume and workspace recovery.
- Thanks to AO for adding Cortex Code session support.
0.18.0
2026-04-02
New features
- Import Claude.ai and ChatGPT conversations into AgentsView. Upload the zip file export from either service via the UI or CLI to bring your full conversation history — including ChatGPT images — into your local database alongside your agent coding sessions.
- Show token usage metrics across sessions, analytics views, and exports. Session breadcrumbs display peak context and output tokens, the analytics dashboard includes output token summary cards and heatmap metrics, and CSV exports include token totals.
Improvements
- Detect automated roborev sessions and filter them out of session lists, counts, and analytics by default. An "Include automated" toggle in the session filter dropdown opts back in.
Bug fixes
- Keep pinned messages pinned after a session resync. Previously, re-syncing a session's messages could silently remove all pins due to cascade deletes; pins are now preserved by matching on message ordinal.
- Reduce WebView memory usage when rendering message content by rekeying content-parser caches on message ID instead of full message text and lowering cache capacity.
Acknowledgements
- Thanks to Trent Nelson for token-usage metrics across sessions, analytics, and exports.
- Thanks to Michael Chapman for preserving pinned messages after a session resync.
0.17.1
2026-03-29
Bug fixes
pg serveautomatically applies pending PostgreSQL schema migrations on startup, reducing upgrade friction and startup failures.
Acknowledgements
- Thanks to Thomas Maloney for auto-migrating the PostgreSQL schema on pg serve startup.
0.17.0
2026-03-28
New features
- Add a session activity minimap with click-to-navigate support for quickly jumping to activity hotspots within a session.
- Add a resizable session sidebar so you can drag the divider to adjust the layout to fit your workflow.
- Capture and display Codex subagent result events in session transcripts, with an expandable history of status updates per tool call.
Improvements
- Support Cursor's nested transcript directory layout for more reliable transcript discovery.
Bug fixes
- Restore Copilot as an insight-generation agent alongside Claude, Codex, and Gemini.
- Fix transcript strip pill spacing in WebKit browsers.
Acknowledgements
- Thanks to Trent Nelson for a resizable session sidebar and modeling Codex subagent result events.
- Thanks to Marius van Niekerk for fixing transcript-strip pill spacing in WebKit.
- Thanks to Christian Bush for supporting Cursor's nested transcript directory layout.
0.16.2
2026-03-25
Bug fixes
- Detect Claude conversation forks across the full reply subtree so branched threads display correctly.
0.16.1
2026-03-25
Bug fixes
- Fix Linux container builds by disabling VCS stamping in the Go build.
Acknowledgements
- Thanks to Trent Nelson for adding managed Caddy support to pg serve and adding multi-host machine filtering and labels.
- Thanks to Marius van Niekerk for adding URL-based session linking.
0.16.0
2026-03-24
New features
- Add direct URL links for opening specific sessions, enabling bookmarks and sharing of session deep links.
- Add machine labels and multi-host filtering to separate sessions by source machine in shared deployments.
- Add focused transcript mode with a responsive header that strips intermediate tool calls and thinking blocks for easier reading.
- Add
Delas a keyboard shortcut to delete or archive the selected session. - Add Kimi (Moonshot AI) session support for importing and viewing Kimi conversations.
- Add PostgreSQL push sync and a read-only server mode (
pg push,pg serve) for shared multi-user deployments backed by a central PostgreSQL database.
Improvements
- Group command palette search results by session, add a relevance/recency sort toggle, and match against session names in addition to message content.
- Show model information in the session UI, including Codex session models, displayed in message headers.
- Use OpenCode session titles as display names in the session list.
- Improve the mobile layout for smaller screens with a responsive sidebar and viewport-aware keyboard shortcuts.
- Add managed Caddy support to
pg servefor simpler TLS-terminated shared deployments. - Publish platform-specific wheels to PyPI for easier installation via
pip install agentsview. - Add standard macOS app menu actions for Hide and Hide Others.
Bug fixes
- Show user messages that begin with skill or command invocations (e.g.
[Skill: name]) in transcripts instead of hiding them. - Prevent Linux desktop app freezes with improved runtime CSP handling in the Tauri configuration.
- Restore desktop copy, paste, and cut keyboard shortcuts through the Edit menu.
- Fix pinned message navigation in very large sessions where the virtualizer could stop mid-scroll before reaching the target message.
- Surface insight generation errors directly in the UI with error status and message display instead of silently failing.
Acknowledgements
- Thanks to Thomas Maloney for PostgreSQL push sync and read-only server mode and showing user messages that begin with skill or command invocations.
- Thanks to CL Kao for showing which model Codex sessions use.
- Thanks to Adam Hjerpe for using the OpenCode session title as the display name.
- Thanks to Gary Ritchie for Hide and Hide Others actions in the macOS app menu.
- Thanks to 0xjjjjjj for the mobile responsive layout.
- Thanks to Michael Chapman for repairing pinned-message navigation in large sessions.
- Thanks to Li Ye for adding Kimi (Moonshot AI) agent support.
- Thanks to Maxim Khailo for fixing a Linux desktop app freeze with layered CSP and runtime port pinning.
- Thanks to Trent Nelson for a focused transcript mode with a responsive header.
- Thanks to Stan Rosenberg for a Del-key shortcut to delete or archive sessions.
0.15.0
2026-03-17
New features
- Add
agentsview token-use, a CLI command that outputs machine-readable token usage data for scripts and automation.
Improvements
- Improve cross-platform token usage reporting on macOS, Linux, and Windows.
- Make token usage insights more consistent across application and system restarts.
Bug fixes
- Fix cases where token usage can be attributed to the wrong process after PID reuse or restarts.
0.14.0
2026-03-15
New features
- Add in-session search with
Cmd+F/Ctrl+Fand keyboard navigation between matches for finding text within a session's messages. - Display token usage for each session, showing input and output token counts in the session detail header.
- Add Zencoder CLI session support for importing and viewing Zencoder conversations.
- Add GitHub Copilot CLI resume support in the session dropdown, letting you reopen Copilot CLI sessions directly.
- Ship Linux desktop builds as AppImages, adding Linux to the desktop app platform matrix alongside macOS
.dmgand Windows.exe.
Improvements
- Improve insight agent detection for sandboxed sessions and GitHub Copilot, producing more accurate and relevant insights.
- Speed up session resync for larger histories, reducing the time to re-parse all session files.
Bug fixes
- Fix updater output so the verify step starts on a new line after download progress.
Acknowledgements
- Thanks to Aleksei Sotov for adding Zencoder CLI agent support.
- Thanks to Michael Chapman for adding Copilot CLI resume support to session dropdown and in-session search with keyboard navigation, plus a resync performance fix.
- Thanks to CL Kao for collecting and displaying per-session token usage.
0.13.0
2026-03-12
New features
- Add a Settings page for appearance, terminal, GitHub, agent directory, and remote access options — centralizing configuration that was previously spread across individual modals and config file edits.
- Add remote access with bearer token authentication, trusted public origins, and managed Caddy reverse proxy mode for secure multi-device access.
- Organize sub-agents and teams in a collapsible tree view in the sidebar, making complex multi-agent sessions easier to navigate.
- Update live sessions incrementally as new activity arrives, replacing full refreshes for faster real-time updates.
- Add desktop zoom controls for adjusting the interface scale.
Improvements
- Skip common dependency and build folders (e.g.
node_modules,__pycache__,.git) during recursive watching to reduce noise and overhead. - Show release information in a new About dialog accessible from the header.
- Shut down cleanly on
Ctrl+Cand stop auto-opening the browser on startup by default.
Bug fixes
- Preserve original project name casing in group headers.
- Resolve project names correctly for deleted nested worktrees.
- Fix navigation issues in the Windows desktop app.
Acknowledgements
- Thanks to Trent Nelson for adding trusted public origins and managed Caddy mode.
- Thanks to Ben Sedat for excluding common dependency and build directories from the recursive watcher.
- Thanks to TalesOfThales for a centralized settings page with remote-access authentication and a configurable API base URL, the sub-agent and team tree view with collapsible hierarchy, and preserving project-name casing in group headers.
0.12.0
2026-03-10
New features
- Add iFlow agent support for importing and viewing iFlow conversations, including JSONL session parsing and tool calls.
- Add a session resume menu with three actions: reopen a session, launch a terminal in its working directory, and open the directory in Finder/Explorer.
- Ship packaged desktop releases (
.dmgfor macOS,.exefor Windows) as the recommended install path, with built-in auto-update support.
Improvements
- Replace the single-select agent filter with a multi-select agent filter, allowing multiple agents to be selected at once.
- Improve cross-platform path handling for more reliable session discovery on Windows and WSL.
Bug fixes
- Fix Amp tool output rendering so tool results display correctly in expanded tool blocks.
Acknowledgements
- Thanks to Michael Chapman for surfacing Copilot reasoningText as thinking blocks.
- Thanks to CL Kao for category-based tool-metadata dispatch for cross-agent consistency.
- Thanks to Song Li for iFlow agent support, the multi-select agent filter, and cross-platform path handling fixes.
- Thanks to Luis Colunga for fixing missing Amp tool output in the UI.
0.11.0
2026-03-08
New features
- Add Pi agent support for importing and viewing Pi conversations, including JSONL session parsing, thinking blocks, and tool calls.
- Add an
agentsview synccommand to populate the database without starting the HTTP server. Supports a--fullflag to force a complete resync. - Add session renaming (double-click or right-click context menu), soft delete with trash and undo, and pinned messages with a gallery view.
- Persist starred sessions in SQLite so stars survive server restarts. Existing localStorage stars are automatically migrated on first load.
Improvements
- Exclude single-turn sessions (one or fewer user messages) by default in session lists and analytics views to reduce noise. A new "Include single-turn" toggle in the sidebar filter dropdown opts back in.
- Normalize tool metadata across agents so tool calls from Gemini, Pi, and other agents display with the same metadata tags as their Claude equivalents.
Bug fixes
- Align timestamps between message headers and grouped tool call headers so they sit at the same right edge in all layouts.
- Show Copilot
reasoningTextas thinking blocks instead of discarding it. - Extract Gemini tool results more reliably and recognize additional Gemini tool names (
replace,run_shell_command,grep_search,glob,list_directory).
Acknowledgements
- Thanks to TalesOfThales for OpenClaw agent support, removing the redundant toggle-thinking button, persisting starred sessions in SQLite, and session management with rename, trash/undo, and pinned messages.
- Thanks to CL Kao for storing tool-result content with a category blocklist, the sync subcommand that populates data without serving, and extracting Gemini tool-result content and expanding tool-name coverage.
- Thanks to Cesar Arze for adding Pi agent support.
0.10.0
2026-03-04
New features
- Add Amp, VS Code Copilot, and OpenClaw agent support, including session parsing, filtering, and agent-colored display.
- Add a Tauri-based desktop app wrapper that runs the web UI in a native window (in development, not yet released).
- Add session starring with
skey toggle and a starred-only filter for quick access to important sessions. - Add switchable message layouts — Default, Compact, and Stream — cycled with the
lkey. - Add collapsible sidebar grouping by agent to organize sessions by tool.
- Add block-type filtering to toggle visibility of user messages, assistant responses, thinking blocks, tool calls, and code blocks.
- Add a copy button on message headers to copy message content to the clipboard.
- Add inline subagent transcript viewing for Task and Agent tool calls, loading the full subagent conversation on demand.
Improvements
- Enrich Codex tool call display with structured formatting for bash, write_stdin, and apply_patch calls.
- Store tool result content alongside tool calls, with configurable category blocklists to control database size.
- Use a non-destructive database resync flow that preserves existing session data instead of dropping the database.
- Simplify the message viewer header by removing the dedicated toggle-thinking button (use block-type filtering instead).
Bug fixes
- Return an empty array instead of
nullfrom the sessions API when no sessions match. - Fix dashboard date handling in analytics and insights views for consistent date-range filtering.
Acknowledgements
- Thanks to Luis Colunga for Amp agent support and centralizing the agent registry.
- Thanks to Christoph Deil for returning an empty array instead of null from the sessions API and adding VSCode Copilot agent support.
- Thanks to thellert for subagent transcript viewing for Task and Agent tool calls.
- Thanks to TalesOfThales for the per-message copy button, block-type filtering by content category, collapsible sidebar grouping by agent, switchable message layouts (default, compact, stream), and session starring with localStorage persistence.
0.9.0
2026-02-27
New features
- Add Cursor agent support, including parsing Cursor sessions and filtering them in the UI.
Improvements
- Show tool call parameters in expanded tool blocks for better execution visibility.
- Restrict CORS to
localhostorigin to improve local security defaults.
Bug fixes
- Fix
install.shversion parsing so installs work correctly with minified release JSON.
Acknowledgements
- Thanks to procrypt for restricting CORS to the localhost origin.
0.8.0
2026-02-26
New features
- Replace the project dropdown with a filterable typeahead to find and switch projects faster.
Improvements
- Improve resync reliability so session data stays in sync more consistently.
- Polish startup UX to make initial loading clearer and smoother.
Bug fixes
- Fix Gemini message parsing and display for thinking blocks.
- Fix text selection inside tool call blocks.
Acknowledgements
- Thanks to CL Kao for the session DAG view with fork detection and subagent linking.
- Thanks to Marius van Niekerk for fixing text selection inside tool-call blocks and the filterable project typeahead.
0.7.0
2026-02-25
New features
- Add a session DAG view that detects forks and shows branch relationships.
- Add inline subagent linking so parent and subagent conversations are connected in context.
- Add an
Alloption to the Analytics date range picker. - Add a
Hide unknownfilter to reduce noise from unclassified items.
Improvements
- Improve Gemini project resolution for more accurate project attribution.
- Update Gemini model handling to support newer model variants.
Bug fixes
- Fix Analytics message counting so totals match actual message data.
- Fix agent color assignment for more consistent visual identification.
0.6.0
2026-02-25
New features
- Support multiple Claude project directories, including mixed Windows/WSL setups.
- Add session filters to quickly narrow the session list and analytics views.
- Add in-app resync so you can refresh data without restarting AgentsView.
- Support theme control via
postMessagewhen embedding AgentsView in an iframe.
Improvements
- Condense watcher warnings to reduce noisy sync notifications.
- Add a polling fallback for unwatchable directories to keep sync running reliably.
Bug fixes
- Fix an app freeze when search returns no results.
- Fix Gemini project detection so sessions map to the correct project.
0.5.0
2026-02-25
New features
- Add Copilot CLI session support so Copilot CLI conversations appear in AgentsView.
- Add OpenCode session history support so OpenCode conversations can be synced and viewed.
- Show a copyable Session ID in the session detail header for quicker sharing and lookup.
Improvements
- Improve session source classification and sync coverage for newly supported tools.
- Follow symlinks during project discovery so linked workspaces are detected correctly.
- Improve interrupted-run recovery so valid sync results are preserved more reliably.
Acknowledgements
- Thanks to Shreyas Karnik for the copyable Session ID in the session detail header.
- Thanks to CL Kao for following symlinks when discovering project directories.
- Thanks to thellert for theme control via postMessage for iframe embedding.
- Thanks to Nat Torkington for multi-directory Claude project support (including mixed Windows/WSL), condensed watcher warnings, and a polling fallback for unwatchable directories.
0.4.1
2026-02-24
Improvements
- Speed up sync to reduce startup and refresh time.
- Improve startup logging to make initialization progress clearer.
Bug fixes
- Fix insights generation/store behavior to improve stability and accuracy.
- Restore
CLAUDE_NO_SOUND=1for Claude subprocesses to keep background runs silent.
0.4.0
2026-02-24
New features
- Add AI-powered Insights with multi-agent generation for session analysis.
- Introduce an Insights page to view and manage generated insights.
- Add structured tool-call metadata for clearer, richer tool output display.
Improvements
- Normalize worktree project names so sessions stay grouped consistently across worktrees.
- Improve message and tool block presentation for better readability.
Bug fixes
- Fix insight generation authentication failures.
- Skip oversized JSONL lines during ingest so one bad line no longer fails the whole session.
- Embed the IANA timezone database to improve timezone support on Windows.
0.3.2
2026-02-23
New features
- Add session continuity via
sessionIdchaining, so resumed conversations stay linked as one ongoing session across sync/import.
Improvements
- Improve sidebar session list and item behavior to better represent continued sessions.
- Make session list state updates and virtualization smoother for larger histories.
Bug fixes
- Fix cases where continued conversation segments appear as separate sessions instead of a single chain.
- Fix Claude parsing/sync edge cases so session links persist reliably.
0.3.1
2026-02-22
Bug fixes
- Keep exported and gist HTML styling in sync with current app design tokens for consistent visuals.
0.3.0
2026-02-22
New features
- Add an Activity Timeline in Analytics to visualize session activity over time.
Improvements
- Improve the message viewer with clearer rendering for code blocks, tool calls, and thinking content.
- Refine the analytics experience for easier session exploration and readability.
- Improve sync performance to load and refresh data faster.
- Update project dependencies to improve compatibility and stability.
- Standardize session count formatting with explicit
en-USlocale handling for consistent display.
0.2.2
2026-02-22
Improvements
- Reduce Hour-of-Week heatmap cell size by 20% for a denser, easier-to-scan analytics view.
Bug fixes
- Fix available-port probing to bind the correct host, improving startup reliability.
- Ensure builds compile without frontend assets by providing
go:embedstubs.
0.2.1
2026-02-21
Improvements
- Improve Codex output parsing so edge cases are handled more reliably.
Bug fixes
- Make installer exit on
SHA256SUMSdownload failures to prevent incomplete or unverified installs.
0.2.0
2026-02-21
New features
- Render Codex function calls as informative tool blocks in session views and exports.
Improvements
- Make the activity calendar full-width and centered for a cleaner analytics layout.
- Increase heatmap cell size (about 20%) to improve readability.
- Combine day and hour activity charts into a more streamlined analytics view.
- Default analytics to a 1-year date range instead of 30 days.
- Match gist/export styling with the app's visual theme for consistent output.
- Filter out system-injected user messages from the message list display.
0.1.0
2026-02-21
New features
- Launch AgentsView with an integrated Go backend and Svelte frontend.
- Add analytics as the home screen with a persistent sidebar.
- Add rich dashboard views, including summary cards, activity timeline, project breakdown, top sessions, and session shape metrics.
- Add hour-of-week heatmap analytics with timezone display and interactive filtering.
- Add tool-aware analytics, including tool usage, thinking/tool counts, velocity metrics, and agent comparison.
- Add analytics permalinks, drill-down navigation, transitions, and CSV export.
- Add Gemini CLI session ingestion.
- Add tool-call ingestion and parsing (including Codex function calls) for deeper analytics.
- Add self-update support and cross-platform install scripts.
- Add frontend/backend version tracking with mismatch detection.
Improvements
- Improve dashboard usability with centralized active filter badges, project filtering, top sessions, and layout updates.
- Improve session pane performance and virtualized list stability for deep scrolling.
- Load sessions and selected session messages fully by default for smoother browsing.
- Improve search UX by scrolling to and highlighting the matched message.
- Keep sessions newest-first while showing messages in chronological order.
- Refresh branding with the AgentsView name, periscope logo, and favicon.
- Update assistant message colors to a warmer, higher-contrast palette.
Bug fixes
- Fix analytics drill-down behavior so heatmap and project clicks filter and navigate correctly.
- Fix
prune --max-messagesso it counts user messages correctly. - Fix Claude parsing to skip system-injected user messages.
- Fix chart panels so they stay within dashboard grid bounds.
- Fix route and query handling to reject invalid routes and empty filters.
- Fix concurrent load/search race conditions to keep results consistent.
- Harden markdown sanitization to prevent XSS and preserve escaped content.
- Fix theme persistence when browser
localStorageis unavailable. - Fix session-loading edge cases, including short session IDs and empty Gemini directories.
- Fix Darwin release builds by targeting the macOS 15 runner.