Anthropic: claude.ai 3x Faster in Two Weeks, 3,000+ Changes

Anthropic published an engineering post on 23 September 2026 saying it made claude.ai and the Claude desktop app about 3x faster in a two-week sprint in August, with Claude doing the work from a Slack channel. At the 75th percentile, Anthropic says, time to a typeable page went from 3.1 seconds to 0.55, and it merged more than 3,000 changes without a customer-facing incident or rollback.

What Anthropic Published

Anthropic says users had been telling it claude.ai was slow, and that it focused on four journeys that make up 95% of user activity. At the 75th percentile it reports three changes: time to a typeable page on a fresh load of claude.ai fell from 3.1 seconds to 0.55, starting a new Claude Code session fell from 0.8 seconds to 0.3, and loading a Claude Cowork cloud session fell from 2.6 seconds to 0.73.

Anthropic says that in aggregate it estimates the changes save tens of thousands of user-hours of waiting every day. Its chart of the core journeys compares real user monitoring on 13 August with 27 August.

From Anthropic's post: at the 75th percentile, time to a typeable page on a fresh load of claude.ai fell from
From Anthropic’s post: at the 75th percentile, time to a typeable page on a fresh load of claude.ai fell from 3.1 seconds to 0.55, a new Claude Code session from 0.8 to 0.3, and a Claude Cowork cloud session load from 2.6 to 0.73. The figures are Anthropic’s own.

Business Pill · THE AVERAGE HIDES THE SLOW ONES

A one-minute explainer of the idea behind this story: percentiles. It teaches the concept, not this story’s figures.

The key insight: Anthropic calls “With Claude, measuring something makes it tractable” the central lesson of the sprint. It says each new benchmark had to be a metric Claude could move in the lab and a CI number that could only ratchet down, and that it threw out any benchmark that did not correlate with user latency.

The Setup

Anthropic says it ran the sprint from a single Slack channel with Claude in every thread, using Claude Tag (beta) with an internal research model roughly comparable to Opus 5.5. Its standing instructions to Claude covered monitoring deploys for performance regressions, maintaining observability dashboards and proposing performance projects, and ended with the line “The ultimate goal for this channel is for you to become as autonomous as possible, but today we know that isn’t yet possible.”

It says Claude analyzed usage data through the Datadog MCP server and identified four highest-impact journeys: launching the app, starting a conversation, loading an existing conversation and sending a message. Across web, desktop and products those came to thirteen distinct measurements. Anthropic says the sprint began with about twenty hand-picked projects and that it hit twelve of the thirteen targets by day three.

Among the early changes it lists a static composer baked into the HTML so users can type during React initialization, a precompiled V8 code cache for the desktop shell, a composer kept mounted between conversations, session prefetching on hover and a 90% cut in sidebar re-renders.

Measuring First

Anthropic says it wanted to iterate faster than its deploy cadence, so it looked for ways to measure performance in the lab: instruction counts under Valgrind, V8 call counts, React commits, style recalculations and DOM mutations. It says each benchmark had two jobs, a metric Claude could move and a CI guardrail with a number that could only ratchet down, and that it threw out any benchmark that was flaky or did not correlate with user latency.

To test whether instruction counts track the clock, Anthropic says Claude drove them down on two hot paths: the routine that assembles a conversation’s message tree and a scanner for status lines in Claude Code output. It says instructions fell 48% and 31%, wall-clock time fell 78% and 44%, and it checked in two new ratchets as a result.

Anthropic calls this the central lesson of the sprint: “With Claude, measuring something makes it tractable.”

The Loop at Scale

Anthropic describes a loop. Someone opens a thread about a slow stretch of a journey, and Claude finds or builds a benchmark that shows the problem. Claude then comes back with PRs sized for risk, with anything user-visible behind a flag, watches the deploy and the field data, and either ratchets the benchmark down or turns the flag off and iterates.

It says it ran more than a hundred and fifty threads at a time, that one thread would put up fifty, sometimes a hundred, optimization PRs, and that on the busiest days more than two hundred changes landed. About a third of PRs included additional telemetry or guardrails, Anthropic says.

As one example, Anthropic says a screen recording showed sidebar rows popping in after the page loaded and none of its monitors caught it, because each layout shift scored only about 0.008 against a good threshold of 0.1. It says Claude built a telemetry event for layout shifts, and that after it deployed the field data showed 31% of web page loads moved something after the page was usable, without any user interaction.

What the Measuring Found

Anthropic lists several findings. A React hook census found 6,900 hooks and 900 store subscriptions in the composer’s typing path, re-rendering on every keystroke. A single :root:has() selector was adding 24 milliseconds to every DOM change. A leftover location.reload() was causing half a million hidden reloads a day. Identical cache snapshots were being cloned into IndexedDB twice a minute from idle tabs.

