CLAUDE LABJP
CLI — Claude Code v2.1.260 shipped on September 3. The new /diff panel opens beside the conversation and shows uncommitted changes as Claude edits themFIX — Fullscreen no longer blanks the transcript after a terminal resize, and a diff containing one very long line no longer grinds rendering to a halt; such lines are now truncated with a markerMCP — The 2026-07-28 spec moves the protocol to a stateless core, so servers can run on serverless and edge infrastructure. MCP Apps and Tasks now ship under a versioned extensions frameworkSCALE — MCP passed 400M monthly SDK downloads, a fourfold increase this year, and the Claude connectors directory now lists over 950 MCP serversCOMMERCE — On September 2 Anthropic published both an announcement and a design guide for commerce agents. The heart of it is where to draw the line on autonomy when payments and inventory are involvedMEMORY — Since August 25, Claude's memory carries across surfaces and you decide what goes into it. Being able to choose what it should not remember is the part that matters most in daily workCLI — Claude Code v2.1.260 shipped on September 3. The new /diff panel opens beside the conversation and shows uncommitted changes as Claude edits themFIX — Fullscreen no longer blanks the transcript after a terminal resize, and a diff containing one very long line no longer grinds rendering to a halt; such lines are now truncated with a markerMCP — The 2026-07-28 spec moves the protocol to a stateless core, so servers can run on serverless and edge infrastructure. MCP Apps and Tasks now ship under a versioned extensions frameworkSCALE — MCP passed 400M monthly SDK downloads, a fourfold increase this year, and the Claude connectors directory now lists over 950 MCP serversCOMMERCE — On September 2 Anthropic published both an announcement and a design guide for commerce agents. The heart of it is where to draw the line on autonomy when payments and inventory are involvedMEMORY — Since August 25, Claude's memory carries across surfaces and you decide what goes into it. Being able to choose what it should not remember is the part that matters most in daily work
Articles/Cowork
Cowork/2026-09-05Advanced

I verify what my Cowork memory claims instead of trusting its timestamp

Persistent memory keeps asserting whatever was true the day you wrote it. After an unattended job quietly read an empty folder for months, I stopped judging memory by its modification date and started attaching a verification step to every claim that can rot.

Cowork37memory8scheduled tasks11operations27

Premium Article

On a Friday evening I noticed that one of my asset-collection jobs had finished cleanly with a count of zero.

No error. No warning. The log had the count and the elapsed time, nothing else. When I walked through the same steps by hand, the answer showed up quickly: the folder the job was reading had been emptied months earlier, when I reorganised where those files live.

I remembered moving them. What I had not remembered was that the old location was also written down in persistent memory. The memory file itself had been touched a few weeks earlier, so by its modification date it looked recent enough. The line inside it still pointed at an arrangement from half a year ago. The timestamp was telling me how fresh the file was, not how fresh the claim was.

A memory is an assertion, not a fact. Check that it still holds, once, before handing it over. Since I started running more unattended work as an indie developer, that sentence has sat underneath the whole setup.

The busiest memory files hold the oldest claims

For a long while I worried mostly about what went into memory. Don't write too much, don't mix in secrets, don't duplicate. All reasonable, and all concerned with the moment of writing. The failure happened at the moment of reading, six months later.

Modification dates mislead here in a specific way. You touch a memory file when you want to add something new, and the older lines ride along untouched. So the more actively a memory grows, the more unverified assertions it quietly accumulates inside itself.

A human reading that line would pause — didn't I move that? An unattended run does not pause, because nothing gives it a reason to doubt the premise it was handed. In my experience this class of miss never even registers as a failure. The premise is stale, but the procedure itself completes exactly as written.

I wrote separately about jobs that report success while producing nothing. This one was the same shape with the cause sitting outside the job, in the memory it was given.

Sorting claims that rot from claims that don't

My first instinct was to give every memory an expiry — three months, then re-read it. Straightforward enough.

Trying it showed me the flaw. What expires is not the memory but the thing the memory points at. Some claims stay correct for years; others are wrong within days. A uniform expiry throws away the durable ones and keeps the rotten ones.

So I sorted by kind of claim instead. Roughly, mine fall out like this.

Kind of claimExampleHow it rots
LocationWhere assets live, canonical paths, output targetsRots quietly on every reorganisation
NameScript names, task names, flag namesRots on rename, invisibly to the reader
Outside worldModel generations, pricing, deprecation datesRots without you touching anything
ProcedureExecution order, preconditions, dependenciesRots the moment the implementation changes
JudgementWhy an approach was rejected, where a line was drawnBarely rots at all
PreferenceVoice, naming habits, phrasings to avoidBarely rots at all

The top four share a property: each one has a counterpart out in the filesystem or the world, and the presence of that counterpart can be checked by a machine. The bottom two have no counterpart. There is no command that verifies why I chose one design over another.

That line turned out to be exactly the line for "does this need a verification step?" Claims that rot get one. Claims that don't get handed over as they are.

Thank you for reading this far.

Continue Reading

What follows includes implementation code, benchmarks, and practical content we hope you'll find useful. This site runs without ads — server and development costs are supported entirely by members like you. If it's been helpful, we'd be truly grateful for your support.

WHAT YOU'LL LEARN
You can stop the quiet failure where a stale memory sends an unattended run to a place that no longer holds anything, before the run even starts
You will be able to sort your own memory files into claims that rot and claims that do not, and decide which ones deserve a verification step
You get a dependency-free checker and loader you can drop into any unattended pipeline, so failed claims are held back in the open rather than dropped in silence
Secure payment via Stripe · Cancel anytime

Unlock This Article

Get full access to the rest of this article. Buy once, read anytime. This site is ad-free — your support goes directly toward keeping it running.

or
Unlock all articles with Membership →
Share

Thank You for Reading

Claude Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $15 for lifetime access
View Membership →

Related Articles

Cowork2026-03-20
Running 4 Sites with 600+ Articles on Autopilot Using Cowork — A Solo Developer's Real Automation Story
How I use Claude's Cowork mode to automatically generate and publish articles across 4 AI knowledge base sites. Covers scheduled task design, skill files, real failures, and lessons learned.
Cowork2026-08-29
The lock I left in a shared folder shut out every run after the first
A cloud-synced connected folder allows create, append, and rename, but refuses delete. Putting a single-instance lock there quietly disabled every unattended run after the first. Measurements for three lock styles, plus an implementation that picks a safe location.
Cowork2026-08-24
I counted the keys in my connected folder: filenames found 5 of the 18
A record of counting what lives inside a connected folder, once by filename and once by file contents. Filenames returned 24 hits of which only 5 were real, while a content scan returned 18 of which 13 left no trace in their names. Includes a scanner that never prints a secret, its real output, and the rules I adopted afterwards.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →