<?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: Nathan Brooks</title>
    <description>The latest articles on DEV Community by Nathan Brooks (@nathanbrooks1).</description>
    <link>https://dev.to/nathanbrooks1</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%2F4113582%2Fb1b0e920-d921-4d2d-a486-13027078a5dc.png</url>
      <title>DEV Community: Nathan Brooks</title>
      <link>https://dev.to/nathanbrooks1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nathanbrooks1"/>
    <language>en</language>
    <item>
      <title>My Claude Code Setup for Hard Tasks with Fable 5.1</title>
      <dc:creator>Nathan Brooks</dc:creator>
      <pubDate>Wed, 09 Sep 2026 01:32:13 +0000</pubDate>
      <link>https://dev.to/nathanbrooks1/my-claude-code-setup-for-hard-tasks-with-fable-51-1fkm</link>
      <guid>https://dev.to/nathanbrooks1/my-claude-code-setup-for-hard-tasks-with-fable-51-1fkm</guid>
      <description>&lt;p&gt;I don’t choose a coding model just because it is newer. I want to know whether it can finish a difficult change, keep the scope under control, and leave a diff I can actually review.&lt;/p&gt;

&lt;p&gt;That is where I would evaluate Claude Fable 5.1: cross-module debugging, repository-wide migrations, and features that touch routing, persistence, services, and tests. For ordinary work, I would still start with Opus 5.&lt;/p&gt;

&lt;p&gt;Here is how I approach model selection, connection setup, effort levels, and the actual development loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decide Whether the Task Needs It
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://platform.claude.com/docs/en/models/fable-5-1/overview" rel="noopener noreferrer"&gt;Anthropic describes Fable 5.1&lt;/a&gt; as the September 2026 successor to Fable 5, intended for demanding reasoning and long-horizon agentic work. It also recommends starting most workloads with Opus 5 and escalating when higher-effort Opus evaluations are insufficient.&lt;/p&gt;

&lt;p&gt;That distinction matters in Claude Code. The agent can inspect repositories, edit files, run commands, and execute tests. The useful question is not “Does it write a better snippet?” but “Does it complete this entire workflow more reliably?”&lt;/p&gt;

&lt;p&gt;My selection rule:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sonnet 5:&lt;/strong&gt; tiny edits and fast, economical iteration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Opus 5:&lt;/strong&gt; routine features, fixes, reviews, documentation, and contained refactors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fable 5.1:&lt;/strong&gt; difficult investigations or coordinated changes where higher-effort Opus still misses dependencies, loses coherence, or needs repeated recovery.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A task spanning many files is a reason to evaluate Fable, not proof that it is necessary. I would compare verified completion quality and total task cost on the same repository task, then switch back if the extra reasoning does not improve the result.&lt;/p&gt;

&lt;h3&gt;
  
  
  Specifications That Affect the Decision
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Specification&lt;/th&gt;
&lt;th&gt;Fable 5.1&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Developer&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model ID&lt;/td&gt;
&lt;td&gt;&lt;code&gt;claude-fable-5-1&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Release date&lt;/td&gt;
&lt;td&gt;September 1, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Knowledge cutoff&lt;/td&gt;
&lt;td&gt;June 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context window&lt;/td&gt;
&lt;td&gt;1M tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maximum output&lt;/td&gt;
&lt;td&gt;128K tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Input / output&lt;/td&gt;
&lt;td&gt;Text and images → text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Thinking&lt;/td&gt;
&lt;td&gt;Adaptive, always on&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Default effort&lt;/td&gt;
&lt;td&gt;high&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Available effort levels&lt;/td&gt;
&lt;td&gt;low, medium, high, xhigh, max&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Official input price&lt;/td&gt;
&lt;td&gt;$10 / MTok&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Official output price&lt;/td&gt;
&lt;td&gt;$50 / MTok&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cache read price&lt;/td&gt;
&lt;td&gt;$0.25 / MTok&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Comparative latency&lt;/td&gt;
&lt;td&gt;Slower&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The context and output limits are useful capacity figures. They are not a reason to ask for a bigger response when a smaller patch would do.&lt;/p&gt;

