Changelog

Changes across the Currents platform, CLI, reporters, and integrations.

Run attachments

Attach server logs, build output and merged reports to a CI run, and find every file of the run on its new Attachments tab.

Run attachments

Some files you need to debug a CI failure don't belong to any one test: the server log of each CI machine, the Docker logs, the merged HTML report. They used to stay in your CI provider's artifacts, a login and a few clicks away from the test results.

Now you can attach them to the run in Currents, straight from the CI job, with the record key the job already uses:

npx currents run attach --machine-id shard-1 --caption "Web server log" server.log
The Attachments tab of a run: the files attached to the whole run, grouped by CI machine, then the screenshots, videos and traces of each failed and flaky test
The files of the whole run come first, grouped by CI machine, then the files of each test.
  • Attachments tab — every file of the run in one list: the files you attached, and each test's screenshots, videos and traces from the reporter
  • Grouped by machine — files attached with --machine-id are listed under that machine
  • Search and filter — by file name, caption, spec file, test title or machine, by file type, or by who added the file
  • Open in place — screenshots and videos open in a viewer, traces open in the trace viewer, and text files preview in the list
  • Any level — attach to the whole run, a spec file, a test, or one attempt of a test
  • For agents — the Currents MCP server lists the run's files with a link to each, and currents-add-attachments lets an agent attach files itself

Set CURRENTS_CI_BUILD_ID on the CI job, so the step that reports results and the step that attaches files find the same run. currents run attach ships in @currents/cmd 2.0.

Remote MCP Server with OAuth

Add one URL to your MCP client, authorize in the browser, and your agent can use Currents tools. No API key to paste, no package to install.

Remote MCP Server with OAuth

Connecting an agent to Currents used to mean installing a package and pasting an organization API key into a config file on every machine.

Currents now hosts the MCP server at https://mcp.currents.dev/mcp. Add the URL to your client, sign in with your browser, pick an organization, and approve the permissions. That's it.

claude mcp add --transport http currents https://mcp.currents.dev/mcp
  • No key to paste: the client holds the OAuth token, so nothing sits in a config file
  • Acts as you: the agent works as the person who authorized it, in the organization they picked
  • Easy to revoke: review and revoke your authorizations under Account → Connected Applications; admins can revoke any member's from Manage Organization → Connected Applications
  • Works with any client that speaks Streamable HTTP; a client that can't do OAuth can still connect with an API key or a personal access token

The @currents/mcp package keeps working if you prefer to run the server locally.

Personal Access Tokens

Replace the one organization key your whole team shares with API tokens that name their owner, carry only the permissions they need, and always expire.

Personal Access Tokens

Your whole team shares one organization API key. It can call the entire API, nobody can tell who made which call, and it keeps working after the person who created it leaves.

Personal access tokens fix that. Each one belongs to a single admin in a single organization, names its owner, and carries only the permissions you pick.

  • Scoped — pick exactly which resources the token can read or change; nothing is granted by default
  • Stops when access stops — a token stops working when its owner loses admin, leaves the organization, or is deprovisioned through SCIM
  • Always expires — 7, 30, 60 or 90 days, or any date up to one year
  • Works with the REST API and remote MCP — send it as a bearer token; over MCP, your agent only sees the tools its permissions allow
  • Easy to spot — every token starts with crnts_pat_, so a leaked one stands out in a log or a diff
  • Shown once — copy it at creation; Currents stores only a hash

Create tokens under Account → Personal Access Tokens. Admins can review and revoke every token in their organization from Organization → API & Record Keys.

Existing organization API keys keep working.

Shareable AI context for test failures

Turn any Playwright failure in Currents into a link. Open it for a readable page, or add .md and your agent fetches the whole failure context with no Currents login.

Shareable AI context for test failures

You are looking at a red CI and you want your agent to fix it, but the failure context is far too big to paste into a chat window. A link is 30 characters.

