# Cortad changelog

Cortad tests how an AI product behaves before its users see a change, with a simulated user for every journey its app has and for every kind of user it already serves, and reads every real conversation once it is live.

Alpha from Aug 3, 2026, Private beta from Sep 11, 2026. Cortad began as Brainsless, shipped Cortad Intelligence on Oct 16, 2026 and named Cortad Simulations on Oct 24, 2026. Since the private beta opened: 2,916 commits across four repositories, 83 published versions of the npx cortad command, 31 updates on this page.

Every update, newest first. The page with its films: https://cortad.com/changelog

## Cortad Simulations

Oct 24, 2026, private beta

### Real people, your real app (New)

A simulation plays people through your app the way your users do: every journey it has, hundreds of conversations, on your machine, with your own model. Nothing is stubbed.

### The questions you care about (New)

Every message is answered against up to 100 questions. Did they get what they came to do. Were your rules kept. How did they leave. Add your own and those get asked too.

### Your coding agent runs it (New)

Your agent starts a simulation, takes back what failed with the conversations behind it, fixes it, and plays those conversations again.

### Sharper with your live app (New)

Connect your live app and your next simulation plays the people in your real conversations, in the same mix.

### The film, in words

A 10-shot film: https://cortad.com/film?f=simulations

1. Your agent ships faster than you can read. A Claude Code session: refunds added to a support agent, three files changed, every test passing
2. You wrote 20 cases. The twenty cases they wrote by hand, as twenty cells
3. Your users are thousands you did not write. Their users as a wall of hundreds, filling the screen, the camera pulling back off it
4. A simulation plays them as people. The camera dives into one of them: what she came to do, how she writes, what she does if she is put off, and how often her kind turns up
5. Each one talks to your app, on your machine, through your real code. She asks your app for her money back, and it answers that her refund is approved
6. Every reply answers the questions you care about. The questions put to that one reply, each answered, the counter rolling to 100
7. 62 conversations. 3 of them broke. The board the run leaves: conversations passed, tasks done, the questions that failed, and the run drawn as it played
8. Your agent runs it, and fixes what broke. The same session again: cortad run, three that never got their money back, the file changed, cortad verify, all three passing
9. Every week it knows your users better. Six weeks: tasks done stepping up at each fix, and the kinds of user it plays going from 9 to 23
10. The end card: Cortad Simulations. See how your AI behaves with your users, before you ship it to them. Connect your repo; your coding agent does it.

## Intelligence from your run

Oct 17, 2026, private beta

### Watch it from your run (New)

A finished run now leads to a short film of what Cortad Intelligence does with your real users, so the step after testing is in front of you the moment a run ends.

### A steadier app (Improved)

The app's frame stays still beside the side menu and only the page scrolls. Each page opens at its top, and a refresh keeps your place.

## Cortad Intelligence

Oct 16, 2026, private beta

### Live conversations (New)

Cortad tested your AI before release. From today it reads every conversation in your live app as it happens: who is talking to your AI right now, where they are, and how each conversation ended. This is the production half of what the first landing promised on 7 August.

### Behavioral questions (New)

Each conversation is answered against up to 100 questions about behavior: what the user wanted, whether they got it, how they felt, and whether your AI followed your rules. The answers get more accurate every week as Cortad learns your app.

### User groups (New)

Cortad groups users by who they are and what they came to do, and shows where each group gives up. Change your AI for a single group and measure the effect on that group alone.

### Session replay with traces (New)

Session replays show what your AI did at each moment of a visit: the trace behind every answer and the questions answered on it, beside what the user did in your app.

### Incidents (New)

When the answers or your users' reactions move outside their usual range, an incident opens and names the release, prompt or model that changed. Send the fix to your coding agent, or have a webhook tell you.

### Runs from production (New)

Runs now play simulated users built from your real ones, in the same mix. Changes are tested on people like your users before release, and your coding agent fixes what fails.

### The film, in words

A 12-shot film: https://cortad.com/film?f=intelligence

