Changelog

What shipped recently in CLI.

September 2026


Cloud PlatformCLI·

Ask AI: follow Studio and CLI conversations live from the web

Ask AI conversations running in Studio or the CLI now show up in Ask AI on the web, where you can follow them as they happen.

  • A Chats / Remote switcher heads the Ask AI sidebar. Chats holds your web conversations, as before. Remote lists conversations from Studio and the CLI: live ones under Live now, ended ones under Archived. Search works inside whichever list you're on.
  • Watch a turn as it streams, including the artifacts it produces along the way, rather than after it finishes.
  • Each session shows where it came from, Studio or the CLI, and what state it's in.

Nothing to set up: conversations from Studio and the CLI appear on their own.

Also in this release, signed-in browser sessions are protected against cross-site request forgery. API keys, the CLI, the SDKs and webhooks work exactly as before.

CLI·

Stop a running test run in Studio, and a redesigned Tests section

A test run in Studio can now be stopped, and the Tests section has been redesigned around one primary action per screen.

  • Stop a run. While a run is going, the Tests list shows Stop beside "Running…", and a test's detail view offers Stop run in place of Run this test. Stopping ends every process the run started — the runner, its workers, the browsers and the dev server Playwright launched — and the list goes back to the results it had. It reads as "Run stopped", not as a failure, and records nothing.
  • Closing Studio mid-run stops the run too, the same way. A run the assistant stopped reads as Stopped in the chat, and never picks up an earlier run's report.
  • The CLI cleans up after itself. When the assistant's background test runs are stopped, or the CLI exits or is interrupted, every process those runs started is shut down: politely first, then for good.
  • One look across Tests. The list, a test's detail, Needs rework and Test runs share one design. The list scrolls in any window, and every Tests view fits a narrow one.
  • The list matches what Playwright runs. It follows your config's testDir and testMatch, finds every spec file (and the Tests search finds a file by name), includes tests written against a custom fixture, and no longer lists a helper call inside a test as a test of its own.
  • Results you can trust. A test.fail() that fails as expected counts as passed. Every test keeps its own evidence across reruns, and says why when that evidence can't load. A comment inside your reporter array no longer makes Studio add its reporter twice.

Released as testrelic-cli 0.109.0.

CLI·

Studio tells two tests with the same name apart

Two tests sharing a title in one file used to collapse into a single row in Studio's Tests list: selecting either one selected the first, opening the second showed the first one's steps, and rerunning by name ran both. Studio now identifies a test the way your framework does, by file › describe blocks › title.

  • Each test is its own row, with its own declaration line and its own steps.
  • A rerun targets file:line, so it runs the test you picked and nothing else.
  • The same title under two different describe blocks is no longer mistaken for a collision.
  • A real collision is explained. A band says what the shared name costs you in your framework's own terms, and a Fix the shared name rail hands the rename to the agent.

Released as testrelic-cli 0.106.0.

CLI·

Studio's agent chat recovers a lapsed sign-in

Studio's agent chat could get stuck reporting "your sign-in has expired" even right after you signed in — and pressing Sign in again didn't clear it. It does now.

  • A lapsed session heals itself. When a chat turn is refused for authentication, it re-checks your saved sign-in and retries — so a sign-in you completed while Studio was open is picked up on your next message, with no restart.
  • Sign in again actually works. Signing back in through Studio now refreshes the credential the chat uses, instead of leaving the conversation stuck.
  • The message is honest. When a sign-in genuinely has expired, the prompt now points only at steps that resolve it.

Released as testrelic-cli 0.105.2.

Cloud PlatformCLI·

An out-of-date CLI now tells you, in the app

If your CLI or Studio is running a version too old to update itself, TestRelic now says so the next time you use Ask AI — on the one channel a stuck install can still reach — with the single command that fixes it.

  • The notice reaches both the terminal CLI and Studio's agent chat, since Studio drives the same CLI underneath.
  • It's shown once, not on every turn, and it names the exact reinstall command for your platform.
  • It moves with each release on its own. A client merely a version behind — one whose updater still works — gets a quieter "a new version is available" note instead of the reinstall prompt.

No action needed if you're current; you'll never see it. Shipped on the Cloud Platform.

CLI·

The CLI and Studio keep themselves up to date again

Auto-update is reliable again — and when it can't run, it now says so instead of failing in the background. Older installs that had quietly stopped updating are the reason this shipped.

  • Updates survive a download source being unavailable. The CLI and Studio now try more than one place to fetch a release, so a single origin going down no longer strands your install on an old version.
  • A new testrelic update command. Run it any time to update on the spot; testrelic update --check reports your version against the latest and which download source answered, and changes nothing.
  • A failed update is visible. When an update can't complete it now tells you why and what to do, rather than starting the old version as if nothing happened.
  • Bigger releases download reliably. The updater no longer gives up early on a slow connection, and shows real progress while it works.
  • Alongside: a round of Studio and CLI interface fixes — sign-in screens you can move and close, a live countdown and a clear way out while a sign-in is pending, and failure states that say what went wrong instead of showing an empty "nothing here yet" screen.

Released as testrelic-cli 0.105.0. If your install is older than 0.104.0 it can't reach this fix on its own — reinstall once from the install steps and it will keep itself current from then on.

CLI·

Decide a visual change where you saw it: tr visual accept, and a Visual tab in Studio

The reporter learned to say which element caused a visual failure two days ago. This release closes the loop: the CLI and Studio show the same attribution, and a reviewer can accept or reject the new baseline without leaving the terminal — with a record of who decided what, and why.

  • tr visual accept / tr visual reject. Accept copies this run's render over the committed baseline file the report names — the one Playwright reads next time — and nothing else; reject changes no files. Both refuse what cannot be decided (a pass, a baseline that was only written, a size mismatch), both record the decision as a line in <report>/visual-decisions.jsonl before anything touches the network, and both sync it to TestRelic Cloud when the run was uploaded there — otherwise one line says why it stayed local. --note travels with the decision. See Visual regression.
  • tr visual lists a retried test once, with the final attempt's verdict, and names a comparison by snapshot, by <spec>::<snapshot>, or by test id — an ambiguous name is refused with the candidates listed, never guessed.
  • Studio has a Visual tab in the cloud test stack, beside Steps, Console and Network: baseline against this run, side by side or as Playwright's pixel diff, the element list with the changed element's box drawn over the render, and Accept / Reject wired to the platform. The same tab appears for a report opened from disk, without the decision buttons — nothing leaves the machine there.
  • The step cursor that scopes the panels is set from the Steps tab in the cloud test stack.

Released as tr 0.103.0 and the matching Studio build. Accept needs a report from @testrelic/playwright-analytics 2.16.2 or later, which records where each committed baseline lives.

CLI·

Errors that tell you what to do

When something goes wrong, Studio now tells you what happened and how to fix it.

  • Every error comes with steps. A short explanation, then what to do, in order. The technical detail goes to a log file instead of filling the dialog.
  • Every error has a page. Click More help in the message to jump straight to the matching section of the new Troubleshooting Studio page.
  • Two common failures are named properly now. Antivirus software that inspects HTTPS traffic can break Studio's connection — Studio recognises that and retries on its own. And a mistyped server address used to be blamed on antivirus, which no antivirus setting could fix.