<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vladislav Ramazaev</title>
    <description>The latest articles on DEV Community by Vladislav Ramazaev (@vladar107).</description>
    <link>https://dev.to/vladar107</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4001141%2Fbebe3d69-a81a-4eb3-8926-ba48d36365d1.jpg</url>
      <title>DEV Community: Vladislav Ramazaev</title>
      <link>https://dev.to/vladar107</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vladar107"/>
    <language>en</language>
    <item>
      <title>Want to share one tool I use. Hope, you also can find it useful</title>
      <dc:creator>Vladislav Ramazaev</dc:creator>
      <pubDate>Fri, 26 Jun 2026 12:22:11 +0000</pubDate>
      <link>https://dev.to/vladar107/want-to-share-one-tool-i-use-hope-you-also-can-find-it-useful-1pkl</link>
      <guid>https://dev.to/vladar107/want-to-share-one-tool-i-use-hope-you-also-can-find-it-useful-1pkl</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/vladar107/how-i-built-a-local-explorer-for-six-ai-coding-agents-2bj" class="crayons-story__hidden-navigation-link"&gt;How I Built a Local Explorer for Six AI Coding Agents.&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/vladar107" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4001141%2Fbebe3d69-a81a-4eb3-8926-ba48d36365d1.jpg" alt="vladar107 profile" class="crayons-avatar__image" width="460" height="460"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/vladar107" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Vladislav Ramazaev
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Vladislav Ramazaev
                
              
              &lt;div id="story-author-preview-content-3982058" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/vladar107" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4001141%2Fbebe3d69-a81a-4eb3-8926-ba48d36365d1.jpg" class="crayons-avatar__image" alt="" width="460" height="460"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Vladislav Ramazaev&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/vladar107/how-i-built-a-local-explorer-for-six-ai-coding-agents-2bj" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Jun 24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/vladar107/how-i-built-a-local-explorer-for-six-ai-coding-agents-2bj" id="article-link-3982058"&gt;
          How I Built a Local Explorer for Six AI Coding Agents.
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/ai"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;ai&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/agents"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;agents&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/claude"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;claude&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/opensource"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;opensource&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/vladar107/how-i-built-a-local-explorer-for-six-ai-coding-agents-2bj" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;1&lt;span class="hidden s:inline"&gt;&amp;nbsp;reaction&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/vladar107/how-i-built-a-local-explorer-for-six-ai-coding-agents-2bj#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              &lt;span class="hidden s:inline"&gt;Add&amp;nbsp;Comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            6 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success crayons-icon c-btn__icon"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
    </item>
    <item>
      <title>How I Built a Local Explorer for Six AI Coding Agents.</title>
      <dc:creator>Vladislav Ramazaev</dc:creator>
      <pubDate>Wed, 24 Jun 2026 22:00:00 +0000</pubDate>
      <link>https://dev.to/vladar107/how-i-built-a-local-explorer-for-six-ai-coding-agents-2bj</link>
      <guid>https://dev.to/vladar107/how-i-built-a-local-explorer-for-six-ai-coding-agents-2bj</guid>
      <description>&lt;p&gt;AI coding agents are becoming a normal part of software engineering, but their history is still surprisingly difficult to work with.&lt;/p&gt;

&lt;p&gt;A session usually lives inside one specific tool. Once it becomes long, gets archived, or you switch to another agent, finding an earlier decision, command, error, or code change becomes unnecessarily difficult.&lt;/p&gt;

&lt;p&gt;I originally built &lt;strong&gt;Claudescope&lt;/strong&gt; as a small viewer for my Claude Code sessions.&lt;br&gt;
It has since grown into a local, read-only explorer for sessions produced by six coding agents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Claude Code&lt;/li&gt;
&lt;li&gt;OpenAI Codex&lt;/li&gt;
&lt;li&gt;JetBrains Junie&lt;/li&gt;
&lt;li&gt;pi&lt;/li&gt;
&lt;li&gt;opencode&lt;/li&gt;
&lt;li&gt;GitHub Copilot CLI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project is open source and available on GitHub &lt;a href="https://github.com/vladar107/claudescope" rel="noopener noreferrer"&gt;github.com/vladar107/claudescope&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1lo7f3py8qmsua7vaukj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1lo7f3py8qmsua7vaukj.png" alt="Claudescope Browse View" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  The problem with coding-agent history
&lt;/h2&gt;

