<?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: Prateek Saxena</title>
    <description>The latest articles on DEV Community by Prateek Saxena (@prateek_vortex).</description>
    <link>https://dev.to/prateek_vortex</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%2F4235211%2F085a0850-b999-4c54-a8e5-fc753393fefd.png</url>
      <title>DEV Community: Prateek Saxena</title>
      <link>https://dev.to/prateek_vortex</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prateek_vortex"/>
    <language>en</language>
    <item>
      <title>What does your issue tracker cost your coding agent? I measured it.</title>
      <dc:creator>Prateek Saxena</dc:creator>
      <pubDate>Mon, 09 Nov 2026 13:27:40 +0000</pubDate>
      <link>https://dev.to/prateek_vortex/what-does-your-issue-tracker-cost-your-coding-agent-i-measured-it-1m57</link>
      <guid>https://dev.to/prateek_vortex/what-does-your-issue-tracker-cost-your-coding-agent-i-measured-it-1m57</guid>
      <description>&lt;p&gt;I run Claude Code and Codex most of the day, and most of that work is tied to issues: read the ticket, do the work, post progress, hand it off. At some point I wondered what the &lt;em&gt;tracker part&lt;/em&gt; of that loop costs, separately from the coding itself.&lt;/p&gt;

&lt;p&gt;Every time an agent reads an issue, posts a note or hands work off, the integration it uses costs tokens: instructions it has to load, tool definitions, and whatever the tracker sends back. Nobody seemed to measure it, so I did.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;One job, done the same way through each integration:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Find the open issue about EU refunds, read it with its full comment history (8 comments), post a given progress note, and hand the issue back for the next session.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Agent:&lt;/strong&gt; Claude Code (&lt;code&gt;claude -p&lt;/code&gt;), Sonnet 5.5&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Runs:&lt;/strong&gt; 3 per integration, medians reported&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Each tool used its official setup:&lt;/strong&gt; &lt;code&gt;tk init&lt;/code&gt; for Tiimi, &lt;code&gt;bd setup claude&lt;/code&gt; for Beads, the &lt;code&gt;gh&lt;/code&gt; CLI, and Linear's remote MCP server&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fresh state every run:&lt;/strong&gt; a new folder and a freshly seeded issue, with only that project's settings loaded&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Tracker tokens"&lt;/strong&gt; = the input tokens the agent processed, minus Claude Code's own fixed cost (about 16k, measured with no tracker at all)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The results
&lt;/h2&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%2Fwhf1ildw46ytmlympwg0.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%2Fwhf1ildw46ytmlympwg0.png" alt="Tracker tokens per job: tk 42-45k, gh CLI 63k, Beads 75k, Linear MCP 141k" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Integration&lt;/th&gt;
&lt;th&gt;Tracker tokens&lt;/th&gt;
&lt;th&gt;Cost per job&lt;/th&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;th&gt;Turns&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tiimi, local&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;42k&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.051&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;9.7 s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Beads&lt;/td&gt;
&lt;td&gt;75k&lt;/td&gt;
&lt;td&gt;$0.066&lt;/td&gt;
&lt;td&gt;11.2 s&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tiimi on GitHub Issues&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;44k&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.049&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;18.1 s&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;gh&lt;/code&gt; CLI&lt;/td&gt;
&lt;td&gt;63k&lt;/td&gt;
&lt;td&gt;$0.059&lt;/td&gt;
&lt;td&gt;15.9 s&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tiimi on Linear&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;45k&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.053&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;18.1 s&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linear MCP&lt;/td&gt;
&lt;td&gt;141k&lt;/td&gt;
&lt;td&gt;$0.099&lt;/td&gt;
&lt;td&gt;24.0 s&lt;/td&gt;
&lt;td&gt;6–8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Head to head:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;vs Linear's MCP server:&lt;/strong&gt; ≈3× fewer tokens, about half the cost, 25% faster&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;vs Beads:&lt;/strong&gt; 44% fewer tokens, 23% lower cost, 13% faster&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;vs the &lt;code&gt;gh&lt;/code&gt; CLI:&lt;/strong&gt; 30% fewer tokens and 17% lower cost (about 2 seconds slower, because Tiimi also moves the issue's status)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every run of every integration finished the job.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the tokens go
&lt;/h2&gt;