1. In your live app, real people are talking to your AI. Three conversations appear as iMessage threads. People ask a support AI how to export their data to CSV, why they were charged twice, and how much the Team plan costs for 5 people. The AI answers each one; the person asking about the price is sent to the pricing page and writes back: "I just need the price."
2. Cortad reads every message and answers the questions you care about. Every message lights up in turn. The pricing conversation moves beside a card of the questions answered on it, its count rolling up to 100. Did it do what they asked? No, it sent them to the pricing page. Did it give the price when asked? No. Did it make anything up? No. Did it use the pricing tool? No, it never called get_pricing. What did they want? The price for 5 people. How did they feel? Frustrated; they asked again.
3. Accurate from day one, and sharper every week. A card reads: problems Cortad flags, 90% are real from day one, measured against 11,928 conversations people marked by hand. A line under it climbs week by week.
4. Every conversation, read as it happens. Live shows 41 people talking to the AI in the last 5 minutes, 1,268 conversations today, tasks done at 84% and rules kept at 91%. New conversations land at the top of a list, each with its question, who asked, from where, and whether it was completed, and each rings on a globe where it came from.
5. Know your users: who they are, what they want, and where they give up. Bars show what users came to do (setting up an integration, asking about pricing, fixing a billing problem, inviting their team), who they are (team admins, new sign-ups, developers), and where they give up (sent to another page instead of an answer, had to ask the same thing again, waited more than 8 seconds). New sign-ups asking about pricing are struggling, and one person in that group is picked out.
6. Session replay shows what they did, and Cortad learns from every session. That person's visit replays inside the app they used, a pull-request analytics dashboard. They ask its assistant how much the Team plan is for 5 people, are told to find it on the pricing page, write "I just need the price," get the same answer, click the words "pricing page" in anger, and leave. The visit's moments are listed beside the replay with their times, and the trace shows the AI looked up the help docs, asked its model, and never called get_pricing.
7. Change your AI for one group, and measure what it does for them. A change is made for one group only, new sign-ups asking about pricing: give the price first, then the plan details. Over seven days that group's tasks done climbs from 41% to 86%, while a second line for the same group without the change stays flat. Everyone else stays as they were.
8. Your runs learn from them: simulated users built from your real ones. The next run is built from real users, in the share they come in and in their own words: team admins setting up an integration (31%), new sign-ups asking about pricing (17%), developers fixing a billing problem (14%), team admins inviting their team (11%).
9. So your next change is tested on people like your users, before they see it. The next release is tested before it ships. The run passes 58 of 62 conversations, and the rule "gives the price when asked" fails for 4 new sign-ups asking about pricing.
10. Your coding agent fixes what fails. The coding agent edits prompts/support.md, replacing "Never quote prices." with "When someone asks for a price, call get_pricing and give the number." The run then passes 62 of 62.
11. Week after week, your AI gets better and Cortad gets more accurate. A chart of the first six weeks: tasks done rises from 84% to 96%, stepping up where fixes shipped (prices answered, billing answered from the account, webhooks explained). Cortad's accuracy rises from 90% to 97%, and problems caught before release from 1 to 15.
12. The end card: Cortad Intelligence. The more your users talk to it, the better your AI gets. Connect your live app; your coding agent does it. Free up to 10,000 messages a month.

## Connect with your start command

Oct 16, 2026, private beta

### Your start command (New)

Run npx cortad <code> -- <the command that starts your app>, and Cortad starts your app exactly as you do, from the terminal that holds your settings. Add --port to attach to an app that is already running, including one in Docker.

### One yes before runs (Improved)

The setup card asks one yes before test conversations write where your app writes. Nothing touches your data without it.

### Setup as steps (Improved)

After you connect, the setup card shows each step and who is doing it: Cortad, your coding agent by its mark, or you.

### First runs, as written (Improved)

First runs walk your journeys at their real endpoints, and each case in your own eval files becomes its own check.

## Night mode and sturdier runs

Oct 15, 2026, private beta

### cortad.com at night (New)