&lt;h3&gt;
  
  
  Benchmarks Are a Starting Point, Not an Acceptance Test
&lt;/h3&gt;

&lt;p&gt;These are the &lt;a href="https://www.anthropic.com/claude-fable-and-mythos-5-1" rel="noopener noreferrer"&gt;selected official benchmark results&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;Benchmark&lt;/th&gt;
&lt;th&gt;Fable 5.1&lt;/th&gt;
&lt;th&gt;Fable 5&lt;/th&gt;
&lt;th&gt;Opus 5&lt;/th&gt;
&lt;th&gt;GPT-5.6 Sol&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal-Bench 4.0&lt;/td&gt;
&lt;td&gt;55.8%&lt;/td&gt;
&lt;td&gt;42.0%&lt;/td&gt;
&lt;td&gt;52.3%&lt;/td&gt;
&lt;td&gt;37.3%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AutomationBench&lt;/td&gt;
&lt;td&gt;31.4%&lt;/td&gt;
&lt;td&gt;17.1%&lt;/td&gt;
&lt;td&gt;26.9%&lt;/td&gt;
&lt;td&gt;19.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CursorBench 3.2.0&lt;/td&gt;
&lt;td&gt;73.4%&lt;/td&gt;
&lt;td&gt;70.5%&lt;/td&gt;
&lt;td&gt;70.0%&lt;/td&gt;
&lt;td&gt;67.2%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Terminal-driven and multi-step evaluations are relevant to Claude Code. Still, none of these scores guarantees the best outcome on my codebase or at my chosen effort level.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get a Verified Native Session Running First
&lt;/h2&gt;

&lt;p&gt;Before changing persistent settings, I check three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Claude Code is &lt;strong&gt;v2.1.255 or later&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;My Claude plan, Anthropic API account, or gateway credentials are active.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;claude-fable-5-1&lt;/code&gt; is enabled for my account, organization, or provider.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude &lt;span class="nt"&gt;--version&lt;/span&gt;
npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @anthropic-ai/claude-code@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Anthropic lists the model as active on supported developer platforms, but I still verify access before treating configuration as the problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Start in the Repository and Select the Model
&lt;/h3&gt;

&lt;p&gt;For an interactive session:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /path/to/your/project
claude
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open the picker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/model
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Choose Fable 5.1 if it is available. If I already know which model I want, I skip the picker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude &lt;span class="nt"&gt;--model&lt;/span&gt; claude-fable-5-1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Claude Code supports selection through the session command, launch flag, environment variable, and settings. The &lt;a href="https://code.claude.com/docs/en/env-vars" rel="noopener noreferrer"&gt;environment-variable reference&lt;/a&gt; states that &lt;code&gt;/model&lt;/code&gt; and &lt;code&gt;--model&lt;/code&gt; override &lt;code&gt;ANTHROPIC_MODEL&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Check the Route Before Giving It Real Work
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The Status tab shows the active model, base URL, and credential source. I check all three.&lt;/p&gt;

&lt;p&gt;This catches the boring but expensive mistakes: a stale environment variable, an unexpected project setting, or a session routed through a gateway when I intended native access.&lt;/p&gt;

&lt;h2&gt;
  
  
  Add a Gateway Only When It Solves a Real Need
&lt;/h2&gt;

&lt;p&gt;If I need a unified multi-model API, CometAPI is an optional route: it lists Fable 5.1 as live and exposes an Anthropic-compatible Messages endpoint at &lt;code&gt;/v1/messages&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Claude Code supports gateways exposing a supported API format. However, &lt;a href="https://code.claude.com/docs/en/llm-gateway-connect" rel="noopener noreferrer"&gt;Anthropic does not endorse or maintain third-party gateways&lt;/a&gt;, so I would validate every Claude Code feature my workflow depends on.&lt;/p&gt;

&lt;p&gt;Authentication deserves particular attention. &lt;code&gt;ANTHROPIC_AUTH_TOKEN&lt;/code&gt; becomes an &lt;code&gt;Authorization: Bearer&lt;/code&gt; header; confirm the provider’s current authentication format before production use.&lt;/p&gt;