&lt;p&gt;Coding agents generate a large amount of useful context:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;prompts and responses&lt;/li&gt;
&lt;li&gt;commands and tool calls&lt;/li&gt;
&lt;li&gt;generated code&lt;/li&gt;
&lt;li&gt;file edits&lt;/li&gt;
&lt;li&gt;architectural decisions&lt;/li&gt;
&lt;li&gt;failed attempts&lt;/li&gt;
&lt;li&gt;debugging history&lt;/li&gt;
&lt;li&gt;token usage&lt;/li&gt;
&lt;li&gt;project memory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, every agent stores this information differently.&lt;/p&gt;

&lt;p&gt;Some use JSONL files. Some use SQLite. Their schemas, directory structures, tool-call formats, and metadata are different.&lt;/p&gt;

&lt;p&gt;The data exists, but it is optimized for the agent runtime rather than for a developer trying to answer questions such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why was this implementation chosen?&lt;/li&gt;
&lt;li&gt;Which session introduced this change?&lt;/li&gt;
&lt;li&gt;What command fixed this issue?&lt;/li&gt;
&lt;li&gt;How much did this project cost?&lt;/li&gt;
&lt;li&gt;Which agent previously worked in this repository?&lt;/li&gt;
&lt;li&gt;What context did the agent preserve for future sessions?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is possible to search the raw files with &lt;code&gt;grep&lt;/code&gt;, but that quickly becomes inconvenient once sessions contain nested tool calls, long outputs, subagents, generated diffs, and several agents using different formats.&lt;/p&gt;
&lt;h2&gt;
  
  
  From a Claude viewer to a multi-agent explorer
&lt;/h2&gt;

&lt;p&gt;The first version only understood Claude Code transcripts.&lt;/p&gt;

&lt;p&gt;Supporting more agents required changing the internal model. Claudescope could no longer treat Claude’s format as the application format.&lt;/p&gt;

&lt;p&gt;Instead, each agent now has a connector responsible for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;locating its local session storage&lt;/li&gt;
&lt;li&gt;reading it without modifying anything&lt;/li&gt;
&lt;li&gt;parsing its native format&lt;/li&gt;
&lt;li&gt;converting events into a shared session model&lt;/li&gt;
&lt;li&gt;associating sessions with projects&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means a repository touched by Claude Code, Codex, and opencode appears as one project rather than three unrelated histories.&lt;/p&gt;

&lt;p&gt;Each session still keeps its agent identity, so sessions can be filtered and compared without losing their origin.&lt;/p&gt;

&lt;p&gt;Adding another agent is mostly a matter of implementing another connector rather than changing the rest of the application.&lt;/p&gt;
&lt;h2&gt;
  
  
  Reading a session as a conversation
&lt;/h2&gt;

&lt;p&gt;Raw transcript files are useful for machines, but not particularly pleasant for humans.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F57p5ds4q7nu0wawi2wz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F57p5ds4q7nu0wawi2wz0.png" alt="Claudescope Session View" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claudescope renders a session as a threaded conversation with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Markdown rendering&lt;/li&gt;
&lt;li&gt;syntax-highlighted code&lt;/li&gt;
&lt;li&gt;tool calls paired with their results&lt;/li&gt;
&lt;li&gt;collapsible reasoning and long outputs&lt;/li&gt;
&lt;li&gt;subagent and sidechain turns&lt;/li&gt;
&lt;li&gt;attachments&lt;/li&gt;
&lt;li&gt;token information&lt;/li&gt;
&lt;li&gt;command and terminal blocks&lt;/li&gt;
&lt;li&gt;syntax-highlighted file diffs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claude Code slash commands and shell turns are also converted from their raw representation into cleaner command and terminal blocks.&lt;/p&gt;

&lt;p&gt;For large sessions, rendering everything at once becomes expensive. Claudescope progressively renders turns and clamps very large tool outputs behind a &lt;strong&gt;Show all&lt;/strong&gt; action.&lt;/p&gt;

&lt;p&gt;There is also an in-session search bar. It searches regular messages, collapsed reasoning, tool calls, tool results, and subagent content, then expands the relevant section automatically.&lt;/p&gt;
&lt;h2&gt;
  
  
  Reviewing what the agent changed
&lt;/h2&gt;

&lt;p&gt;Conversation history is only one side of an agent session. In many cases, the most important output is the set of modified files.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhk9f4x291lj6yxtlw420.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fhk9f4x291lj6yxtlw420.png" alt="Claudescope Changed Files View" width="800" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Files changed&lt;/strong&gt; view aggregates edits made during a session and presents them more like a code review:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;changed-file navigation&lt;/li&gt;
&lt;li&gt;per-file additions and deletions&lt;/li&gt;
&lt;li&gt;diff statistics&lt;/li&gt;
&lt;li&gt;syntax-highlighted red and green diffs&lt;/li&gt;
&lt;li&gt;lazily loaded file contents&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is useful when returning to an old session and wanting to understand its actual effect without rereading the full conversation.&lt;/p&gt;

&lt;p&gt;It also helps separate what the agent discussed from what it eventually changed.&lt;/p&gt;
&lt;h2&gt;
  
  
  Searching across all sessions
&lt;/h2&gt;

&lt;p&gt;Claudescope builds a local DuckDB index over normalized session events.&lt;/p&gt;

&lt;p&gt;Full-text search uses DuckDB BM25 and works across all supported agents and projects.&lt;/p&gt;

&lt;p&gt;Results are grouped by session and include highlighted snippets. Selecting a result opens the original session at the matching message.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcarcntwm8l454ov0so9e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fcarcntwm8l454ov0so9e.png" alt="Claudescope Search View" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This makes the session archive useful as an engineering knowledge base.&lt;/p&gt;

&lt;p&gt;For example, I can search for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an error message I encountered weeks ago&lt;/li&gt;
&lt;li&gt;the name of a class an agent refactored&lt;/li&gt;
&lt;li&gt;an architectural trade-off discussed in another session&lt;/li&gt;
&lt;li&gt;a command that solved a local environment issue&lt;/li&gt;
&lt;li&gt;a prompt pattern that produced a useful result&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The index is refreshed automatically as new sessions appear.&lt;/p&gt;
&lt;h2&gt;
  
  
  Agent memory is part of the history
&lt;/h2&gt;

&lt;p&gt;Transcripts are not the only source of agent context.&lt;/p&gt;

&lt;p&gt;Different agents also maintain instruction and memory files such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Copilot instruction files&lt;/li&gt;
&lt;li&gt;agent-specific project memory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Claudescope includes a memory browser that presents these files alongside session history.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fso32rth10zx4vasz10bt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fso32rth10zx4vasz10bt.png" alt="Claudescope Memory View" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For Claude Code’s distilled project facts, memory entries can link back to the session that produced them. This provides provenance instead of showing memory as unexplained text.&lt;/p&gt;

&lt;p&gt;This became especially useful after adding multiple agents. Instructions and memory are often fragmented across several files, even when they describe the same project.&lt;/p&gt;
&lt;h2&gt;
  
  
  Continuing an old session
&lt;/h2&gt;

&lt;p&gt;A session viewer should not necessarily become another coding-agent client.&lt;/p&gt;

&lt;p&gt;Claudescope remains read-only, but it can generate the appropriate resume or fork command for the original agent CLI.&lt;/p&gt;

&lt;p&gt;You can copy the command, return to the terminal, and continue the session in the tool that created it.&lt;/p&gt;

&lt;p&gt;This keeps responsibilities separate:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the agent remains responsible for running and modifying code&lt;/li&gt;
&lt;li&gt;Claudescope remains responsible for browsing and analysing history&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Token, cost, and efficiency analytics
&lt;/h2&gt;

&lt;p&gt;Agent sessions are also operational data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftmeqmry6tyocofyrg9jm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftmeqmry6tyocofyrg9jm.png" alt="Claudescope Analytics View" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Claudescope tracks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;input and output tokens&lt;/li&gt;
&lt;li&gt;cache reads and cache creation&lt;/li&gt;
&lt;li&gt;estimated cost&lt;/li&gt;
&lt;li&gt;cost by project&lt;/li&gt;
&lt;li&gt;cost by model&lt;/li&gt;
&lt;li&gt;cost by agent&lt;/li&gt;
&lt;li&gt;activity over time&lt;/li&gt;
&lt;li&gt;cache-hit ratios&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pricing can be refreshed from LiteLLM’s community pricing table, while local overrides remain possible.&lt;/p&gt;

&lt;p&gt;The newer session-efficiency view ranks sessions by cost and provides context such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;response count&lt;/li&gt;
&lt;li&gt;cost per response&lt;/li&gt;
&lt;li&gt;tool-call count&lt;/li&gt;
&lt;li&gt;tools per response&lt;/li&gt;
&lt;li&gt;cache usage&lt;/li&gt;
&lt;li&gt;statistical outlier indicators&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not intended to declare one agent or session objectively “better.” It makes unusually expensive or tool-heavy sessions easier to identify and investigate.&lt;/p&gt;
&lt;h2&gt;
  
  
  Exporting and sharing sessions