Click Share on any failure in Currents and you get a URL that both people and agents can read.

  • Dashboard — Share from the Fix with AI dropdown, for a single test or a whole run
  • Slack — Fix with AI on a failing test, Fix all with AI on a failing run
  • For people — open the link for a readable failure page, no Currents login needed
  • For agents — add .md and any agent fetches the raw context: curl -s https://s.crts.sh/<slug>.md
  • One-click handoff into Cursor, Claude Code and Copilot from the share page
  • Context is frozen when you click Share, so your agent reads exactly the failure you shared
  • Links expire after 24 hours
  • Share the same failure twice and you get the same link back

Public by design

A share link is public: no Currents account, which is exactly what lets your agent read one with no credentials. The tradeoff is that anyone holding the URL can read the git information, failure, stack traces and console output included.

So we keep that exposure narrow. Links expire after 24 hours, slugs are 72 bits of randomness, share pages are never indexed or cached, and an expired link returns a blank 404 with nothing to probe. Nothing becomes public on its own either: no page view, no Slack notification and no finished run creates a link, only clicking Share does. The page marks failure content as data rather than instructions, and no handoff action puts your test content into a shell command.

Public sharing is on by default. Admins can turn it off for the whole organization in settings, which refuses new shares and leaves existing links working until they expire.

Better Slack notifications for CI test runs

Clearer CI test updates, recovery alerts, AI-assisted fixes, and automated reports in Slack.

Better Slack notifications for CI test runs

Slack notifications should tell you what happened without turning into another noisy feed. This update makes run updates easier to scan, keeps threaded messages current, and gives you direct paths from a failure to the next step.

  • See run status at a glance — every Slack notification now uses status colors, so failed, passing, cancelled, timed-out, and in progress runs are easier to spot.
  • Keep threads short and updated — the first message in a run thread updates as the run progresses. Replies only appear for events that need attention, such as failed tests, flaky tests, cancellations, and timeouts.
  • Get accurate final results — multi-group runs now send one final summary per destination, and Slack messages update when late test results change the totals.
  • Fix failures from Slack — failure messages include a "Fix with AI" action that opens the existing AI-assisted troubleshooting flow with the relevant run and test context.
  • Open the right view in Currents — links from Slack notifications now open Run Summary with the relevant failed, flaky, and group filters already applied.
  • Control when success messages arrive — send pass-only notifications to a separate channel, or receive a recovery message when a branch succeeds after a failure.
  • Send scheduled reports to Slack — automated reports can now post a compact Slack card with run and test totals, success rate, duration, trends, and links to the filtered Insights views.

References

New Pricing Plans

Cheaper rates, more users, a self-serve Business plan, fairer overage, and yearly usage pooling.

New Pricing Plans

We've redesigned our pricing to better match how teams actually use Currents. Test suites are growing faster than ever, especially with AI-assisted development, and our old pricing structure didn't keep up. Rates are lower across the board, volume discounts are bigger, and we removed most of the friction that made purchasing and scaling harder than it needed to be. User limits, overage penalties, and needing a sales call for enterprise features were all pain points we heard about repeatedly. This update addresses all of them.

  • Team plan renamed to Scale with cheaper per-test rates and bigger volume discounts. Self-serve tiers now go up to 500K tests/month (previously 150K).
  • New Business plan with SSO, SCIM, and other enterprise features available on self-serve. No sales call needed.
  • 50 users included on both Scale and Business (up from 10). Read-only guest users are now free and unlimited.
  • Fairer overage billed at the same per-test rate as your plan. You can also upgrade mid-cycle and overage recalculates immediately at the new rate.
  • Yearly usage pooling — yearly plans now pool your test volume for the full year instead of resetting monthly. We also increased the yearly discount from 1 month free to 2 months free.

Existing Team customers are being automatically moved to Scale with no action needed.

Read the full announcement: Introducing Currents' New Pricing

