<?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: Henry Godnick</title>
    <description>The latest articles on DEV Community by Henry Godnick (@godnick).</description>
    <link>https://dev.to/godnick</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%2F3817679%2Fcc7b25b9-6c16-4824-b743-b929b96b2192.png</url>
      <title>DEV Community: Henry Godnick</title>
      <link>https://dev.to/godnick</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/godnick"/>
    <language>en</language>
    <item>
      <title>The Weekly Limit Is the New Wall: A Field Guide to Claude's Weekly Cap and the Shared ChatGPT + Codex Allowance</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Thu, 05 Nov 2026 01:42:39 +0000</pubDate>
      <link>https://dev.to/godnick/the-weekly-limit-is-the-new-wall-a-field-guide-to-claudes-weekly-cap-and-the-shared-chatgpt--on7</link>
      <guid>https://dev.to/godnick/the-weekly-limit-is-the-new-wall-a-field-guide-to-claudes-weekly-cap-and-the-shared-chatgpt--on7</guid>
      <description>&lt;p&gt;For most of last year, the number that ruined your afternoon was the 5-hour window. You'd hit it, take a coffee break, and come back. That era is ending. On Claude, the weekly limit is now the cap that actually stops work: even the new top plan drops the 5-hour cap for Claude Code but keeps the weekly one. On the OpenAI side, from December ChatGPT and Codex draw from one shared allowance, so a long chat about a design doc now spends the same budget your coding agent needs on Thursday.&lt;/p&gt;

&lt;p&gt;Both changes push the same way: you need to budget for a week, not a session. Here's what's worked for me.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Know your real burn rate, not your vibe
&lt;/h3&gt;

&lt;p&gt;Most people find out they're near the weekly cap when the agent stops. Instead, take three readings a day for one week: morning, after lunch, end of day. In Claude Code, &lt;code&gt;/status&lt;/code&gt; shows where you are; for Codex, check the usage page in ChatGPT settings. Write the percentages down.&lt;/p&gt;

&lt;p&gt;After a week you'll know two numbers: your average daily burn and your worst day. If worst day × 5 is over 100%, you will hit the wall in a normal week. That's the number to fix.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Treat one 5-hour session as a slice of the week
&lt;/h3&gt;

&lt;p&gt;A common report right now: one heavy 5-hour session uses 15–20% of the weekly allowance. That means four or five intense sessions is your entire week. Plan around it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Split big tasks.&lt;/strong&gt; One giant "refactor the whole module" prompt drags an ever-growing context. Five scoped tasks in fresh sessions are usually cheaper and better.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start fresh sessions often.&lt;/strong&gt; Long sessions re-send long context. When a session drifts, summarize the state into a note and start over.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep CLAUDE.md / AGENTS.md short.&lt;/strong&gt; It rides along on every request. Move rarely used detail into separate docs the agent reads on demand.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Match the model to the job
&lt;/h3&gt;

&lt;p&gt;Use the biggest model for planning, hard debugging and architecture. Use the smaller, cheaper model for renames, tests, boilerplate and status updates. Background subagents in Claude Code just got much cheaper for status updates, but the main loop still costs what it costs; route accordingly.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Budget chat and code together (Codex users)
&lt;/h3&gt;

&lt;p&gt;Once ChatGPT and Codex share an allowance, the mental model changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Decide a split, e.g. 70% coding agent / 30% chat, and check it mid-week.&lt;/li&gt;
&lt;li&gt;Do long brainstorming in a model you don't need for coding, if you have one.&lt;/li&gt;
&lt;li&gt;Don't paste huge logs into chat "just to ask"; trim them first.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  5. Put the reset time where you can see it
&lt;/h3&gt;

&lt;p&gt;The single most useful fact is not "how much have I used" but "am I burning faster than it refills, and when does it reset?" If the reset is Friday morning and you're at 85% on Wednesday, Thursday is a small-model day. If it resets tomorrow and you're at 60%, spend freely.&lt;/p&gt;

&lt;p&gt;Write the reset day on a sticky note if you have to. The point is to never be surprised.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Have a fallback plan before you need it
&lt;/h3&gt;

&lt;p&gt;When the cap hits mid-task, the cost isn't the tokens, it's the lost context. Keep a running &lt;code&gt;NOTES.md&lt;/code&gt; in the repo that the agent updates as it works (what's done, what's next, open questions). If you have to switch tools or wait for the reset, you resume in minutes instead of rebuilding context from scratch.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. A weekly routine that takes 5 minutes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Monday:&lt;/strong&gt; check where you start, note the reset time, decide your big-model days.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wednesday:&lt;/strong&gt; check the burn rate. Above 60%? Shift to smaller models and scoped tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Friday / reset day:&lt;/strong&gt; look back at what ate the most. Usually it's one runaway session or one enormous context.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tools
&lt;/h3&gt;