&lt;/h2&gt;

&lt;p&gt;Sessions can be exported to Markdown for documentation, bug reports, or technical discussions.&lt;/p&gt;

&lt;p&gt;Because transcripts may include local paths and credentials, the export flow includes an optional redaction mode for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;home-directory paths&lt;/li&gt;
&lt;li&gt;likely secrets&lt;/li&gt;
&lt;li&gt;sensitive environment values&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Redaction is necessarily heuristic, so exported content should still be reviewed before publishing.&lt;/p&gt;
&lt;h2&gt;
  
  
  Local and read-only by design
&lt;/h2&gt;

&lt;p&gt;Coding-agent transcripts can contain source code, prompts, file paths, commands, memory, and sometimes secrets.&lt;/p&gt;

&lt;p&gt;For that reason, Claudescope runs locally and binds to &lt;code&gt;127.0.0.1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It treats every agent source as read-only. Its own persistent state—primarily the DuckDB index and pricing files—is stored separately under &lt;code&gt;~/.claudescope&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Transcript content is not uploaded to a hosted service.&lt;/p&gt;

&lt;p&gt;The server also rejects non-loopback &lt;code&gt;Host&lt;/code&gt; headers. Binding to localhost alone does not prevent DNS-rebinding attacks from malicious websites, so the additional host validation protects the local transcript API without introducing a login flow.&lt;/p&gt;

&lt;p&gt;The only optional outbound requests are version and model-pricing checks. Neither includes transcript content.&lt;/p&gt;
&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;Claudescope is distributed through npm, Homebrew, and Nix.&lt;/p&gt;
&lt;h3&gt;
  
  
  npm
&lt;/h3&gt;

&lt;p&gt;Node.js 22.12 or newer is required.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @vladar107/claudescope
claudescope
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It can also be started without a global installation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @vladar107/claudescope
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Homebrew
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew tap vladar107/tap
brew &lt;span class="nb"&gt;install &lt;/span&gt;claudescope
claudescope
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Nix
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nix run github:vladar107/claudescope
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The default command starts the application as a background process and opens it in the browser.&lt;/p&gt;

&lt;p&gt;Other lifecycle commands include:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claudescope status
claudescope open
claudescope logs &lt;span class="nt"&gt;-f&lt;/span&gt;
claudescope restart
claudescope stop
claudescope update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What changed after the first release
&lt;/h2&gt;

&lt;p&gt;The initial release was primarily a Claude Code session viewer.&lt;/p&gt;

&lt;p&gt;Since then, Claudescope has added:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;support for five additional coding agents&lt;/li&gt;
&lt;li&gt;unified multi-agent projects&lt;/li&gt;
&lt;li&gt;Windows support&lt;/li&gt;
&lt;li&gt;Homebrew and Nix installation&lt;/li&gt;
&lt;li&gt;better handling of very large sessions&lt;/li&gt;
&lt;li&gt;a memory and instruction-file browser&lt;/li&gt;
&lt;li&gt;session resume and fork commands&lt;/li&gt;
&lt;li&gt;a rebuilt code-review-style Files changed view&lt;/li&gt;
&lt;li&gt;Markdown export with optional redaction&lt;/li&gt;
&lt;li&gt;live model-pricing updates&lt;/li&gt;
&lt;li&gt;session-efficiency analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The direction has also changed slightly.&lt;/p&gt;

&lt;p&gt;The goal is no longer simply to make individual transcripts readable. It is to make coding-agent history searchable, reviewable, and reusable across tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is next?
&lt;/h2&gt;

&lt;p&gt;There are still many possible directions.&lt;/p&gt;

&lt;p&gt;Looking ahead, connectors for more agents are an obvious next step. Beyond that, I’m not entirely sure what should come next — it already covers my own workflow pretty well. I’d really like to hear how others are using their session history and what’s missing for them.&lt;/p&gt;

&lt;p&gt;I am particularly interested in how developers use old agent sessions in practice.&lt;br&gt;
Do you return to them to find decisions, prompts, commands, code changes, or something else?&lt;/p&gt;

&lt;p&gt;Feedback, bug reports, connector contributions, and pull requests are welcome: &lt;a href="https://github.com/vladar107/claudescope" rel="noopener noreferrer"&gt;Claudescope on GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>claude</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