Currents IDE Extension

Bring Currents into VS Code and Cursor. See CI test runs, fix failures with your AI agent, explore Playwright traces — without leaving the IDE.

Currents IDE Extension

Currents is now available right in your editor. The new IDE extension brings CI runs, failure details, and troubleshooting tools into VS Code, Cursor, and compatible forks — no need to open the dashboard.

  • CI runs in your sidebar — browse the latest runs, filter by branch, author, tag, or status, and see failures grouped by pull request.
  • Fix CI failures without leaving the IDE — the "Fix with agent" action sends the failure to your AI assistant, scoped to a single test, a spec file, or a whole run.
  • Rich context for AI agents — each failure ships with the full error message, stack trace, test history, and an error-context snapshot: the page accessibility tree, console output, and network logs captured at the moment of failure. Agents troubleshoot from evidence, not guesses.
  • Inline trace files — open the Playwright trace for a failed test in an editor panel to step through actions, inspect DOM snapshots, and read console and network logs manually.
  • On-demand context via Currents MCP — the extension automatically registers the Currents MCP server, so agents can fetch additional details about runs, tests, and history as they work — no manual setup.

Install it from the VS Code Marketplace or the Open VSX Registry (Cursor and other VS Code forks), or search for "Currents" in your editor's Extensions panel. You'll need a Currents account and an API key.

References

Integration with Linear

Share Tests Failure details with your team in Linear directly from Currents. For efficient troubleshooting test failures by humans or agents.

Integration with Linear

Share Tests Failure details with your team in Linear directly from Currents. Currents injects all the necessary details about test failures for for humans and agents. No tab switching, no copy-paste.

Enable our native integration with Linear to create or link issues directly from Currents. Once enabled, you can see and edit Linear Issues associated with your tests directly in Currents.

Currents Integration with Linear
  • Full Details for Effective Debugging - Currents injects all the necessary details required to troubleshoot test failures.
  • Create or Link Existing Issues - add multiple failures to the same issue, track already affected tests without switching tabs or losing focus.
  • Secure, Configurable — based on native secure OAuth integration with Linear, connects once for your entire workspace and configured per project.

When a test fails, the Linear icon is right there. Click it, create a new issue or attach an existing one, and move on. Stack traces, run metadata, and Currents links go with it.

Built to replace your manual Linear workflows:

  • Pick a team, project, assign a teammate
  • Reference failure details
  • Add extra details - done!

References

@currents/playwright 2.0 - Playwright 1.60+ Support

We've released @currents/playwright 2.0 with full support for Playwright 1.60 and newer.

@currents/playwright 2.0 - Playwright 1.60+ Support

We've released @currents/playwright 2.0 with full support for Playwright 1.60 and newer.

We've updated the orchestration workflow to use two commands for better control over test discovery and execution.

  • Playwright 1.60+ support: Now fully compatible with the latest Playwright versions
  • Improved workflow: Separate test discovery (pwc-p discover) from orchestration execution (pwc-p run)
  • Better filtering: Apply Playwright filters (--grep, --last-failed, --project) before orchestration

⚠️ Migration Required

If you're using Playwright 1.60+, you must upgrade to @currents/playwright 2.0. The orchestration workflow has changed to a two-step process. See the migration guide for detailed instructions.

Invite guests without using paid seats

You can now add guests to your Currents organization without consuming a billable seat. This makes it easier to bring in stakeholders, reviewers, and cros…

Invite guests without using paid seats

You can now add guests to your Currents organization without consuming a billable seat. This makes it easier to bring in stakeholders, reviewers, and cross-functional teammates while keeping paid seats reserved for people who need full write access.

  • Invite teammates as Guests even when billable seats are full
  • Keep billing and seat limits focused on billable members only

This should make it much easier to collaborate with engineering managers, QA leads, support teams, and other stakeholders who need visibility into test outcomes without taking up a paid seat.

All updates