<?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: Zhanna M</title>
    <description>The latest articles on DEV Community by Zhanna M (@zhannam85).</description>
    <link>https://dev.to/zhannam85</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3978432%2F285d2e7a-536b-47a5-93bd-f0ac9c3542b4.png</url>
      <title>DEV Community: Zhanna M</title>
      <link>https://dev.to/zhannam85</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zhannam85"/>
    <language>en</language>
    <item>
      <title>I built a global session browser for Claude Code</title>
      <dc:creator>Zhanna M</dc:creator>
      <pubDate>Wed, 10 Jun 2026 23:10:15 +0000</pubDate>
      <link>https://dev.to/zhannam85/i-built-a-global-session-browser-for-claude-code-17om</link>
      <guid>https://dev.to/zhannam85/i-built-a-global-session-browser-for-claude-code-17om</guid>
      <description>&lt;p&gt;If you use Claude Code regularly, you've probably run into this: you start a conversation in one project, then a week later you want to pick it up — but &lt;code&gt;claude --resume&lt;/code&gt; only shows sessions for the directory you're currently in.&lt;/p&gt;

&lt;p&gt;Switch projects, lose your history. At least, that's how it feels.&lt;/p&gt;

&lt;h2&gt;
  
  
  The sessions are all there
&lt;/h2&gt;

&lt;p&gt;Turns out Claude Code stores every session centrally in &lt;code&gt;~/.claude/projects/&lt;/code&gt; — one subdirectory per project, each containing &lt;code&gt;.jsonl&lt;/code&gt; files. Nothing is lost. It's just not exposed anywhere useful.&lt;/p&gt;

&lt;p&gt;So I built c-trail 🐾 — a CLI tool that reads that directory and gives you a global view of every session, across every project, from anywhere.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it does
&lt;/h2&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; c-trail
c-trail
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&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%2Fgithub.com%2Fuser-attachments%2Fassets%2F64240f85-c9c9-470c-a73a-625f215d2b73" class="article-body-image-wrapper"&gt;&lt;img width="599" height="403" alt="Image" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fuser-attachments%2Fassets%2F64240f85-c9c9-470c-a73a-625f215d2b73"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An interactive arrow-key picker opens (or fzf if you have it installed), showing all your sessions sorted by last activity. Navigate with ↑↓, press Enter to resume. That's it.&lt;/p&gt;

&lt;p&gt;There's also:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Session preview&lt;/strong&gt; — see the first few messages before resuming&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full-text search&lt;/strong&gt; — &lt;code&gt;c-trail --filter "auth middleware"&lt;/code&gt; searches across all message text&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stats&lt;/strong&gt; — message count, token usage, and estimated cost per session&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filters&lt;/strong&gt; — &lt;code&gt;--project&lt;/code&gt;, &lt;code&gt;--recent&lt;/code&gt;, &lt;code&gt;--since&lt;/code&gt;, &lt;code&gt;--sort&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Export&lt;/strong&gt; — &lt;code&gt;c-trail export &amp;lt;id&amp;gt; --output session.md&lt;/code&gt; dumps a full transcript to Markdown&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct resume&lt;/strong&gt; — &lt;code&gt;c-trail resume &amp;lt;id&amp;gt;&lt;/code&gt; skips the picker entirely&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Zero dependencies
&lt;/h2&gt;

&lt;p&gt;The arrow-key picker is built with Node's built-in &lt;code&gt;readline&lt;/code&gt; module and ANSI escape codes — no npm dependencies required. fzf integration is optional and automatic if fzf is on your PATH.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&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; c-trail
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GitHub: &lt;a href="https://github.com/ZhannaM85/c-trail" rel="noopener noreferrer"&gt;github.com/ZhannaM85/c-trail&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feedback and contributions welcome — there are open issues if you want to jump in.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