The site has the app's light and dark switch, with its pixel art redrawn in night colours.

### Runs survive your terminal (Improved)

A run follows your app when your terminal reconnects or restarts, and survives Cortad's own restarts. If something fails along the way, it says which side it was on: ours or yours.

## Checks that fit the conversation

Oct 12, 2026, private beta

### Your site's promises (New)

Cortad reads your public site and docs along with your code, and what they promise your customers becomes something every run checks.

### Rules asked when they apply (Improved)

A rule is checked on a reply only when its situation came up in the conversation. When a rule never comes up, the run writes up to twelve more conversations to bring it up, so no rule goes untested.

### One price beside Run (Improved)

The setup card prices the run in one figure beside Run. Press Run early and the run starts the moment its plan is ready.

### Wide runs finish (Fixed)

Runs that play dozens of conversations at once no longer stop on database timeouts.

## One setup card

Oct 11, 2026, private beta

### One setup card (Improved)

Setup is one card, from copying the ask for your coding agent to pressing Run, with the run's cost beside the button.

### Your coding agent waits for your go (Improved)

Your coding agent reports what a run found and waits for your go before editing anything. Nothing in your code changes without your yes.

### Every problem, ranked (Improved)

Problems to fix lists every confirmed problem, ordered by how many conversations it reached, so the first line is the one that matters most.

### Meet Cortad (New)

Setting up opens on a short intro, and the side menu folds to a column of square tiles that open their pages in a card.

## Whose turn it is

Oct 10, 2026, private beta

### Two lanes (New)

The run page opens on one card with two lanes: what Cortad is doing, with a bar that moves as work finishes, and what your coding agent is doing. When the run ends, its report moves to the top.

### Your coding agent, by name (New)

The agent's lane names Claude Code, Codex, Cursor or Copilot by its maker's mark, with its last calls to Cortad.

### Your own eval files (New)

Cases in your eval files run as checks of their own, with a card for each file. The tests you already wrote become part of every run.

### Real combinations (Improved)

Each simulated conversation uses a real combination of your product's options, such as country and plan, so none asks for one that cannot exist.

## Apps that answer later

Oct 7, 2026, private beta

### Apps that answer later (New)

An AI that replies with an id and answers later is now tested, and runs wait for the finished answer.

### Analytics databases (New)

Read-only queries to ClickHouse, Trino or Presto go through during a run, so an app that reads analytics can answer.

### Just npx cortad (Improved)

Run npx cortad with no code: it reconnects with the folder's key, or asks for one approval in your browser.

### Sign-ins kept (Improved)

A sign-in your coding agent used is kept between connects, in a file only you can read.

## Four numbers from the first second

Oct 6, 2026, private beta

### Four numbers (New)

From its first second, a run reads as four numbers: conversations passed, tasks done, checks failed and reply time, with two graphs under them.

### Every endpoint, tested (Improved)

npx cortad sends Cortad's test request to every AI endpoint itself, four at a time.

### One list of problems (Improved)

The run page shows the same list of problems your coding agent reads. You and your agent work from one list.

### You press Run (Improved)

Your first run waits for you to press Run.

## Yearly billing and faster pages

Oct 5, 2026, private beta

### Yearly billing (New)

Pay monthly or yearly, on the pricing page and in the app.

### Compare runs (New)

All runs leads each run with its pass share, and Compare sets two runs side by side, so a change is measured against the run before it.

### Pages in under a second (Improved)

A finished run opens in under a second, where it took about six.

### Plain addresses and dark mode (Improved)

Every page in the app has a plain address, such as /live or /plans, and dark mode is one press in the side menu.

## Conversations, answer by answer

Oct 4, 2026, private beta

### Answer by answer (New)

A production conversation opens answer by answer, with its tool calls, what they returned, its wait, its cost and the first rule it broke.

### Full traces from the SDK (New)

The SDK records each model call whole, so Overview shows speed and cost from your app's own calls.

### Runs start in seconds (Improved)

Setup is three steps, and a run's first message goes out about three seconds after you press Run.