&lt;p&gt;Claude Code's &lt;code&gt;/status&lt;/code&gt; and the ChatGPT usage page are enough if you check them. If you want the numbers always visible on a Mac, Peter Steinberger's free, MIT-licensed CodexBar puts them in the menu bar. Disclosure: I make TokenBar, which is built on CodexBar (&lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;tokenbar.site&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Whatever you use, the habit matters more than the tool: know your weekly burn, know your reset time, and match the model to the job. How are you handling the new limits?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This post was drafted with AI assistance.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>claude</category>
      <category>devtools</category>
    </item>
    <item>
      <title>DraftKey in a Developer's Workday: $4.99 Tab Autocomplete for Slack, Email and PR Descriptions on Mac</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Tue, 27 Oct 2026 18:58:35 +0000</pubDate>
      <link>https://dev.to/godnick/draftkey-in-a-developers-workday-499-tab-autocomplete-for-slack-email-and-pr-descriptions-on-4a9m</link>
      <guid>https://dev.to/godnick/draftkey-in-a-developers-workday-499-tab-autocomplete-for-slack-email-and-pr-descriptions-on-4a9m</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;DraftKey&lt;/a&gt; is a Mac app that puts on-device AI autocomplete and rewrite into almost any text field: type, see grey ghost text, press Tab to accept it, or select a sentence and press ⌘⌥ to rewrite it in place. It costs $4.99 once, a lifetime license for up to 3 Macs, and runs fully offline on Apple Silicon (macOS 14+, ~1.12 GB local model).&lt;/strong&gt; Get it at &lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;getdraftkey.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I built DraftKey (Aura Technologies). There's no free trial, so I'll be specific about where it helps and where it doesn't.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a developer would want this
&lt;/h2&gt;

&lt;p&gt;Code editors already have Copilot-style completion. The writing &lt;em&gt;around&lt;/em&gt; code doesn't: Slack replies, standup notes, emails to stakeholders, PR descriptions in the browser, issue comments. That's the gap DraftKey fills. It works through the macOS Accessibility API, so there's no plugin per app.&lt;/p&gt;

&lt;h2&gt;
  
  
  A normal day with it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Morning Slack catch-up.&lt;/strong&gt; You start "Looked into the flaky test, it turns out" and DraftKey offers the rest of the sentence. Tab if it's right, keep typing if not.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PR description in the browser.&lt;/strong&gt; Draft the summary roughly, select it, ⌘⌥, and you get a tighter version in the same text box.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email to a non-engineer.&lt;/strong&gt; Select the jargon-heavy paragraph and rewrite it into something a PM can read.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;End-of-day notes.&lt;/strong&gt; Short completions in Notes or Mail while the context is still in your head.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What it won't do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Not a frontier model.&lt;/strong&gt; The local model is good at finishing sentences and tightening prose. It won't design your system or write a long doc from one line.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not in your code editor.&lt;/strong&gt; Keep Copilot or Cursor for code. DraftKey is for prose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Some fields don't cooperate.&lt;/strong&gt; Terminals, secure/password fields, custom canvases and some Electron apps expose text poorly through Accessibility, so suggestions may not appear there.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apple Silicon + macOS 14 only.&lt;/strong&gt; No Intel Macs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why on-device matters for dev work
&lt;/h2&gt;

&lt;p&gt;Slack threads and PR descriptions often mention internal systems, customers or incidents. DraftKey's model runs locally, so what you type isn't sent to a cloud API for suggestions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Price, plainly
&lt;/h2&gt;

&lt;p&gt;$4.99 once. No subscription, no account, up to 3 Macs. If you write a lot of non-code text on an Apple Silicon Mac, &lt;strong&gt;&lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;get DraftKey at getdraftkey.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Aura Technologies&lt;/em&gt;&lt;/p&gt;

</description>
      <category>macos</category>
      <category>ai</category>
      <category>productivity</category>
      <category>writing</category>
    </item>
    <item>
      <title>TokenBar vs Claude Code's /cost and /status: Why I Built a $15 Menu Bar Meter Anyway</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Mon, 26 Oct 2026 21:56:39 +0000</pubDate>
      <link>https://dev.to/godnick/tokenbar-vs-claude-codes-cost-and-status-why-i-built-a-15-menu-bar-meter-anyway-5bmd</link>
      <guid>https://dev.to/godnick/tokenbar-vs-claude-codes-cost-and-status-why-i-built-a-15-menu-bar-meter-anyway-5bmd</guid>
      <description>&lt;p&gt;TokenBar is a Mac menu bar app that shows your AI coding usage, limits and reset times for Claude, Codex, Cursor, Gemini and Copilot in one glance. It costs &lt;strong&gt;$15 once, lifetime&lt;/strong&gt;, no subscription, and runs on macOS 14+. Get it at &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;tokenbar.site&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclosure:&lt;/strong&gt; I built TokenBar (Aura Technologies). It's built on the MIT-licensed &lt;a href="https://github.com/steipete/CodexBar" rel="noopener noreferrer"&gt;CodexBar&lt;/a&gt; by Peter Steinberger, which did a lot of the groundwork. I'm biased, so here's when you &lt;em&gt;don't&lt;/em&gt; need it too.&lt;/p&gt;

&lt;h2&gt;
  
  
  The free option you already have
&lt;/h2&gt;

&lt;p&gt;Claude Code ships with built-in commands for checking where you stand. &lt;code&gt;/cost&lt;/code&gt; shows token use and estimated cost for the current session, and &lt;code&gt;/status&lt;/code&gt; shows your account and session details. They're free, first-party, and accurate for the session you're in.&lt;/p&gt;

&lt;p&gt;The catch: you have to remember to type them, inside that one terminal, and they only know about Claude Code. They say nothing about your Codex weekly window, your Cursor plan, or Copilot.&lt;/p&gt;

&lt;h2&gt;
  
  
  What TokenBar adds
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Always visible.&lt;/strong&gt; A compact meter sits in the macOS menu bar. You see you're near a limit &lt;em&gt;before&lt;/em&gt; you start a big agent run, not after it stalls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every tool in one dropdown.&lt;/strong&gt; Claude, Codex, Cursor, Gemini and Copilot, with usage windows and reset times where each provider exposes them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Routing decisions.&lt;/strong&gt; If Claude is nearly capped and Codex is fresh, you can see that and send the next job to Codex.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$15 once.&lt;/strong&gt; No monthly fee for a meter.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Side by side
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Claude Code &lt;code&gt;/cost&lt;/code&gt; + &lt;code&gt;/status&lt;/code&gt;
&lt;/th&gt;
&lt;th&gt;TokenBar&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Price&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;$15 lifetime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tools covered&lt;/td&gt;
&lt;td&gt;Claude Code only&lt;/td&gt;
&lt;td&gt;Claude, Codex, Cursor, Gemini, Copilot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Where you see it&lt;/td&gt;
&lt;td&gt;Typed into one terminal session&lt;/td&gt;
&lt;td&gt;macOS menu bar, always on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platform&lt;/td&gt;
&lt;td&gt;Anywhere Claude Code runs&lt;/td&gt;
&lt;td&gt;macOS 14+ only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Billing source of truth&lt;/td&gt;
&lt;td&gt;Closer to it&lt;/td&gt;
&lt;td&gt;No, reads what providers expose&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Honest limits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Mac only&lt;/strong&gt;, macOS 14 or newer. No Windows or Linux.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not invoice-grade.&lt;/strong&gt; TokenBar reads what providers expose; if a provider changes its endpoints, numbers can lag until an update. Use the vendor dashboard for billing disputes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overkill for single-tool users.&lt;/strong&gt; If Claude Code is your only AI tool, &lt;code&gt;/cost&lt;/code&gt; and &lt;code&gt;/status&lt;/code&gt; are enough. Don't pay for this.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Who it's for
&lt;/h2&gt;

&lt;p&gt;You run Claude Code in one terminal, Codex in another, Cursor in the editor, and you keep getting cut off mid-refactor on one while another sits unused. That's exactly why I built it. One avoided cap-out mid-task is worth more than $15 of time.&lt;/p&gt;

&lt;p&gt;If that's you, it's &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;$15 lifetime at tokenbar.site&lt;/a&gt;. If not, the free commands you already have are fine.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Aura Technologies&lt;/em&gt;&lt;/p&gt;

</description>
      <category>macos</category>
      <category>ai</category>
      <category>claude</category>
      <category>productivity</category>
    </item>
    <item>
      <title>DraftKey vs Apple Writing Tools: $4.99 Tab Autocomplete vs the Free Rewrite Built Into macOS</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Mon, 26 Oct 2026 19:03:34 +0000</pubDate>
      <link>https://dev.to/godnick/draftkey-vs-apple-writing-tools-499-tab-autocomplete-vs-the-free-rewrite-built-into-macos-121k</link>
      <guid>https://dev.to/godnick/draftkey-vs-apple-writing-tools-499-tab-autocomplete-vs-the-free-rewrite-built-into-macos-121k</guid>
      <description>&lt;p&gt;I built &lt;strong&gt;DraftKey&lt;/strong&gt;, an on-device AI autocomplete for every Mac app, for &lt;strong&gt;$4.99 lifetime&lt;/strong&gt; (up to 3 Macs). It shows a short gray suggestion as you type in Mail, Slack, Notes, Linear or your browser, and you press &lt;strong&gt;Tab&lt;/strong&gt; to accept it. Your text stays on your Mac. Get it at &lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;getdraftkey.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The question I get most is: "macOS already has Apple Writing Tools, why would I pay for this?" Fair question. I'm the maker (Aura Technologies), so I'm not neutral, but here's the honest answer.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;DraftKey&lt;/th&gt;
&lt;th&gt;Apple Writing Tools&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Price&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$4.99 once&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free with macOS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Main job&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Finishes your sentence while you type&lt;/strong&gt; (Tab to accept)&lt;/td&gt;
&lt;td&gt;Rewrites, proofreads or summarizes text you already wrote&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;How you use it&lt;/td&gt;
&lt;td&gt;Just type; suggestions appear inline&lt;/td&gt;
&lt;td&gt;Select text, open the Writing Tools menu&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Also does rewrite?&lt;/td&gt;
&lt;td&gt;Yes, ⌘⌥ rewrite (shorter, clearer, fix grammar, tone, custom)&lt;/td&gt;
&lt;td&gt;Yes, that's its core&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Requirements&lt;/td&gt;
&lt;td&gt;macOS 14+, Apple Silicon, 8 GB RAM&lt;/td&gt;
&lt;td&gt;Apple Intelligence (newer macOS, Apple Silicon, supported region/language)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model&lt;/td&gt;
&lt;td&gt;Bundled ~1.12 GB local model&lt;/td&gt;
&lt;td&gt;Apple's on-device models, plus Private Cloud Compute for some tasks&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Use Apple Writing Tools&lt;/strong&gt; if you write a draft first and then want it cleaned up. It's free and it's good at that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use DraftKey&lt;/strong&gt; if you want help &lt;em&gt;during&lt;/em&gt; typing: the next few words appear and you hit Tab, like code autocomplete but for emails, Slack replies and tickets. Writing Tools doesn't do inline autocomplete.&lt;/p&gt;

&lt;p&gt;They don't conflict. Plenty of people could run both.&lt;/p&gt;

&lt;h2&gt;
  
  
  What DraftKey actually does
&lt;/h2&gt;

&lt;p&gt;DraftKey reads the text around your cursor through macOS Accessibility, runs a small language model on your Mac, and shows a gray suggestion. Tab accepts it. Keep typing and it disappears. ⌘⌥ opens a rewrite on the paragraph or selection, and you review before anything is inserted. It also has clipboard history (⌘⌥V).&lt;/p&gt;

&lt;p&gt;It isn't a chatbot or a side panel. It's autocomplete for prose, system-wide.&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest limits, upfront
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;No free trial.&lt;/strong&gt; You pay $4.99 to try the real app. There's a free in-browser typing demo on &lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;getdraftkey.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apple Silicon and macOS 14+ only.&lt;/strong&gt; No Intel Macs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;About a 1.12 GB model download&lt;/strong&gt; on first launch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It depends on Accessibility.&lt;/strong&gt; Some Electron apps and custom editors work poorly, and password fields never work (on purpose).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's a small local model.&lt;/strong&gt; It's good at finishing sentences fast, not at writing essays for you.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Who this is for
&lt;/h2&gt;

&lt;p&gt;If you send a lot of short writing every day (Slack, email, tickets, PR descriptions) and you've ever wished Copilot-style Tab completion existed outside your code editor, that's exactly why I built DraftKey.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;getdraftkey.com&lt;/a&gt;&lt;/strong&gt;: $4.99 once, no subscription, no account needed to write.&lt;/p&gt;

&lt;p&gt;I built it at Aura Technologies. If suggestions misbehave in a specific app, tell me in the comments and I'll look at it.&lt;/p&gt;

</description>
      <category>draftkey</category>
      <category>macos</category>
      <category>ai</category>
      <category>writing</category>
    </item>
    <item>
      <title>TokenBar vs CodexBar: An Honest Comparison From the Developer Who Forked It</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Sun, 25 Oct 2026 22:03:13 +0000</pubDate>
      <link>https://dev.to/godnick/tokenbar-vs-codexbar-an-honest-comparison-from-the-developer-who-forked-it-l1n</link>
      <guid>https://dev.to/godnick/tokenbar-vs-codexbar-an-honest-comparison-from-the-developer-who-forked-it-l1n</guid>
      <description>&lt;p&gt;I built &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;TokenBar&lt;/a&gt;, a Mac menu bar app that shows your Claude Code, Codex, Cursor, Gemini and Copilot usage limits, reset times and AI spend in one place. Pro is $15 lifetime for one Mac (or $5/month Basic) at &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;tokenbar.site&lt;/a&gt;. It's built on CodexBar, a free, open-source, MIT-licensed project by Peter Steinberger. People reasonably ask: why would anyone pay $15 for something built on a free app? This post is my honest answer, including the cases where you should just use CodexBar.&lt;/p&gt;

&lt;h2&gt;
  
  
  What CodexBar is
&lt;/h2&gt;

&lt;p&gt;CodexBar is an open-source macOS menu-bar app that shows usage for AI coding tools such as Codex and Claude Code. It's MIT-licensed, which means anyone can use it, modify it, and build on it, including commercially, as long as the license and copyright notice are kept. It has an active community and it's free.&lt;/p&gt;

&lt;p&gt;If you've never tried a menu-bar usage tracker, CodexBar is a great place to start. It costs nothing, and you'll find out quickly whether having usage visible changes how you work.&lt;/p&gt;

&lt;h2&gt;
  
  
  What TokenBar is
&lt;/h2&gt;

&lt;p&gt;TokenBar is a commercial app from Aura Technologies built on top of CodexBar's foundation. The MIT license allows that, and TokenBar keeps the required attribution. It sells for $15 as a one-time purchase at tokenbar.site, with no subscription.&lt;/p&gt;

&lt;p&gt;The goal of TokenBar is to focus on spend: helping you see what AI coding is costing you and keep it within a budget, packaged as a polished app with direct support from the developer.&lt;/p&gt;

&lt;h2&gt;
  
  
  When you should use CodexBar
&lt;/h2&gt;

&lt;p&gt;I'd genuinely recommend the free option if:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You're comfortable with open-source tooling&lt;/strong&gt; and happy to update, configure, or build from source.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You mostly want usage visibility&lt;/strong&gt; and the CodexBar feature set already covers your tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You like contributing.&lt;/strong&gt; Open-source projects improve when people use them and send fixes upstream.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budget is tight.&lt;/strong&gt; If $15 matters right now, a free tool that does 90% of what you need is the right call.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There's no catch here. CodexBar is good software.&lt;/p&gt;

&lt;h2&gt;
  
  
  When TokenBar might be worth $15
&lt;/h2&gt;

&lt;p&gt;TokenBar is aimed at a few kinds of people:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;They want a packaged, supported app.&lt;/strong&gt; Paying gets you a product with a developer who answers email and has a direct incentive to keep it working.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They care primarily about cost&lt;/strong&gt; rather than raw usage, and want the app oriented around spend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They'd rather not maintain anything.&lt;/strong&gt; Install it, leave it running, forget it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;They want to support continued development&lt;/strong&gt; of a focused tool.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On top of CodexBar, TokenBar adds a Pro dashboard with spending history and provider mix, Pixel Agents (your coding agents shown as a small pixel-art office so you can see which are working, done or waiting on you), and more providers. That's the honest pitch: convenience, focus, and support, not secret capabilities that make the free version useless.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why build on open source at all?
&lt;/h2&gt;

&lt;p&gt;Because rebuilding a solid foundation from scratch would have been wasteful. CodexBar's authors did excellent work and chose a permissive license that explicitly allows this. Building on it let me spend time on the parts I cared about instead of reinventing the basics.&lt;/p&gt;

&lt;p&gt;I think the healthy way to do this is to be upfront. TokenBar's relationship to CodexBar is disclosed, the license is respected, and anyone who reads this post can make an informed choice. If you think a paid app built on an MIT project is distasteful, that's a fair opinion, and CodexBar is right there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Questions to ask yourself
&lt;/h2&gt;

&lt;p&gt;If you're deciding between the two, try this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install CodexBar first. It's free.&lt;/li&gt;
&lt;li&gt;Use it for a week of normal work.&lt;/li&gt;
&lt;li&gt;Ask: did I miss anything? Was there a spend-related question I couldn't answer at a glance? Did I want something more packaged?&lt;/li&gt;
&lt;li&gt;If the answer is no, you're done. Keep using CodexBar.&lt;/li&gt;
&lt;li&gt;If the answer is yes, look at what TokenBar offers and decide if it's worth $15 to you.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The bigger point
&lt;/h2&gt;

&lt;p&gt;Whichever one you choose, the real win is having AI spend visible while you work. Developers who can see the meter make different decisions: they start fresh sessions sooner, they use cheaper models for routine work, and they notice runaway agents before the bill does. A free tool that you actually use beats a paid one sitting in your Downloads folder.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disclosure, once more
&lt;/h2&gt;

&lt;p&gt;I built TokenBar. It's a product from Aura Technologies, based on the MIT-licensed CodexBar project, and it costs $15 one-time at tokenbar.site. I have an obvious interest in people buying it, which is why I've tried to be clear about when you shouldn't. If you try CodexBar and it's enough, I'd honestly count that as a good outcome: one more developer keeping an eye on their AI spend.&lt;/p&gt;

&lt;h2&gt;
  
  
  A note for other indie developers
&lt;/h2&gt;

&lt;p&gt;If you're considering building a commercial product on open source, a few lessons from doing it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Read the license carefully&lt;/strong&gt; and follow it exactly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Credit the original project prominently&lt;/strong&gt;, not in a hidden footer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add real value&lt;/strong&gt; rather than just repackaging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Be kind about the comparison.&lt;/strong&gt; The upstream project made your product possible.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Get TokenBar: &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;https://tokenbar.site&lt;/a&gt;&lt;/p&gt;

</description>
      <category>macos</category>
      <category>ai</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>DraftKey: Tab AI Autocomplete for Every Mac App ($4.99 Once)</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Sun, 25 Oct 2026 15:52:32 +0000</pubDate>
      <link>https://dev.to/godnick/draftkey-on-device-ai-autocomplete-for-every-mac-app-499-lifetime-2bdm</link>
      <guid>https://dev.to/godnick/draftkey-on-device-ai-autocomplete-for-every-mac-app-499-lifetime-2bdm</guid>
      <description>&lt;p&gt;DraftKey is a Mac app that suggests the next few words as you type, in almost any app, using an AI model. It costs $4.99 once, with no subscription, and you can get it at &lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;getdraftkey.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Disclosure up front: I built DraftKey. It's made by Aura Technologies, my small indie studio. This post is a straight description of what it does, who it's for, and where it falls short, so you can decide in two minutes whether it's worth five dollars.&lt;/p&gt;

&lt;h2&gt;
  
  
  What DraftKey actually does
&lt;/h2&gt;

&lt;p&gt;You type in Mail, Slack, Notes, Linear, a browser text box, or your editor's commit message field. DraftKey reads the text around your cursor, uses a small language model to show a short gray suggestion. Press Tab and it's inserted. Keep typing and it goes away.&lt;/p&gt;

&lt;p&gt;That's the whole product. It's not a chatbot, it doesn't rewrite your paragraphs, and it doesn't open a side panel. It's autocomplete for prose, system-wide.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built it
&lt;/h2&gt;

&lt;p&gt;I write a lot of short, repetitive text: support replies, ticket descriptions, release notes, PR summaries. Existing writing assistants were good at it, but I didn't want another monthly subscription for something this small.&lt;/p&gt;

&lt;p&gt;DraftKey is built for Apple Silicon Macs and ships with a compact model for low-latency suggestions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get for $4.99
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;System-wide suggestions&lt;/strong&gt; in most apps that use standard macOS text fields.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No account required.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-time purchase.&lt;/strong&gt; $4.99, lifetime, no subscription.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small footprint at rest.&lt;/strong&gt; It lives in the menu bar and stays out of the way.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Honest limits (please read before buying)
&lt;/h2&gt;

&lt;p&gt;I'd rather you skip DraftKey than buy it and feel misled.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;There's no free trial.&lt;/strong&gt; You pay $4.99 to try it. I know that's a real ask for an unknown indie app, which is why this list exists.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Apple Silicon and macOS 14 (Sonoma) or later only.&lt;/strong&gt; Intel Macs and older macOS versions are not supported. The model needs Apple Silicon to be fast enough.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It downloads a ~1.12 GB model.&lt;/strong&gt; If disk space is tight, factor that in.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It depends on the macOS Accessibility API.&lt;/strong&gt; You have to grant Accessibility permission. Some apps expose their text fields poorly or not at all: certain Electron apps, some terminal emulators, custom-drawn editors, and secure fields. In those, suggestions may be missing or placed oddly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It is not GPT-class.&lt;/strong&gt; The model is small so it can be fast. It's good at finishing sentences and common phrasing in your context. It is not going to write a strong essay from a one-line prompt, reason through a hard problem, or match a frontier cloud model on quality.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If any of those is a dealbreaker, DraftKey isn't for you, and that's fine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who it's a good fit for
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Developers and indie founders who write lots of short text (tickets, support emails, PR descriptions, Slack updates) and want it a bit faster.&lt;/li&gt;
&lt;li&gt;Anyone tired of stacking $10–$20/month AI subscriptions for small conveniences.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Who should skip it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;If you want a full rewriting or chat assistant, a cloud tool will do more.&lt;/li&gt;
&lt;li&gt;If you're on an Intel Mac or pre-Sonoma macOS.&lt;/li&gt;
&lt;li&gt;If you mostly type in apps with weak Accessibility support.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Other pay-once options
&lt;/h2&gt;

&lt;p&gt;DraftKey isn't the only non-subscription AI writing tool on the Mac. &lt;strong&gt;Charm&lt;/strong&gt; and &lt;strong&gt;RewriteBar&lt;/strong&gt; are both worth a look if you prefer a one-time purchase. They lean more toward rewriting and transforming selected text, while DraftKey focuses on inline, as-you-type autocomplete. Depending on how you write, one of them may suit you better, or you may want one alongside DraftKey.&lt;/p&gt;

&lt;h2&gt;
  
  
  Permissions
&lt;/h2&gt;

&lt;p&gt;The Accessibility permission is what lets it read text near your cursor in other apps; that's a macOS requirement for this kind of tool, and you can revoke it anytime in System Settings &amp;gt; Privacy &amp;amp; Security &amp;gt; Accessibility.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting started
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Buy and download DraftKey from &lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;getdraftkey.com&lt;/a&gt; ($4.99 lifetime).&lt;/li&gt;
&lt;li&gt;Open it and grant Accessibility permission when prompted.&lt;/li&gt;
&lt;li&gt;Let it download the ~1.12 GB model once.&lt;/li&gt;
&lt;li&gt;Start typing in Mail, Notes, or Slack and accept suggestions with Tab.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Feedback
&lt;/h2&gt;

&lt;p&gt;DraftKey is a small product from a small studio, and I read every piece of feedback. If an app you use doesn't work well with it, tell me which one through the contact link on &lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;getdraftkey.com&lt;/a&gt;, and I'll look at what the Accessibility API exposes there.&lt;/p&gt;

&lt;p&gt;If pay-once autocomplete that works across your Mac sounds useful, &lt;a href="https://getdraftkey.com" rel="noopener noreferrer"&gt;DraftKey is $4.99 at getdraftkey.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>draftkey</category>
      <category>macos</category>
      <category>ai</category>
      <category>writing</category>
    </item>
    <item>
      <title>When to Kill a Codex CLI or Claude Code Session (and Start Fresh Instead)</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Sun, 25 Oct 2026 15:12:58 +0000</pubDate>
      <link>https://dev.to/godnick/when-to-kill-a-codex-cli-or-claude-code-session-and-start-fresh-instead-36be</link>
      <guid>https://dev.to/godnick/when-to-kill-a-codex-cli-or-claude-code-session-and-start-fresh-instead-36be</guid>
      <description>&lt;p&gt;There is a sunk-cost trap in AI coding sessions. You have spent forty minutes with Codex CLI or Claude Code on a task, the agent has built up a lot of context, and it feels wasteful to throw it away. So you keep going, nudging it with "no, try again," while each turn gets slower, more expensive and less accurate.&lt;/p&gt;

&lt;p&gt;Very often, the right move is to kill the session and start a new one with a short summary. Here is how to tell when.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why long sessions degrade
&lt;/h2&gt;

&lt;p&gt;Agent sessions carry their entire history forward: every file read, every tool output, every failed attempt. As that grows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Each turn costs more&lt;/strong&gt;, because more context is sent each time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quality drops.&lt;/strong&gt; Models handle huge contexts less reliably, and early mistakes stay in the history, influencing later turns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compaction loses detail.&lt;/strong&gt; When tools auto-summarize to save space, specific facts like file paths or the exact error can vanish, leading to re-reading and repeated mistakes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan limits drain faster&lt;/strong&gt;, so you hit usage caps sooner.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A fresh session with a precise brief often outperforms a bloated one on the same task.&lt;/p&gt;

&lt;h2&gt;
  
  
  Seven signs it is time to restart
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The agent repeats a fix it already tried.&lt;/strong&gt; It has lost track of its own history.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It contradicts earlier decisions&lt;/strong&gt;, such as reintroducing an approach you rejected.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;You have corrected it on the same thing twice.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The task changed.&lt;/strong&gt; You started fixing a bug and are now redesigning a module. New task, new session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spend or usage has climbed steadily without a commit.&lt;/strong&gt; No checkpoint in 20–30 minutes is a red flag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compaction has happened more than once&lt;/strong&gt; and the agent asks about things it already knew.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Responses are getting slower and vaguer.&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Two or more of these and you should restart.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to restart without losing progress
&lt;/h2&gt;

&lt;p&gt;Killing a session does not mean losing the work. Do this first:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Commit or stash what is useful.&lt;/strong&gt; If part of the diff is good, commit it on a branch. If none of it is, &lt;code&gt;git stash&lt;/code&gt; or reset.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Ask for a handoff summary&lt;/strong&gt; before exiting:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Summarize in under 150 words: the goal, what you changed, what
you tried that failed and why, and the current blocker. List the
relevant file paths.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Edit the summary.&lt;/strong&gt; Remove wrong conclusions. Add what you know that the agent did not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Start a new session&lt;/strong&gt; with the summary as the first prompt, plus a tighter task statement: "Fix only the failing test in &lt;code&gt;auth.test.ts&lt;/code&gt;. Do not change the session model."&lt;/p&gt;

&lt;p&gt;This usually takes two minutes and saves far more than that.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make restarts cheaper by design
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Small tasks.&lt;/strong&gt; Scope prompts to something finishable in one short session.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Persistent context files.&lt;/strong&gt; Put project rules and architecture notes in CLAUDE.md or AGENTS.md so a new session gets them for free instead of rediscovering them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Checkpoint commits.&lt;/strong&gt; Ask the agent to commit after each passing step.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Worktrees for parallel attempts.&lt;/strong&gt; If you are unsure which approach works, run two fresh sessions in separate git worktrees instead of one long one that tries both.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Use the meter as a tiebreaker
&lt;/h2&gt;

&lt;p&gt;When you are unsure whether to push on or restart, look at what the session has cost so far against what it has produced. If usage has climbed steadily for half an hour and there is no commit, that is your answer. The problem is that many people never look, because usage lives in a web dashboard and the session lives in the terminal.&lt;/p&gt;

&lt;p&gt;I use &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;TokenBar&lt;/a&gt;, a Mac menu bar app that tracks Claude Code, Codex, Cursor and related AI usage so today's burn is always one glance away. It is $15 lifetime and built on the MIT-licensed CodexBar project. Disclosure: I built TokenBar (Aura Technologies). It will not make decisions for you, but it puts the number in view while you still have time to act on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  A rule worth adding to your agent config
&lt;/h2&gt;

&lt;p&gt;Agents follow explicit stop conditions well. Add something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;If the same approach fails twice, stop and summarize what you
tried and what is blocking instead of trying variations.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This turns many would-be long sessions into short ones that end with a useful question.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;Long sessions feel productive because you are invested in them. But context is not free, and history full of failed attempts actively hurts. When the agent starts repeating itself, drifting or burning usage without commits, save what is useful, get a summary and start fresh. It is cheaper, faster and usually gets a better result.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>codex</category>
      <category>claudecode</category>
      <category>productivity</category>
    </item>
    <item>
      <title>OpenAI vs Anthropic Spend Mix: How to Decide Which Model Gets Which Coding Task</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Sun, 25 Oct 2026 14:10:55 +0000</pubDate>
      <link>https://dev.to/godnick/openai-vs-anthropic-spend-mix-how-to-decide-which-model-gets-which-coding-task-35ha</link>
      <guid>https://dev.to/godnick/openai-vs-anthropic-spend-mix-how-to-decide-which-model-gets-which-coding-task-35ha</guid>
      <description>&lt;p&gt;Plenty of developers now pay both OpenAI and Anthropic: a ChatGPT plan for Codex, a Claude plan for Claude Code, plus some API usage for scripts. That is reasonable, since the models have different strengths. What usually is not reasonable is the split. Most people route tasks by habit, not by cost or fit, and end up running expensive models on trivial work.&lt;/p&gt;

&lt;p&gt;This post is a practical framework for deciding which tasks go where and for checking whether your spend mix makes sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with what you actually spend
&lt;/h2&gt;

&lt;p&gt;Before optimizing, measure one or two normal weeks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Subscription costs for each provider&lt;/li&gt;
&lt;li&gt;API spend for each provider&lt;/li&gt;
&lt;li&gt;Which tools you use for which kinds of tasks&lt;/li&gt;
&lt;li&gt;How often you hit plan usage limits on each side&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most people are surprised by one of two things: they barely use one of their subscriptions, or most of their API spend comes from a single kind of task, often long agent sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Categorize your coding tasks
&lt;/h2&gt;

&lt;p&gt;Rough categories work fine:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Quick questions and snippets.&lt;/strong&gt; Syntax, small regexes, one-off scripts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focused edits.&lt;/strong&gt; A bug fix or small feature in a known area.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Large agent tasks.&lt;/strong&gt; Multi-file refactors, test suite fixes, migrations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review and reasoning.&lt;/strong&gt; Code review, architecture questions, debugging hard issues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch or scripted work.&lt;/strong&gt; Generating docs, classifying issues, CI tasks via API.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Match tasks to the cheapest adequate option
&lt;/h2&gt;

&lt;p&gt;The principle: use the cheapest model and billing path that does the task well, not the best model available.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quick questions:&lt;/strong&gt; small or fast models, or free tiers. Using a top reasoning model for "how do I reverse a list in Swift" is wasted spend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focused edits:&lt;/strong&gt; whichever agent you are fastest with, on a flat-rate subscription so iteration is not metered.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Large agent tasks:&lt;/strong&gt; subscriptions are usually better than API billing here because agent sessions resend large contexts many times. Rotate between providers when one plan's limits run out instead of switching to pay-per-token.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review and reasoning:&lt;/strong&gt; this is where top models earn their price. Spend here deliberately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Batch work:&lt;/strong&gt; API with smaller models, batch pricing where offered, and hard spend caps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which provider is "better" at each category changes with every model release, so test periodically on your own codebase instead of trusting benchmarks or social media.&lt;/p&gt;

&lt;h2&gt;
  
  
  Signs your mix is off
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You pay for two plans but one sits mostly unused. Downgrade or cancel it.&lt;/li&gt;
&lt;li&gt;You hit limits on one plan every week while the other has headroom. Shift agent work.&lt;/li&gt;
&lt;li&gt;Your API bill is dominated by agent sessions. Move them to a subscription.&lt;/li&gt;
&lt;li&gt;You use the most expensive model for everything. Set a cheaper default and escalate manually.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  A simple routing rule set
&lt;/h2&gt;

&lt;p&gt;Write it down so you do not decide every time:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Default: Provider A subscription agent for day-to-day edits.
When A limits hit: switch to Provider B agent, same task.
Hard bugs / review: top reasoning model, either provider.
Scripts and CI: API, small model, capped at $X/month.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Putting this in your notes or a team README stops the drift toward "whatever tab is open."&lt;/p&gt;

&lt;h2&gt;
  
  
  Visibility across both providers
&lt;/h2&gt;

&lt;p&gt;The hard part of a two-provider setup is that the numbers live in different places: two billing consoles, two sets of usage limits, plus whatever your IDE reports. You only notice imbalance at the end of the month.&lt;/p&gt;

&lt;p&gt;I use &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;TokenBar&lt;/a&gt;, a Mac menu bar app that tracks Claude Code, Codex, Cursor and related AI usage so today's burn is always one glance away. It is $15 lifetime and built on the MIT-licensed CodexBar project. Disclosure: I built TokenBar (Aura Technologies). It will not make decisions for you, but it puts the number in view while you still have time to act on it.&lt;/p&gt;

&lt;p&gt;With both providers visible side by side, patterns become obvious within a week, like Claude limits hit every Thursday or Codex barely touched, and you can adjust the routing rules accordingly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Re-evaluate monthly
&lt;/h2&gt;

&lt;p&gt;Models and pricing change constantly. Once a month:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Compare total spend per provider to the previous month.&lt;/li&gt;
&lt;li&gt;Check which plan hit limits and when.&lt;/li&gt;
&lt;li&gt;Try your hardest recent task on the other provider's current model.&lt;/li&gt;
&lt;li&gt;Update the routing rules.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This takes fifteen minutes and is often worth more than any single prompt trick.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;Paying for both OpenAI and Anthropic can make sense, but only if each one is doing the work it is cheapest and best at for you. Measure for a week, categorize your tasks, write a routing rule set and review it monthly. The goal is not loyalty to one provider; it is spending money where it actually improves your code.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openai</category>
      <category>anthropic</category>
      <category>productivity</category>
    </item>
    <item>
      <title>A $50-a-Month AI Coding Stack for Students: What to Pay For and What to Skip</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Sun, 25 Oct 2026 13:14:01 +0000</pubDate>
      <link>https://dev.to/godnick/a-50-a-month-ai-coding-stack-for-students-what-to-pay-for-and-what-to-skip-5fo4</link>
      <guid>https://dev.to/godnick/a-50-a-month-ai-coding-stack-for-students-what-to-pay-for-and-what-to-skip-5fo4</guid>
      <description>&lt;p&gt;If you are a student learning to code in 2026, AI tools are everywhere and so are subscriptions. Claude, ChatGPT, Cursor, GitHub Copilot, Codex and a dozen others all want $10 to $20 a month, and some of the "pro" tiers cost far more. Stack three or four and you are spending more on AI than on your phone plan.&lt;/p&gt;

&lt;p&gt;This is a realistic plan for keeping AI coding costs around $50 a month without crippling your learning. Prices change often, so check current pricing pages before you commit; the structure matters more than the exact numbers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: claim everything free first
&lt;/h2&gt;

&lt;p&gt;Before paying for anything:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Student Developer Pack.&lt;/strong&gt; Verified students have historically gotten free GitHub Copilot access, plus credits for various cloud and dev tools. Check what is currently included.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Education discounts.&lt;/strong&gt; Several AI tools and IDEs offer student pricing or free tiers. Search "[tool] student" before paying list price.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free tiers.&lt;/strong&gt; Most chat assistants have free tiers that are fine for occasional questions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;University licenses.&lt;/strong&gt; Some schools provide access to AI tools through campus agreements. Ask your department or IT.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Many students can cover inline autocomplete entirely for free this way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: pick one primary paid tool
&lt;/h2&gt;

&lt;p&gt;The biggest waste is paying for overlapping tools. Pick one primary assistant that you will use for real work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you mostly work in an editor and want agent features, an AI IDE plan.&lt;/li&gt;
&lt;li&gt;If you are comfortable in the terminal, a Claude or ChatGPT plan that includes Claude Code or Codex CLI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One $20 plan, used well, beats three $20 plans used casually. That leaves room in the budget.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: keep a small pay-as-you-go buffer
&lt;/h2&gt;

&lt;p&gt;Put $10–$20 a month into API credits for occasional heavy tasks or experimenting with models. API billing charges per token, so it is cheap for light use and dangerous for long agent sessions. Set hard spending limits in the provider console. Both OpenAI and Anthropic let you set usage limits; use them.&lt;/p&gt;

&lt;h2&gt;
  
  
  A sample $50 budget
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Approx. monthly&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Copilot via student pack&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;One primary assistant plan&lt;/td&gt;
&lt;td&gt;$20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API credits buffer (hard capped)&lt;/td&gt;
&lt;td&gt;$15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Free chat tiers for quick questions&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reserve for a one-off month of a second tool&lt;/td&gt;
&lt;td&gt;$15&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The reserve is intentional. Some months you will want to try a new tool for a project. Budget for it instead of letting subscriptions pile up.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: track it
&lt;/h2&gt;

&lt;p&gt;Students overspend on AI the same way everyone does: not on one big charge but on forgotten subscriptions and long agent sessions on API billing. Two habits help:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A subscription list.&lt;/strong&gt; A note with every AI subscription, its price and its renewal date. Cancel anything you have not used in two weeks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live usage visibility.&lt;/strong&gt; Subscription plans have usage limits; API billing has a meter. Seeing both while you work stops surprises.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I use &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;TokenBar&lt;/a&gt;, a Mac menu bar app that tracks Claude Code, Codex, Cursor and related AI usage so today's burn is always one glance away. It is $15 lifetime and built on the MIT-licensed CodexBar project. Disclosure: I built TokenBar (Aura Technologies). It will not make decisions for you, but it puts the number in view while you still have time to act on it.&lt;/p&gt;

&lt;p&gt;For a student, a one-time $15 tool is worth it only if it saves you from at least one bad month. Free dashboards and the provider consoles also work if you check them regularly; the point is checking at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 5: use AI in ways that actually teach you
&lt;/h2&gt;

&lt;p&gt;Budget is half the problem. The other half is not letting the tools do your learning for you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Write first, then ask.&lt;/strong&gt; Attempt the function yourself, then ask the AI to review it. You learn from the diff.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ask for explanations, not just code.&lt;/strong&gt; "Why does this cause a race condition?" is a better prompt than "fix this."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Turn off autocomplete for practice.&lt;/strong&gt; For algorithm practice or exam prep, disable inline suggestions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check your school's policy.&lt;/strong&gt; Many courses have explicit rules on AI use. Follow them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agents are great for boilerplate and exploration but can hide the fundamentals you are supposed to be learning. Spend budget where AI saves time, not where it replaces understanding.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to skip
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Premium "max" tiers. They are aimed at professionals running agents all day.&lt;/li&gt;
&lt;li&gt;Multiple overlapping editors with AI built in.&lt;/li&gt;
&lt;li&gt;Annual plans before you have used a tool for at least a month.&lt;/li&gt;
&lt;li&gt;Uncapped API keys. Always set a limit.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;$50 a month is plenty for a student if you claim free education offers, pay for one primary tool, cap your API spending and keep an eye on usage. The goal is not the cheapest possible setup; it is a setup you understand, can afford, and that helps you learn faster rather than skip the learning.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>beginners</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Spotting Runaway AI Agent Loops Early: Spend Spikes as an Alarm</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Sun, 25 Oct 2026 12:08:18 +0000</pubDate>
      <link>https://dev.to/godnick/spotting-runaway-ai-agent-loops-early-spend-spikes-as-an-alarm-2efb</link>
      <guid>https://dev.to/godnick/spotting-runaway-ai-agent-loops-early-spend-spikes-as-an-alarm-2efb</guid>
      <description>&lt;p&gt;An AI coding agent stuck in a loop is quiet. It does not crash. It keeps reading files, running tests, editing the same function and re-running the tests, and every iteration costs tokens. By the time you come back from lunch, a ten-minute task has turned into a long, expensive session with nothing to show for it.&lt;/p&gt;

&lt;p&gt;The cheapest signal that something is wrong is not in the terminal output. It is the spend curve. This post covers what runaway loops look like, why they happen, and a simple way to catch them before they matter.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a runaway loop looks like
&lt;/h2&gt;

&lt;p&gt;Common patterns with Claude Code, Codex CLI, Cursor agent mode and similar tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fix-test-fail cycles.&lt;/strong&gt; The agent edits code, a test fails, it edits again, the same test fails in a slightly different way. Ten rounds later the diff is bigger and nothing passes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-reading the world.&lt;/strong&gt; The agent repeatedly greps or reads large files because it lost track of context after compaction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool error retries.&lt;/strong&gt; A command fails (missing dependency, wrong path, a permission prompt) and the agent keeps trying variations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope creep.&lt;/strong&gt; The agent "notices" related issues and starts refactoring things you never asked about.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these looks like progress in the log. They look very different on a cost graph.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why spend is a better alarm than output
&lt;/h2&gt;

&lt;p&gt;Normal work is bursty: a big read at the start, some edits, a test run, done. Spend rises and then flattens. A loop has a steady slope that does not flatten, because the agent keeps re-sending a large context every turn. Context size grows as the session goes on, so each loop iteration tends to cost more than the last.&lt;/p&gt;

&lt;p&gt;Watching the terminal, you see plausible messages. Watching spend, you see a line that keeps climbing at the same rate for twenty minutes. That second view is easier to judge at a glance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set your own thresholds
&lt;/h2&gt;

&lt;p&gt;There is no universal number. Calibrate from your own history:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Look at a week of normal sessions. Note what a typical small task costs and what a big one costs.&lt;/li&gt;
&lt;li&gt;Set a soft alarm at around 2x your typical big task. That is "go look."&lt;/li&gt;
&lt;li&gt;Set a hard stop at an amount you would be annoyed to lose on a single session.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For a solo developer this might be a few dollars soft and somewhat more hard. For a team running agents in CI it should be enforced in code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical guardrails
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Cap turns or time.&lt;/strong&gt; Many agent tools let you limit iterations or run headless with a max-turns setting. Use it for unattended runs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Make the task smaller.&lt;/strong&gt; Loops are far more common on vague tasks. "Make the tests pass" invites thrashing. "Fix the null check in &lt;code&gt;parseConfig&lt;/code&gt; so &lt;code&gt;config.test.ts&lt;/code&gt; passes" does not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix the environment first.&lt;/strong&gt; Many retry loops come from a broken setup: missing env vars, wrong Node version, a flaky test. If the agent fails a command twice, the problem is usually not the agent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commit checkpoints.&lt;/strong&gt; Ask the agent to commit after each passing step, or use git worktrees. If a loop starts, you reset to the last good state instead of untangling a giant diff.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Clear context deliberately.&lt;/strong&gt; Long sessions accumulate context. Starting fresh with a short summary is often cheaper and smarter than letting a session drag on.&lt;/p&gt;

&lt;h2&gt;
  
  
  A simple routine
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Start the task and note current spend.&lt;/li&gt;
&lt;li&gt;Glance at spend every 10–15 minutes, or when you get a notification.&lt;/li&gt;
&lt;li&gt;If the slope has not flattened and the agent has not committed anything useful, interrupt.&lt;/li&gt;
&lt;li&gt;Ask it to summarize what it tried and what is blocking. Often the summary reveals the real problem in one line.&lt;/li&gt;
&lt;li&gt;Restart with a narrower prompt, or fix the blocker yourself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key habit is having the number visible without opening a dashboard. If you have to log into a billing page to check, you will not check.&lt;/p&gt;

&lt;p&gt;I use &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;TokenBar&lt;/a&gt;, a Mac menu bar app that tracks Claude Code, Codex, Cursor and related AI usage so today's burn is always one glance away. It is $15 lifetime and built on the MIT-licensed CodexBar project. Disclosure: I built TokenBar (Aura Technologies). It will not make decisions for you, but it puts the number in view while you still have time to act on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do after a loop
&lt;/h2&gt;

&lt;p&gt;Treat it as a cheap postmortem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What was the prompt?&lt;/strong&gt; Was it vague?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What did the agent get stuck on?&lt;/strong&gt; Environment, test flakiness, missing context?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Could a rule prevent it?&lt;/strong&gt; Add a line to CLAUDE.md or AGENTS.md, such as "If a command fails twice with the same error, stop and ask."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last rule alone prevents a surprising number of loops. Agents follow explicit stop conditions well; they just are not given many.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;Runaway loops are not a reason to stop using agents. They are a reason to watch the one metric that captures every failure mode at once. Output can look fine while the agent spins. Spend does not lie about how much work is being repeated.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claudecode</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Tracking Token Spend Across Claude Code, Codex CLI and Cursor on One Mac</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Sun, 25 Oct 2026 02:12:21 +0000</pubDate>
      <link>https://dev.to/godnick/tracking-token-spend-across-claude-code-codex-cli-and-cursor-on-one-mac-59k5</link>
      <guid>https://dev.to/godnick/tracking-token-spend-across-claude-code-codex-cli-and-cursor-on-one-mac-59k5</guid>
      <description>&lt;p&gt;One tool was manageable. Three is how solo developers lose the plot: Claude Code for agentic refactors, Codex CLI for quick terminal tasks, Cursor for inline edits—each with its own meter, plan, or API key. The Mac becomes a bundle of progress bars you never look at until something rate-limits mid-flow.&lt;/p&gt;

&lt;p&gt;You do not need a finance department. You need one glanceable total and a weekly habit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Inventory what you actually run
&lt;/h2&gt;

&lt;p&gt;Make a three-line list (honest beats complete):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Claude Code — seat / API — heavy agent sessions
Codex CLI  — API key     — terminal one-shots
Cursor     — sub         — tab complete + chat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add anything else that burns tokens on the same machine (ChatGPT desktop, local proxies, CI that uses your key). If it can surprise you, it belongs on the list. Revisit the inventory when you install a new AI CLI—most cost leaks start as "just testing."&lt;/p&gt;

&lt;h2&gt;
  
  
  One visible surface beats three dashboards
&lt;/h2&gt;

&lt;p&gt;Cloud dashboards are accurate and ignored. While you are in a coding trance, only something in the menu bar or a status line gets seen.&lt;/p&gt;

&lt;p&gt;Options people actually stick with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;menu bar usage app&lt;/strong&gt; that understands multiple AI CLIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shell prompts&lt;/strong&gt; that show the active key or project (helps attribution, not totals).&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Friday export&lt;/strong&gt; into a single CSV or note.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ideal combo: live glance plus Friday number. If you only keep one, keep the live glance; it changes behavior the same day.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;TokenBar&lt;/a&gt; is aimed at that menu-bar glance for Claude, Codex, and related usage on macOS ($15 lifetime; built on the MIT-licensed open-source CodexBar). Disclosure: I built TokenBar. Pair it with whatever Cursor's account page shows so you do not double-count or miss the IDE side.&lt;/p&gt;

&lt;h2&gt;
  
  
  Attribute by project, not by vibes
&lt;/h2&gt;

&lt;p&gt;When two client folders and a side project share a machine:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use &lt;strong&gt;different API keys&lt;/strong&gt; or at least different env files per client.&lt;/li&gt;
&lt;li&gt;Name &lt;strong&gt;git worktrees and terminal tabs&lt;/strong&gt; with a project prefix.&lt;/li&gt;
&lt;li&gt;Once a day, peek at which tool burned the most—not every token, just the winner.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If everything shares one key, you can still approximate with time blocks ("morning = client A") but do not pretend it is accounting. For invoices, approximation without a written method becomes an argument.&lt;/p&gt;

&lt;h2&gt;
  
  
  A 10-minute Monday setup
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Per-project env (example)&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; ~/work/client-a &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'export ANTHROPIC_API_KEY=...'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; .envrc
&lt;span class="nb"&gt;cd&lt;/span&gt; ~/work/personal &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'export ANTHROPIC_API_KEY=...'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; .envrc

&lt;span class="c"&gt;# Confirm which tools are installed&lt;/span&gt;
which claude codex cursor 2&amp;gt;/dev/null
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pin TokenBar (or your meter) on the menu bar. Disable duplicate meters that you never check—noise trains you to ignore all of them. Put the Friday review on the calendar so it survives busy weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Weekly review questions
&lt;/h2&gt;

&lt;p&gt;Every Friday, five minutes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Which tool took most of the spend?&lt;/li&gt;
&lt;li&gt;Did any session look like a loop or stuck retry?&lt;/li&gt;
&lt;li&gt;Did personal and billable work share a key by mistake?&lt;/li&gt;
&lt;li&gt;Any limit hit that blocked shipping?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Write three lines in a &lt;code&gt;ai-spend.md&lt;/code&gt; note. Patterns show up by week three. If the same spike repeats, fix the workflow (context size, hooks, concurrency) before you change plans again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Failure modes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Watching Cursor but ignoring CLI agents&lt;/strong&gt; — agents often dominate cost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resetting keys without labeling them&lt;/strong&gt; — last month's CSV becomes fiction.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optimizing price before measuring&lt;/strong&gt; — switch plans only after two quiet weeks of numbers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three overlapping meters&lt;/strong&gt; — pick one primary glance and demote the rest.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One Mac can run three AI coding tools without financial fog. Put spend where your eyes already go, separate keys when money matters, and keep a tiny Friday ritual. That is the whole system.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the three tools usually split spend
&lt;/h2&gt;

&lt;p&gt;Patterns many solo Mac setups see after a few weeks of honest logging:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cursor&lt;/strong&gt; — steady, relatively predictable; the subscription hides per-token noise, so the risk is complacency, not surprise invoices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Codex CLI&lt;/strong&gt; — often cheap per task; cost creeps when you script loops or paste huge logs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code&lt;/strong&gt; — can dominate the week whenever you leave a long agent unsupervised or reload giant contexts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your mix will differ. The point of cross-tool tracking is noticing when the mix changes—for example, a week where Codex suddenly rivals Claude because a new script is polling. Without one glance surface, that shift shows up only as a vague feeling that "AI got expensive."&lt;/p&gt;

&lt;h2&gt;
  
  
  Alerting without noise
&lt;/h2&gt;

&lt;p&gt;You do not need real-time pages. You need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A visual cue when today's burn is unusually high (menu bar color or a number you recognize).&lt;/li&gt;
&lt;li&gt;A hard cap on API keys used for experiments.&lt;/li&gt;
&lt;li&gt;A personal rule: no new agent session after you have already hit a limit once that day—go outside or write the PR by hand.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Automation that emails you every $1 is worse than no automation. Prefer thresholds you will actually respect.&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>codex</category>
      <category>cursor</category>
      <category>macos</category>
    </item>
    <item>
      <title>CLAUDE.md and AGENTS.md Templates for Claude Code and Codex CLI: What to Put In, What to Leave Out</title>
      <dc:creator>Henry Godnick</dc:creator>
      <pubDate>Sun, 25 Oct 2026 01:12:56 +0000</pubDate>
      <link>https://dev.to/godnick/claudemd-and-agentsmd-templates-for-claude-code-and-codex-cli-what-to-put-in-what-to-leave-out-pb2</link>
      <guid>https://dev.to/godnick/claudemd-and-agentsmd-templates-for-claude-code-and-codex-cli-what-to-put-in-what-to-leave-out-pb2</guid>
      <description>&lt;p&gt;&lt;em&gt;A practical guide to project instruction files for Claude Code and Codex CLI: where they live, what belongs in them, and how to keep one file working for both tools&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you use Claude Code or OpenAI's Codex CLI for long, you start repeating yourself. "Use pnpm, not npm." "Don't touch the generated client." Every session starts with a fresh context window, so the agent forgets all of it.&lt;/p&gt;

&lt;p&gt;Both tools solve this the same way: a Markdown file in your repository that the agent reads at the start of every session. Claude Code calls it &lt;code&gt;CLAUDE.md&lt;/code&gt;. Codex calls it &lt;code&gt;AGENTS.md&lt;/code&gt;. Many of these files end up nearly empty or several screens of prose the agent half-follows. Here's how to write one that earns its place.&lt;/p&gt;

&lt;h2&gt;
  
  
  What these files are, and where each tool looks
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Claude Code: CLAUDE.md
&lt;/h3&gt;

&lt;p&gt;Claude Code reads &lt;code&gt;CLAUDE.md&lt;/code&gt; files from a few places, and it combines them instead of picking one:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;User level:&lt;/strong&gt; &lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt; applies to every project on your machine. Put personal preferences here.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project level:&lt;/strong&gt; &lt;code&gt;./CLAUDE.md&lt;/code&gt; or &lt;code&gt;./.claude/CLAUDE.md&lt;/code&gt; in the repo. This is the one you commit and share with your team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local level:&lt;/strong&gt; &lt;code&gt;./CLAUDE.local.md&lt;/code&gt; is for your own project-specific notes. Add it to &lt;code&gt;.gitignore&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At launch, Claude Code loads these files from your current working directory and every directory above it, and concatenates them. The file closest to where you launched is read last. Files in &lt;em&gt;subdirectories&lt;/em&gt; don't load at launch. Each one loads when Claude reads or edits a file in that subdirectory. That makes a &lt;code&gt;packages/api/CLAUDE.md&lt;/code&gt; a good home for rules that only matter in that package.&lt;/p&gt;

&lt;p&gt;Anthropic's docs are clear that &lt;code&gt;CLAUDE.md&lt;/code&gt; is context, not enforced configuration. Claude reads it and tries to follow it, but nothing guarantees compliance. If something must never happen, use a permission rule or a hook, not a sentence in a Markdown file.&lt;/p&gt;

&lt;h3&gt;
  
  
  Codex CLI: AGENTS.md
&lt;/h3&gt;

&lt;p&gt;Codex builds what it calls an instruction chain when it starts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Global:&lt;/strong&gt; &lt;code&gt;~/.codex/AGENTS.md&lt;/code&gt; (or the &lt;code&gt;CODEX_HOME&lt;/code&gt; directory if you've set it). An &lt;code&gt;AGENTS.override.md&lt;/code&gt; in the same place takes priority if it exists.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project:&lt;/strong&gt; starting at the project root (usually the Git root), Codex walks down to your current working directory and picks up at most one instruction file per directory. In each directory it checks &lt;code&gt;AGENTS.override.md&lt;/code&gt; first, then &lt;code&gt;AGENTS.md&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Files are joined from the root down, so a file in a nested directory appears later and can override broader guidance. A few details are worth knowing. Codex skips empty files, and it stops adding files once the combined size reaches &lt;code&gt;project_doc_max_bytes&lt;/code&gt;, which defaults to 32 KiB. Also, unlike Claude Code, Codex stops at your current directory. It doesn't pick up files from subdirectories below where you launched, so start Codex from the directory whose rules you want.&lt;/p&gt;

&lt;h3&gt;
  
  
  Both tools can draft one for you
&lt;/h3&gt;

&lt;p&gt;Claude Code and Codex both have an &lt;code&gt;/init&lt;/code&gt; command. In Claude Code, it analyzes the codebase and writes a starting &lt;code&gt;CLAUDE.md&lt;/code&gt; with build commands and conventions it finds. In Codex, it generates an &lt;code&gt;AGENTS.md&lt;/code&gt; scaffold in the current directory. Treat either as a first draft: the useful part is what you add that the agent couldn't work out by itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to put in
&lt;/h2&gt;

&lt;p&gt;A good test for every line: would a capable new teammate need to be told this, or would they figure it out by reading the code? Write down the first kind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commands, exactly as you run them.&lt;/strong&gt; Install, build, test, a single test file, lint, type-check. Agents run these constantly, and guessing wrong wastes a whole loop. Write &lt;code&gt;pnpm test -- path/to/file&lt;/code&gt; rather than "run the tests."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A short map of the repo.&lt;/strong&gt; Not every folder, just where the important things live and anything surprising. "API handlers are in &lt;code&gt;src/api/handlers/&lt;/code&gt;. Shared types are in &lt;code&gt;packages/types&lt;/code&gt;, not in each app."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conventions that differ from the defaults.&lt;/strong&gt; If your team does something the agent wouldn't assume, say so: a specific error-handling pattern, a naming rule, a preferred library over a more popular one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gotchas.&lt;/strong&gt; The things that bit you. The test suite needs a local Redis. A module is imported dynamically, so "unused" doesn't mean unused.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What not to touch.&lt;/strong&gt; Generated files, vendored code, lockfiles you don't want rewritten, a legacy directory under a freeze. Be explicit and use paths.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to check the work.&lt;/strong&gt; What "done" means: tests pass, lint is clean, types check. Agents do better when they know how to verify their own changes.&lt;/p&gt;

&lt;p&gt;Anthropic's guidance on phrasing is worth copying: make instructions concrete enough to check. "Use 2-space indentation" instead of "format code properly." "Run &lt;code&gt;npm test&lt;/code&gt; before committing" instead of "test your changes."&lt;/p&gt;

&lt;h2&gt;
  
  
  What to leave out
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Long prose.&lt;/strong&gt; Paragraphs of background are harder for the model to act on. Use headings and short bullets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Things the model can infer.&lt;/strong&gt; Every dependency, a full directory tree, an explanation of React. The agent can read &lt;code&gt;package.json&lt;/code&gt; and the file system. Claude Code's &lt;code&gt;/doctor&lt;/code&gt; checkup flags this kind of content as derivable from the codebase.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Secrets.&lt;/strong&gt; No API keys, tokens, passwords, or internal URLs you wouldn't want in Git history. The project file is committed to source control and goes straight into the model's context every session. Point to where credentials come from ("read from &lt;code&gt;.env.local&lt;/code&gt;, which is gitignored") instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One-off procedures.&lt;/strong&gt; A ten-step release checklist doesn't need to be in every session. Claude Code has skills and path-scoped rules in &lt;code&gt;.claude/rules/&lt;/code&gt; for instructions that should load only when relevant. In Codex, a nested &lt;code&gt;AGENTS.md&lt;/code&gt; keeps service-specific rules out of the root file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Contradictions.&lt;/strong&gt; If your user-level file says one thing and the project file says another, Anthropic's docs warn that Claude may pick one arbitrarily. Review all the layers together now and then.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep it short, because you pay for it every session
&lt;/h2&gt;

&lt;p&gt;This is the part people underestimate. Your instruction file is loaded into context at the start of every session, before you type anything. Every line is input tokens you pay for, in money on the API or usage limits on a subscription, and room your actual task could use.&lt;/p&gt;

&lt;p&gt;Length hurts quality too. Anthropic recommends keeping each &lt;code&gt;CLAUDE.md&lt;/code&gt; under 200 lines and notes that longer files reduce adherence. Splitting a file with &lt;code&gt;@imports&lt;/code&gt; helps organization but doesn't reduce the cost, because imported files also load at launch. Codex enforces a hard ceiling with its 32 KiB default, and anything past it simply doesn't get added.&lt;/p&gt;

&lt;p&gt;Two small tricks help. In Claude Code, block-level HTML comments in &lt;code&gt;CLAUDE.md&lt;/code&gt; are stripped before the content reaches the model, so you can leave notes for human maintainers at no context cost. And before adding a line, ask whether you've actually had to correct the agent about it. Anthropic suggests adding to the file when the agent makes the same mistake twice.&lt;/p&gt;

&lt;h2&gt;
  
  
  A concrete example
&lt;/h2&gt;

&lt;p&gt;Here's an &lt;code&gt;AGENTS.md&lt;/code&gt; for a hypothetical TypeScript monorepo, short on purpose.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# AGENTS.md&lt;/span&gt;

&lt;span class="gu"&gt;## Commands&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Install: &lt;span class="sb"&gt;`pnpm install`&lt;/span&gt; (never npm or yarn)
&lt;span class="p"&gt;-&lt;/span&gt; Dev server: &lt;span class="sb"&gt;`pnpm dev --filter web`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; All tests: &lt;span class="sb"&gt;`pnpm test`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; One test file: &lt;span class="sb"&gt;`pnpm vitest run path/to/file.test.ts`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Lint and types: &lt;span class="sb"&gt;`pnpm lint &amp;amp;&amp;amp; pnpm typecheck`&lt;/span&gt;

&lt;span class="gu"&gt;## Layout&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`apps/web`&lt;/span&gt;: Next.js frontend
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`apps/api`&lt;/span&gt;: Fastify server; route handlers in &lt;span class="sb"&gt;`src/routes/`&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`packages/types`&lt;/span&gt;: shared types. Import from here, don't redefine.

&lt;span class="gu"&gt;## Conventions&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Return errors as &lt;span class="sb"&gt;`Result&amp;lt;T, AppError&amp;gt;`&lt;/span&gt; from &lt;span class="sb"&gt;`packages/types`&lt;/span&gt;; don't throw in route handlers.
&lt;span class="p"&gt;-&lt;/span&gt; Use &lt;span class="sb"&gt;`zod`&lt;/span&gt; schemas in &lt;span class="sb"&gt;`src/schemas/`&lt;/span&gt; for all request validation.
&lt;span class="p"&gt;-&lt;/span&gt; New UI components go in &lt;span class="sb"&gt;`apps/web/components/ui/`&lt;/span&gt;.

&lt;span class="gu"&gt;## Gotchas&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; API tests need Redis running locally: &lt;span class="sb"&gt;`docker compose up redis`&lt;/span&gt;.
&lt;span class="p"&gt;-&lt;/span&gt; Run database migrations from the repo root only: &lt;span class="sb"&gt;`pnpm db:migrate`&lt;/span&gt;.

&lt;span class="gu"&gt;## Do not touch&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`packages/api-client/generated/`&lt;/span&gt; (regenerate with &lt;span class="sb"&gt;`pnpm codegen`&lt;/span&gt;)
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`pnpm-lock.yaml`&lt;/span&gt;, except through &lt;span class="sb"&gt;`pnpm install`&lt;/span&gt;

&lt;span class="gu"&gt;## Before you finish&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="sb"&gt;`pnpm lint &amp;amp;&amp;amp; pnpm typecheck &amp;amp;&amp;amp; pnpm test`&lt;/span&gt; must pass.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Notice what's missing: no project history, no explanation of Next.js, no full file tree, no credentials. Every line is a command, a location, a non-default rule, or a trap.&lt;/p&gt;

&lt;h2&gt;
  
  
  One file for both tools
&lt;/h2&gt;

&lt;p&gt;If your team uses both tools, you don't want two files drifting apart. The official docs offer three options:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Let Claude Code read AGENTS.md directly.&lt;/strong&gt; Recent versions of Claude Code read &lt;code&gt;AGENTS.md&lt;/code&gt; as the project instructions when there's no &lt;code&gt;CLAUDE.md&lt;/code&gt; or &lt;code&gt;CLAUDE.local.md&lt;/code&gt; in your working directory or above it. One catch: adding a &lt;code&gt;CLAUDE.local.md&lt;/code&gt; counts, and by default it stops Claude from reading &lt;code&gt;AGENTS.md&lt;/code&gt;. You can change that with the Project instructions setting in &lt;code&gt;/config&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Import it.&lt;/strong&gt; Create a &lt;code&gt;CLAUDE.md&lt;/code&gt; next to your &lt;code&gt;AGENTS.md&lt;/code&gt; whose first line is &lt;code&gt;@AGENTS.md&lt;/code&gt;, then add any Claude-specific notes below it under their own heading. Claude Code expands the import at launch. This is the most predictable setup, and it works even in sessions that can't load &lt;code&gt;AGENTS.md&lt;/code&gt; on their own. Anthropic's docs note that keeping the import never makes Claude read the file twice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Symlink it.&lt;/strong&gt; If you have nothing Claude-specific to add, &lt;code&gt;ln -s AGENTS.md CLAUDE.md&lt;/code&gt; works. Anthropic recommends the import instead if anyone on the team uses Windows, where symlinks need extra setup and Git may check the link out as a plain text file.&lt;/p&gt;

&lt;p&gt;Whichever you pick, verify it. In Claude Code, run &lt;code&gt;/context&lt;/code&gt; and check that the file appears under Memory files. In Codex, the docs suggest running &lt;code&gt;codex --ask-for-approval never "Summarize the current instructions."&lt;/code&gt; from the repo root and checking that it echoes your guidance.&lt;/p&gt;

&lt;h2&gt;
  
  
  A short checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The file lives where the tool looks: project root for team rules, &lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt; or &lt;code&gt;~/.codex/AGENTS.md&lt;/code&gt; for personal ones.&lt;/li&gt;
&lt;li&gt;Build, test, single-test, lint, and type-check commands are written exactly as you run them.&lt;/li&gt;
&lt;li&gt;The repo map covers only the important or surprising parts.&lt;/li&gt;
&lt;li&gt;Conventions listed are ones that differ from what the agent would assume.&lt;/li&gt;
&lt;li&gt;Gotchas and "do not touch" paths are explicit.&lt;/li&gt;
&lt;li&gt;Nothing the agent can read for itself, and no secrets.&lt;/li&gt;
&lt;li&gt;Bullets and headings, not paragraphs.&lt;/li&gt;
&lt;li&gt;Comfortably under 200 lines, with niche rules moved to nested files or path-scoped rules.&lt;/li&gt;
&lt;li&gt;No contradictions between user, project, and nested files.&lt;/li&gt;
&lt;li&gt;Hard requirements are enforced with hooks or permissions, not just written down.&lt;/li&gt;
&lt;li&gt;You checked that the file actually loaded.&lt;/li&gt;
&lt;li&gt;You prune it when the project changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good instructions file is less a manual than a list of things you're tired of repeating. Start with the &lt;code&gt;/init&lt;/code&gt; draft, cut what the agent could figure out, and add a line each time you correct the same mistake twice.&lt;/p&gt;

&lt;p&gt;Disclosure: I built TokenBar, a $15 Mac menu bar app that shows your Claude and Codex usage and cost, partly so I could see how much a bloated instructions file was costing me. It's at &lt;a href="https://tokenbar.site" rel="noopener noreferrer"&gt;https://tokenbar.site&lt;/a&gt; if that's useful.&lt;/p&gt;

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