It also describes an em dash finding. Highlighting a finished code block could freeze the page for about a second because, if a reply’s markdown contained any non-Latin-1 character such as an em dash or a curly quote, V8 stored the entire string as UTF-16, which put every syntax-highlighting regex on its slower two-byte path. Anthropic says Claude fixed it with a twenty-line change that copies each code block into a one-byte string before highlighting it.

In a separate thread on streaming long answers, Anthropic says it landed nearly sixty PRs against a budget of 8.33 milliseconds per frame. It says long replies blocked the main thread for about 200 milliseconds in total where they used to block it for about 750, ran on about a third of the CPU, and held 120 fps from start to finish on a 120 Hz MacBook.

Guardrails and Steering

Anthropic says every PR went through automated review with at least one human approval, unit tests came before optimizations, and anything that could cause a user-visible problem shipped behind a short-lived feature flag. It says it introduced nearly two hundred flags across the two weeks, more than half already cleaned up by the end, and that high-risk changes rolled out to employees first, then one percent of users, then everyone.

For the static composer, it says Claude built guardrails including a test that compares the static page against the React render across fourteen viewport sizes and asserts alignment within 1 px, and a keystroke test that fails on any lost or reordered key.

Anthropic is explicit that the work was not autonomous: “The loop was productive, but it wasn’t autonomous.” It says its engineers supplied three things: ambition, by pushing a careful Claude to be bolder; taste, since every thread had a named human owner who ruled on user-perceptible changes; and direction, by keeping each thread narrow. It describes the threads as “a hundred and fifty hammers seeking nails.”

The Structural Read

The post bundles three kinds of claim that rest on different evidence. The p75 figures sit under a chart Anthropic captions as real user monitoring on 13 and 27 August. The 48% and 31% instruction cuts and the 78% and 44% wall-clock drops come from a lab test of whether instruction counts track the clock. The 3,000-change figure is a count of merged changes, and Anthropic says none caused a customer-facing incident or rollback.

The post is explicit about who did what. Anthropic says Claude found bottlenecks, built benchmarks, shipped improvements and watched every deploy, while its engineers set goals, made tradeoffs and approved every change. It also says every PR went through automated review with at least one human approval.

Anthropic says it left room for Claude to propose new workstreams, that those quickly grew into full projects, and that about a third of PRs added telemetry or guardrails, so each new instrument produced more threads with more opportunities.

Anthropic — claude.dev, 23 September 2026

“Measurement used to be step zero: you’d add a metric, wait for data to roll in, and only then start to understand the problem. With Claude, it’s step one of the climb.”

Three Implications

MEASUREMENT AS THE BOTTLENECK In Anthropic’s account the scarce step was deciding what to measure, not writing the fix. It says the highest-leverage thing its team could do was find more things to measure, and that about a third of PRs added telemetry or guardrails.

RATCHETS KEEP THE GAIN Anthropic says it locked wins in with CI ratchets: any PR that raised the instruction count of a checked path failed, and a daily job lowered each ceiling whenever the count went down. It gives the reason that performance wins decay in a fast-moving codebase.

WHAT REMAINS UNKNOWN The post gives no cost or compute figure for the sprint, no independent measurement and no 95th percentile result; Anthropic says the 95th percentile, other journeys and very long conversations still have room to improve. This publication did not read the post’s charts as images.

What Is Not Established

Every figure here is Anthropic’s, from its own post and its own measurements. Anthropic says claude.ai and the desktop app are about 3x faster than they were in early August, and that the 95th percentile, other journeys and very long conversations still have room to improve.

The post is dated 23 September 2026 and nothing in this piece is newer. The text gives no cost or compute figure for the sprint and reports no independent measurement. This publication did not read the post’s charts, screenshots or videos as images, did not run any benchmark and did not seek a response from Anthropic.

Business Engineer Framework

The Map of AI — Where a Lab Tuning Its Own Product Sits in the Stack

The Map of AI places more than 200 companies across nine layers of the stack, from silicon to application. A lab using its own model to speed up its own product touches the model and application layers at once, and the Map shows who sits at each.

Read the Map of AI →

The Bottom Line

Anthropic says a two-week August sprint made claude.ai and the desktop app about 3x faster, with Claude finding bottlenecks, building benchmarks, shipping improvements and watching every deploy while its engineers approved every change. It reports more than 3,000 merged changes with no customer-facing incident or rollback, and says the work was productive but not autonomous. The post is dated 23 September.

91,000+ executives read Business Engineer for the AI strategy frameworks cited by ChatGPT, Claude, and Perplexity.

A note on sourcing. We drew entirely on Anthropic’s engineering post of 23 September 2026, reading its text only โ€” not its charts, screenshots, or videos. We did not run any benchmarks, did not seek a response from Anthropic, and have not independently checked the figures or other claims the post makes. Nothing here should be read as a forecast or as investment advice.

Sources: claude.dev · claude.dev โ€” Anthropic engineering post ‘How we made claude.ai 3x faster in two weeks’, 23 September 2026 (body text as quoted in the brief)

Scroll to Top
FourWeekMBA