CLAUDE LABJP
PRICING — September 1 was the scheduled date for the Sonnet 5 price increase, and it did not happen. The introductory $2/$10 per MTok now stands as the regular pricePARTNER — Salesforce and Anthropic announced Claudeforce, an expanded partnership. The Salesforce in Claude plugin ships with 37 prebuilt sales skills, from meeting prep to pipeline managementTRUST — Claudeforce serves Claude through Amazon Bedrock inside the Salesforce Trust Boundary, so data and inference never leave the security perimeter — an answer aimed squarely at regulated industriesBETA — Salesforce in Claude is with select pilot customers for now, with an open beta expected during SeptemberLIMITS — The 50% weekly-limit boost runs through September 13. From September 14 the permanent level is 25% above the pre-promotion baseline, roughly a 17% cut from todayRELEASE — Claude Code has shipped nothing since v2.1.251 on August 28. Against a pace of one release every 0.8 days, a four-day gap is among the longest yetPRICING — September 1 was the scheduled date for the Sonnet 5 price increase, and it did not happen. The introductory $2/$10 per MTok now stands as the regular pricePARTNER — Salesforce and Anthropic announced Claudeforce, an expanded partnership. The Salesforce in Claude plugin ships with 37 prebuilt sales skills, from meeting prep to pipeline managementTRUST — Claudeforce serves Claude through Amazon Bedrock inside the Salesforce Trust Boundary, so data and inference never leave the security perimeter — an answer aimed squarely at regulated industriesBETA — Salesforce in Claude is with select pilot customers for now, with an open beta expected during SeptemberLIMITS — The 50% weekly-limit boost runs through September 13. From September 14 the permanent level is 25% above the pre-promotion baseline, roughly a 17% cut from todayRELEASE — Claude Code has shipped nothing since v2.1.251 on August 28. Against a pace of one release every 0.8 days, a four-day gap is among the longest yet
Articles/Claude Code
Claude Code/2026-07-15Advanced

Keeping Unattended Logs Readable — Measuring axScreenReader's Plain-Text Rendering Before Adopting It

Piping Claude Code into a log file leaves you with escape codes and redraw debris instead of an answer. Here is how I enabled axScreenReader across its three entry points, measured the difference on one real task, and moved my unattended runs over to it.

Claude Code241axScreenReaderLogging3Unattended runsTerminal2

Premium Article

A task I had left running overnight had failed, so the first thing I did that morning was open the log.

What I found was almost 400KB of text in which the same lines appeared dozens of times over. Spinner frames. Progress indicators overwritten in place. Escape sequences for color. The one thing I needed — which command ran, and how it went wrong — was buried somewhere in that sediment.

Even grep did not help. The same tool call matched over and over. I could not tell whether it had actually run nine times or thirty-seven.

As an indie developer who leaves a few sites worth of work running unattended overnight, whether the morning log is readable feeds straight back into how much time I have left to build. An hour spent isolating a cause is not the price of the failure. It is the price of how it was recorded.

The problem was not what Claude Code had said. It was how it had drawn it. The axScreenReader option that landed on 2026-07-15 switches rendering to plain text, and while it is presented as an accessibility setting, it turns out to be exactly the right tool for keeping unattended logs readable.

Logs bloat because of drawing, not because of output

Claude Code's terminal display does not append lines. It moves the cursor back, erases what it already wrote, and writes again. While a person is watching, this is the right choice — progress updates in one place and your eyes stay still.

Down a pipe, though, every step of that process survives as history. Cursor moves (ESC[A), line erasures (ESC[2K), color codes (ESC[38;5;…m). A spinner redrawing ten times a second leaves ten lines of debris per second in your log.

So the bloat is not Claude being verbose. It is the redraw work — done for a screen nobody was looking at — recorded verbatim. Miss that distinction and you start reaching for the wrong lever: changing --output-format, trying to make the model say less. That is exactly what I did first, convinced I had let the model say too much, hunting for savings in a place that had none.

The way to separate the two is straightforward: count the body after stripping escape sequences, and count raw bytes separately.

Three ways to turn on axScreenReader, and how to choose

There are three entry points. Any one of them flips the behavior, but they differ in blast radius.

Entry pointHowWhat it affectsBest for
CLI flag claude --ax-screen-reader That invocation only One-off reproduction; controlled A/B measurement
Environment variable CLAUDE_AX_SCREEN_READER=1 The process and anything it spawns CI and scheduled runs — no need to rewrite call sites
Settings "axScreenReader": true Every launch that reads those settings A machine or container dedicated to unattended work

I use the environment variable. My unattended runs already go through a wrapper script, so it costs one line there, and my interactive sessions keep the display I am used to. Putting it in settings moves the default for the whole terminal, which gets confusing on a machine where you also work by hand.

The question to ask is simply how far you want the change to reach. Comparing? Use the flag. Changing only the unattended lineage? Environment variable. Machine already dedicated to unattended runs? Settings.

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
Why TUI redraws and escape sequences inflate logs, and how to separate that from actual output with measurement
The three ways to enable axScreenReader (flag, env var, settings), what each one touches, and when to pick which
A line-oriented ledger that folds plain-text output into something you can actually read after a failed run
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

Claude Code2026-07-16
Switching Claude Code to Plain-Text Rendering — Three Ways In, and What Your Logs Actually Weigh
I opened last night's Claude Code log and found the same spinner line stacked dozens of times. Here are the three ways to turn on screen reader mode, a short script that measures what escape sequences and redraws really cost you, and what you give up when the rendering goes plain.
Claude Code2026-08-31
The Same Announcement Reads as '+25%' and as 'a 17% Cut' — Checking the Math on Claude Code's September 14 Weekly Limit Change
From September 14, Claude Code's weekly limit becomes a permanent +25% over the pre-promo baseline. Here is why +25% and a 17% cut are the same change, and how to check your own exposure with /usage and a status line script.
Claude Code2026-08-31
Half of My Scheduled Runs Vanished Without a Single Error
A batch job set to run twice a day was only firing once. No errors, no failure alerts. Here is how to expand your own schedule, count expected runs, and reconcile them against execution records to catch silent misses.
📚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 →