&lt;h3&gt;
  
  
  macOS, Linux, and WSL
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;COMETAPI_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"YOUR_COMETAPI_KEY"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"https://api.cometapi.com"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$COMETAPI_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_MODEL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"claude-fable-5-1"&lt;/span&gt;

claude
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Windows PowerShell
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;COMETAPI_KEY&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"YOUR_COMETAPI_KEY"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.cometapi.com"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;COMETAPI_KEY&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nv"&gt;$&lt;/span&gt;&lt;span class="nn"&gt;env&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nv"&gt;ANTHROPIC_MODEL&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"claude-fable-5-1"&lt;/span&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="n"&gt;claude&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After launch, I run &lt;code&gt;/status&lt;/code&gt;, confirm the gateway base URL and active token, and send a small test prompt.&lt;/p&gt;

&lt;p&gt;Gateways can lag behind new fields or endpoints. If a feature behaves differently, I repeat the workflow against Anthropic directly before blaming the model.&lt;/p&gt;

&lt;h3&gt;
  
  
  Persist the Route, Not the Secret
&lt;/h3&gt;

&lt;p&gt;Shell exports last only for the current terminal. Claude Code also accepts an &lt;code&gt;env&lt;/code&gt; block in user-level and project-local settings.&lt;/p&gt;

&lt;p&gt;User-level settings live at:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;macOS/Linux:&lt;/strong&gt; &lt;code&gt;~/.claude/settings.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows:&lt;/strong&gt; &lt;code&gt;%USERPROFILE%\.claude\settings.json&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the gateway configuration above:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_BASE_URL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.cometapi.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"ANTHROPIC_MODEL"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"claude-fable-5-1"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I keep credentials outside committed project settings. Anthropic explicitly warns against putting them in shared project settings files.&lt;/p&gt;

&lt;p&gt;Supply &lt;code&gt;COMETAPI_KEY&lt;/code&gt; or &lt;code&gt;ANTHROPIC_AUTH_TOKEN&lt;/code&gt; through a local shell, an operating-system credential workflow, or a secrets manager instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Treat Effort as a Measured Trade-off
&lt;/h2&gt;

&lt;p&gt;Fable 5.1 has always-on adaptive thinking. Effort is the main control for balancing intelligence, latency, and cost.&lt;/p&gt;

&lt;p&gt;I would start demanding coding tasks at the default &lt;strong&gt;high&lt;/strong&gt;, then compare alternatives on representative work.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Effort&lt;/th&gt;
&lt;th&gt;Where I would evaluate it&lt;/th&gt;
&lt;th&gt;Main trade-off&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;low&lt;/td&gt;
&lt;td&gt;Tiny edits, explanations, simple local changes&lt;/td&gt;
&lt;td&gt;Lowest reasoning cost; may search less&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;medium&lt;/td&gt;
&lt;td&gt;Routine implementation, straightforward fixes, normal review&lt;/td&gt;
&lt;td&gt;Quality/cost balance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;high&lt;/td&gt;
&lt;td&gt;Multi-file implementation, debugging, tests&lt;/td&gt;
&lt;td&gt;Recommended starting point&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;xhigh&lt;/td&gt;
&lt;td&gt;Difficult refactors and architecture-sensitive debugging&lt;/td&gt;
&lt;td&gt;More reasoning and latency&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;max&lt;/td&gt;
&lt;td&gt;Unusually hard, capability-sensitive long-horizon work&lt;/td&gt;
&lt;td&gt;Highest time and token use&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/prompting-claude-fable-5-1" rel="noopener noreferrer"&gt;Anthropic says medium effort can roughly match Fable 5 at lower cost&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Low effort is not automatically better for a small task, either. It may use search and retrieval tools less often, which matters when the answer depends on current code or documentation.&lt;/p&gt;

&lt;p&gt;My threshold for xhigh or max is simple: does it materially improve verified completion? If not, the extra time and tokens are not buying me anything useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make the Coding Loop Explicit
&lt;/h2&gt;

&lt;p&gt;I prefer separate checkpoints for inspection, implementation, testing, and review. A capable model still needs a clear boundary around the work.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Inspect Before Editing
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Analyze this repository before editing anything.

Goal: add a new /api/v1/reports endpoint that returns a paginated report list.

First:
1. Find the current API routing pattern.
2. Identify the service and persistence layers involved.
3. Find existing pagination conventions.
4. Identify the relevant tests.
5. Propose the smallest implementation plan.

Do not modify files until you have summarized the plan.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives me a chance to catch an incorrect assumption before it becomes changes across several layers.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Approve the Plan and Constrain the Patch
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Implement the approved plan.

Constraints:
- Change only files required for this feature.
- Follow existing project conventions.
- Prefer targeted edits over whole-file rewrites.
- Do not refactor unrelated code.
- Add or update only the tests needed for this feature.
- Report unrelated defects instead of fixing them automatically.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The targeted-edit instruction follows Anthropic’s prompting guidance. I particularly want unrelated defects reported, not silently included in the patch.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Require Observable Verification
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Run the relevant unit and integration tests after implementation.

If a test fails:
1. Identify the root cause.
2. Explain whether this change caused the failure.
3. Fix only failures caused by this change.
4. Rerun the smallest relevant test set before the broader suite.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;My checkpoint is not “the implementation looks complete.” It is either passing relevant tests or a clear account of remaining failures and whether the patch caused them.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Ask for a Review, Then Review It Myself
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Review your final changes as if you were a code reviewer.

Check for:
- behavior outside the requested scope,
- missing edge cases,
- regressions,
- duplicated logic,
- unnecessary file changes,
- tests that do not verify the new behavior.

Then summarize the final diff, tests run, and remaining risks.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This produces a useful handoff for human review. It does not replace reading the diff.&lt;/p&gt;

&lt;h2&gt;
  
  
  Put Repeatable Rules in &lt;code&gt;CLAUDE.md&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;I keep repository instructions short: rules and commands the agent would otherwise have to rediscover.&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;# Repository Instructions&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; Inspect the existing implementation before editing.
&lt;span class="p"&gt;-&lt;/span&gt; Keep changes within the requested scope.
&lt;span class="p"&gt;-&lt;/span&gt; Prefer surgical edits over whole-file rewrites.
&lt;span class="p"&gt;-&lt;/span&gt; Follow existing project conventions.
&lt;span class="p"&gt;-&lt;/span&gt; Run relevant tests after implementation.
&lt;span class="p"&gt;-&lt;/span&gt; Fix root causes rather than patching symptoms.
&lt;span class="p"&gt;-&lt;/span&gt; Report unrelated issues instead of changing them automatically.
&lt;span class="p"&gt;-&lt;/span&gt; Summarize files changed, tests run, and remaining risks.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For a large monorepo, I would add the package manager, test and lint commands, architecture boundaries, generated-file rules, and directories that should not be edited manually.&lt;/p&gt;

&lt;p&gt;I would not turn this file into a second, sprawling specification for every possible task.&lt;/p&gt;

&lt;h2&gt;
  
  
  Debug the Setup Before Debugging the Model
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The Model Is Missing from &lt;code&gt;/model&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Update Claude Code, restart the terminal and session, and verify account or organization access. Check whether managed settings restrict model selection.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Session Uses a Different Model
&lt;/h3&gt;

&lt;p&gt;Run &lt;code&gt;/status&lt;/code&gt; and inspect user, project, and project-local settings, plus environment variables. Remember that &lt;code&gt;/model&lt;/code&gt; and &lt;code&gt;--model&lt;/code&gt; override &lt;code&gt;ANTHROPIC_MODEL&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Gateway Returns 401
&lt;/h3&gt;

&lt;p&gt;Check the key, base URL, and credential variable.&lt;/p&gt;

&lt;p&gt;These variables are not interchangeable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ANTHROPIC_AUTH_TOKEN&lt;/code&gt; maps to &lt;code&gt;Authorization: Bearer&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt; maps to &lt;code&gt;x-api-key&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use the authentication form accepted by the current endpoint.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Session Costs Too Much or Takes Too Long
&lt;/h3&gt;

&lt;p&gt;Compare medium and high on representative tasks. Measure total task cost and completion quality, not just response length. Keep xhigh and max for cases where they change the outcome.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Patch Contains Unnecessary Rewrites
&lt;/h3&gt;

&lt;p&gt;Add this to the prompt or &lt;code&gt;CLAUDE.md&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Prefer targeted edits over whole-file rewrites unless a rewrite is required for correctness.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Anthropic specifically documents this behavior and recommends targeted edits for small changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  My Acceptance Criteria Stay the Same
&lt;/h2&gt;

&lt;p&gt;Fable 5.1 is an escalation option, not my automatic default. I would use it when sustained reasoning materially improves a difficult task—especially when higher-effort Opus 5 has already proved insufficient or an incomplete change would be especially costly.&lt;/p&gt;

&lt;p&gt;Regardless of model or route, I want the same evidence before accepting the work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The intended model and connection are confirmed.&lt;/li&gt;
&lt;li&gt;The implementation stays within the approved scope.&lt;/li&gt;
&lt;li&gt;Relevant tests have run.&lt;/li&gt;
&lt;li&gt;Remaining failures and risks are explicit.&lt;/li&gt;
&lt;li&gt;The final diff is small enough to understand and justified by the task.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A longer autonomous session is only valuable if it ends in a better, reviewable change.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opensource</category>
    </item>
    <item>
      <title>DeepSeek V5 Isn't Here Yet. Your Eval Harness Should Be.</title>
      <dc:creator>Nathan Brooks</dc:creator>
      <pubDate>Tue, 08 Sep 2026 02:04:26 +0000</pubDate>
      <link>https://dev.to/nathanbrooks1/deepseek-v5-isnt-here-yet-your-eval-harness-should-be-3ck0</link>
      <guid>https://dev.to/nathanbrooks1/deepseek-v5-isnt-here-yet-your-eval-harness-should-be-3ck0</guid>
      <description>&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%2F6mfnkglvd4p9cddeoacm.jpg" 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%2F6mfnkglvd4p9cddeoacm.jpg" alt=" " width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DeepSeek V5 is already getting plenty of attention, even though there still isn't much official information to build a serious technical evaluation around.&lt;/p&gt;

&lt;p&gt;That's usually the point where model discussions start going in the wrong direction: people compare rumored parameter counts, expected context windows, leaked screenshots, and benchmark claims before there's even a stable API to test.&lt;/p&gt;

&lt;p&gt;I'd rather use the time to prepare the thing that actually matters once the model ships: a repeatable eval harness.&lt;/p&gt;

&lt;p&gt;Because when V5 does become available, the useful question won't be:&lt;/p&gt;

&lt;p&gt;"Is DeepSeek V5 better than the previous generation?"&lt;/p&gt;

&lt;p&gt;It'll be:&lt;/p&gt;

&lt;p&gt;"Is it better for the work I actually run in production?"&lt;/p&gt;

&lt;p&gt;Start with the model you already have&lt;br&gt;
You don't need V5 to begin answering that question. Take the current DeepSeek generation you already use and turn it into your baseline.&lt;/p&gt;

&lt;p&gt;For a coding workflow, that might mean collecting 30 or 50 tasks from real repositories rather than inventing synthetic prompts. A useful set could include things like:&lt;/p&gt;

&lt;p&gt;Fixing a bug across multiple files&lt;/p&gt;

&lt;p&gt;Adding a small feature&lt;/p&gt;

&lt;p&gt;Understanding an unfamiliar module&lt;/p&gt;

&lt;p&gt;Editing code without breaking existing tests&lt;/p&gt;

&lt;p&gt;Working through a terminal-based task&lt;/p&gt;

&lt;p&gt;Following tool output and recovering from errors&lt;/p&gt;