## Free, Pro and Max

Oct 3, 2026, private beta

### Free, Pro and Max (New)

The plans introduced on 7 September take their final shape: Free, Pro at $99 and Max at $499 a month. Free reads 10,000 production messages a month and includes a run a month, with no card needed.

### Real first messages (Improved)

Simulated users open with a message written for their conversation, never with a description of their goal.

## Live

Oct 2, 2026, private beta

### Live (New)

Production opens on Live: a globe of today's real conversations, coloured by how they ended.

### Production read like runs (New)

Every production reply is read with the same checks as your runs, so a number before release and a number after it mean the same thing.

### Kept back from your agent (New)

One conversation in five is kept back from your coding agent, so every fix is checked on conversations it never read. A fix is never graded on its own homework.

### What to do next (New)

After a run, a card says what to do next: fix what broke, test every change, then watch production.

## The run page, rebuilt

Oct 1, 2026, private beta

### A cell for every conversation (Improved)

The run page draws a cell for every conversation, coloured as it is judged, and every check as a live metric with its fail rate and its range.

### Run starts at once (Improved)

Run takes over the page the moment you press it, and the first conversation starts at once.

### Runs after a change (New)

A run after a change plays what the change reaches, and verify replays the failing conversations to say whether the failure is gone.

### One app, one menu (New)

The signed-in app is one shell, with a side menu that folds to a rail.

## Docs, guides and comparisons

Sep 29, 2026, private beta

### Docs and guides (New)

A quickstart, three guides, and side-by-side comparisons with Braintrust, Langfuse and LangSmith.

### One address (Improved)

Every old link lands on cortad.com.

### Python SDK (Improved)

The Python SDK sees calls made through openai 3.

## Your coding agent runs Cortad

Sep 26, 2026, private beta

### Cortad in your coding agent (New)

npx cortad <code> adds Cortad to Claude Code, Codex and Cursor, with tools to run Cortad, read what it found and verify a fix. Cortad now lives where engineers already work, with nothing new to open.

### Your agent fixes, Cortad checks (Improved)

Your coding agent reads each problem with its file and line, makes the fix, and calls verify to prove it. The loop from a failed conversation to a proven fix closes without you leaving your editor.

### Value or your money back (New)

Find value in your first 30 days, or get your money back.

## Pricing page

Sep 25, 2026, private beta

### Pricing page (New)

Every plan compared line by line, and checkout in one press.

### Book a call (New)

Book a call with the founders from the pricing page.

### Trusted by (Improved)

The landing's hero writes its sentence out, over a line naming the first teams in the private beta: Databuddy, Simulator86 and Pipeit.

## More apps connect

Sep 22, 2026, private beta

### Elysia and Hono (Improved)

Apps built on Elysia and Hono routers now connect, beside Express, Next.js, FastAPI and the others.

### Payments left alone (Fixed)

A run never calls a route that pays, charges or refunds. Test conversations cannot move money.

### Keys stay on your machine (Improved)

A file that carries a key stays on your machine. Cortad holds no customer keys.

## Your coding agent sets it up

Sep 19, 2026, private beta

### Setup through your agent (New)

Connect copies a prompt for Cursor, Claude Code, Codex or Copilot to run for you. Setup takes one paste.

### Production, read (New)

A production view reads every real conversation as it lands, against the same rules as your runs.

### One-line SDK (New)

Install in one line for Node and Python: cortad() from @cortad/sdk.

## Cortad, on your own machine

Sep 17, 2026, private beta

### Runs on your machine (New)

Until now Cortad cloned your repository and built it on our servers. Six weeks of building other teams' apps taught us two things: an AI product needs its real environment, and founders want their code to stay where it is. Cortad now tests the app running on your own machine, started the way you start it. Your code never leaves it.

### Brainsless is now Cortad (New)

One name for the company, the product and the command you type: npx cortad, at cortad.com.

### Data Sharing (New)

Before you connect, you choose how your data may be used, and the choice is kept for your account.

## Private beta opens