&lt;p&gt;Reading the session traces made the differences obvious.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Linear MCP&lt;/strong&gt; loads its tool definitions, then the agent searches, fetches the issue, fetches the comments, posts, and updates the status: six to eight model turns. Each turn re-sends the growing context, and the responses are JSON with IDs, timestamps and metadata the agent never uses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beads&lt;/strong&gt; is efficient once it's going (search, show plus comments, comment), but it pays about 2k tokens up front every session: &lt;code&gt;bd prime&lt;/code&gt; injects its command reference, and its &lt;code&gt;CLAUDE.md&lt;/code&gt; loads too. In return the agent knows exactly what to run, and it showed: four turns, every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The &lt;code&gt;gh&lt;/code&gt; CLI&lt;/strong&gt; is lean, but the agent has to ask for &lt;code&gt;--json&lt;/code&gt; with the right fields, and the issue with comments came back as 4.5 KB of JSON.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tiimi&lt;/strong&gt; gives the agent a session-start brief of about 200 tokens: the open issues plus a one-line command card, so it never runs &lt;code&gt;--help&lt;/code&gt;. &lt;code&gt;tk show&lt;/code&gt; returns the issue and all comments as plain lines (1.7 KB here), and a single chained command claims the issue, posts the note and hands it back. Three turns, every run.&lt;/p&gt;

&lt;p&gt;The pattern: &lt;strong&gt;fewer turns matter more than smaller responses&lt;/strong&gt;, because every extra turn re-reads everything before it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else Tiimi does
&lt;/h2&gt;

&lt;p&gt;The benchmark measures the tracker layer, but the reason I built &lt;a href="https://tiimi.dev" rel="noopener noreferrer"&gt;Tiimi&lt;/a&gt; is the loop around it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost per issue, from logs you already have.&lt;/strong&gt; Run this once:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tk receipt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It reads the logs Claude Code and Codex write on your machine, prices each reply at list price, and groups the cost by issue from your branch names (&lt;code&gt;eng-142-fix-login&lt;/code&gt; → ENG-142). No setup, nothing uploaded. On a subscription it still shows which issues eat your usage limits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Handoffs between sessions and between agents.&lt;/strong&gt; When an agent runs low on context it runs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;tk handoff &lt;span class="s2"&gt;"Rounding fixed in refunds.ts. Left: 2 failing tax.spec cases. Decimal.js everywhere was 3x slower, reverted."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The next session, Claude Code or Codex, starts from that note: what's done, what's left, and the dead ends, so it doesn't retry the same failed approach.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your existing tracker.&lt;/strong&gt; It works with Linear, GitHub Issues and Jira (beta), or a local store, so there's no second tracker to keep in sync.&lt;/p&gt;

&lt;p&gt;Here's the full loop in 50 seconds, on a sample project:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fraw.githubusercontent.com%2Ftiimihq%2Ftk%2Fmain%2Fdemo%2Ftiimi-demo.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fraw.githubusercontent.com%2Ftiimihq%2Ftk%2Fmain%2Fdemo%2Ftiimi-demo.gif" alt="Tiimi demo: tk receipt, then Claude Code hands an issue off to Codex" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Run it yourself
&lt;/h2&gt;

&lt;p&gt;The prompts, seed data, raw results and the benchmark script are in the repo under &lt;a href="https://github.com/tiimihq/tk/tree/main/bench/trackers" rel="noopener noreferrer"&gt;&lt;code&gt;bench/trackers&lt;/code&gt;&lt;/a&gt;. It's one workflow on one issue, so rerun it on your own setup; I'd like to see the numbers from other agents and bigger histories.&lt;/p&gt;

&lt;p&gt;To try Tiimi:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://tiimi.dev/install | sh    &lt;span class="c"&gt;# or: brew install tiimihq/tap/tiimi&lt;/span&gt;
tk receipt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's free and MIT-licensed: &lt;a href="https://github.com/tiimihq/tk" rel="noopener noreferrer"&gt;github.com/tiimihq/tk&lt;/a&gt;. If you run it, I'd love to hear what your most expensive issue was.&lt;/p&gt;

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