&lt;p&gt;The important part is that these tasks stay unchanged. When a new model arrives, you run the same set again. That sounds obvious, but it's surprisingly easy to move the goalposts once you already know which model you want to win.&lt;/p&gt;

&lt;p&gt;Don't stop at pass or fail&lt;br&gt;
A model can complete the task and still be a bad production choice. I'd record more than just whether the final answer looks correct. For each run, track:&lt;/p&gt;

&lt;p&gt;Task success&lt;/p&gt;

&lt;p&gt;Latency&lt;/p&gt;

&lt;p&gt;Input and output tokens&lt;/p&gt;

&lt;p&gt;Number of retries&lt;/p&gt;

&lt;p&gt;Number of tool calls&lt;/p&gt;

&lt;p&gt;Failed tool calls&lt;/p&gt;

&lt;p&gt;Human corrections&lt;/p&gt;

&lt;p&gt;Total cost&lt;/p&gt;

&lt;p&gt;For coding agents, keep close track of how often the model gets itself into unnecessary loops. A model that eventually solves the issue after 35 tool calls may look successful on a leaderboard, but it can still be worse to operate than one that finishes in 12.&lt;/p&gt;

&lt;p&gt;The same goes for token usage. If V5 turns out to be significantly smarter but burns twice as much context on the same task, that changes the economics pretty quickly. This is why cost per accepted task matters far more than price per million tokens. A cheaper model isn't really cheaper if it needs three retries and a human cleanup pass.&lt;/p&gt;

&lt;p&gt;Long context deserves its own test&lt;br&gt;
This is another area where launch-day specifications can be misleading. A model might advertise a huge context window, but that doesn't tell you how well it uses information buried deep inside it.&lt;/p&gt;

&lt;p&gt;If long context matters to your application, test it separately. Give the model:&lt;/p&gt;

&lt;p&gt;A large repository&lt;/p&gt;

&lt;p&gt;A long technical document set&lt;/p&gt;

&lt;p&gt;Logs from multiple services&lt;/p&gt;

&lt;p&gt;Several related files with conflicting information&lt;/p&gt;

&lt;p&gt;Then see whether performance changes as the context grows. Test at a few different sizes rather than jumping straight to the maximum:&lt;/p&gt;

&lt;p&gt;Plaintext&lt;br&gt;
50K context&lt;br&gt;
100K context&lt;br&gt;
250K context&lt;br&gt;
500K context&lt;br&gt;
The point isn't to prove that the model can accept the tokens. The point is to see whether it can still find and use the right information.&lt;/p&gt;

&lt;p&gt;What I'll care about when V5 actually lands&lt;br&gt;
If DeepSeek V5 turns out to be a major upgrade, I expect the interesting improvements to show up in agent behavior more than in simple chat. I'll be watching coding, tool use, long-running tasks, and token efficiency much more closely than general question-answering benchmarks.&lt;/p&gt;

&lt;p&gt;The workflow is straightforward:&lt;/p&gt;

&lt;p&gt;Same tasks&lt;/p&gt;

&lt;p&gt;Same prompts&lt;/p&gt;

&lt;p&gt;Same tools&lt;/p&gt;

&lt;p&gt;Same success criteria&lt;/p&gt;

&lt;p&gt;Different model&lt;/p&gt;

&lt;p&gt;Then compare the results. That also makes a unified API layer useful. If your application can keep the same request format while swapping models, you can test a new release without rewriting the surrounding infrastructure first.&lt;/p&gt;

&lt;p&gt;CometAPI is one way to do that across different models and providers. The API layer stays mostly consistent, while the model becomes the variable you're actually trying to measure. That's especially useful during a launch, when the temptation is to change five things at once and then attribute the result to the new model.&lt;/p&gt;

&lt;p&gt;Keep everything else boring. When V5 arrives, change one model ID, rerun the same workload, and see whether the numbers actually move. Until then, there's not much value in trying to benchmark a model that isn't available. There is plenty of value in making sure your benchmark is ready when it is.&lt;/p&gt;

&lt;p&gt;Disclosure: This post is adapted from research originally published by the CometAPI team.&lt;/p&gt;

</description>
      <category>deepseek</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