Sep 11, 2026, private beta

### Private beta (New)

The first outside teams come in by invitation. Each signs in with GitHub and connects a repository, and Cortad reads the models, prompts and tools in it, and the rules its prompts set.

### Simulated users (New)

Simulated users hold conversations with a running copy of your app, and a report says what broke and where.

### Paid from the first day (New)

Free, Ship and Prove plans, billed through Stripe from the first day of the beta. Start free with one run a month.

## Ten products we had never seen

Sep 8, 2026, alpha

### Ten unseen products (New)

Before opening, Cortad read ten open-source AI products it had never seen. Six of the eight it read end to end closed every problem found with a fix plan a test could verify.

### Too few to rate (Improved)

A rate measured on fewer than 22 conversations says too few to rate instead of printing a percentage, and every figure carries its denominator.

### A provider outage is ours (Fixed)

When a model provider refuses, the screen says so and says it is on our side, instead of waiting in silence.

## Plans and the first-run report

Sep 7, 2026, alpha

### Free, Ship and Prove (New)

Monthly plans: Free, Ship at $99 and Prove at $250, priced from the measured cost of a full run.

### A report that leads with the verdict (New)

A run's report opens with how many conversations came back wrong, and how many of those broke in your app before the model answered. Our fault and yours are told apart on the first line.

### A run stops when your app stops (Improved)

When an app stops answering for twelve turns in a row, the run halts, so no one pays to judge silence.

### Refusing is not failing (Fixed)

An AI that declines what your rules forbid is graded on how well it declined, never as a failure.

## Sign up by email

Aug 31, 2026, alpha

### Sign up by email (New)

Sign up with an email address and a name. The confirmation link lands on our own page and signs you in.

## Your app, built from its repository

Aug 18, 2026, alpha

### Built the way your machine would (New)

Cortad builds your app from its repository inside a sealed sandbox, installs what it needs the way your own machine would, and plays simulated users against it. An agent inside the sandbox fixes what stops an app from starting.

### Measured on 21 open-source products (New)

Boot was measured on 21 open-source AI products with no help from their authors, with each prediction written down before the run. What we learned there is why Cortad moved to your machine in September.

## Checks that cannot invent a fact

Aug 12, 2026, alpha

### A judge held to the evidence (New)

The model that grades a reply is a different model from the one being tested, and it may only cite what is in the conversation.

### Every false alarm, kept (Improved)

Every false alarm a check has ever raised is kept beside the true finding it resembled, and every check is tested against both before it ships.

### Injection that matters (Improved)

A prompt injection counts only when it can cross from user input into something the AI acts on.

## A repository, read

Aug 11, 2026, alpha

### A repository, read (New)

Connect a repository and Cortad reads it into what your AI is: its models, prompts, tools and the rules your prompts set, streamed as it reads, and says what the product is before the read finishes.

### Billing (New)

Billing through Stripe.

## Control how your AI behaves in production

Aug 7, 2026, alpha

### The promise (New)

The landing leads with one sentence: control how your AI behaves in production. Testing before release and watching after it were both in the plan from this day.

### A gate on every version (New)

A version of your AI is promoted only when every case it is tested on holds, and a nightly run catches a regression before a customer meets it.

### Waymo built a world (New)

A section explains testing your AI in a running world built from your own system, the way Waymo tests its Driver.

## The method

Aug 5, 2026, alpha

### Simulated users (New)

Each simulated user has a goal, a history and somewhere to walk away to, and each case says who would really type it. These rules still decide every conversation Cortad grades today.

### Decided by several runs (New)

A case is decided by several runs, never one, and every finding is checked against the code it cites before anyone sees it.

### Nineteen failure families (New)

A standard suite of nineteen ways shipped AI products have failed, each written into the product under test.

## The first site

Aug 3, 2026, alpha

### Sign in (New)

The site is live, with the pixel flask as its mark. Sign in with Google or GitHub.

### Secure from the first day (New)

Every call to the API passes through the edge and is throttled there, and a session lives in a cookie the page cannot read.
