# Minimizing test insights overhead with server-side processing

**URL:** <https://community.tuist.dev/t/minimizing-test-insights-overhead-with-server-side-processing/970>\
**Category:** Announcements\
**Created:** [April 12, 2026, 3:01pm UTC](https://community.tuist.dev/t/minimizing-test-insights-overhead-with-server-side-processing/970 "2026-04-12T15:01:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![marekfort](https://community.tuist.dev/user_avatar/community.tuist.dev/marekfort/32/8_2.png) [@marekfort](https://community.tuist.dev/u/marekfort)\
**Post date:** [April 12, 2026, 3:01pm UTC](https://community.tuist.dev/t/minimizing-test-insights-overhead-with-server-side-processing/970/1 "2026-04-12T15:01:16Z")

</div>

Until now, `tuist inspect test` (and `tuist test` / `tuist xcodebuild test`) parsed your xcresult files locally before sending the results to the server. Starting with [4.180.0](https://github.com/tuist/tuist/releases/tag/4.180.0), the CLI uploads the raw xcresult to the server and lets it do the heavy lifting. This is the same approach we shipped for [build insights](https://community.tuist.dev/t/remote-build-insights-processing/943) earlier.

## Why we did this

Local xcresult parsing added latency after every test run. On CI, where pipeline speed matters most, that overhead adds up. By offloading the work to the server, the CLI returns almost immediately after the upload, and your test data appears on the dashboard once the server finishes processing.

Just like with builds, this also means we can improve parsing logic, support new xcresult formats, and fix edge cases without requiring a CLI update.

## What changed

- The CLI uploads the raw xcresult archive to the server for processing instead of parsing it locally.
- Test runs show a **Processing** status while the server parses the data, then transition to their final state once done.
- For Tuist-hosted instances (tuist.dev), `remote` mode is now the **default**. Self-hosted instances default to `local`.
- You can always override the default by passing `--mode local` or `--mode remote` explicitly.

## Do I need to do anything?

If you’re on a Tuist-hosted instance, no. Update to 4.180.0 and remote processing kicks in automatically. If you’re self-hosted, the behavior stays the same unless you opt in with `--mode remote`.

If you run into anything, let us know 🙏 We validated this end-to-end against `tuist/tuist` across staging, canary, and production, but we may have missed some edge cases.

## Learn more

- Initial pull request: [tuist/tuist#10094](https://github.com/tuist/tuist/pull/10094)
- Default mode change: [tuist/tuist#10243](https://github.com/tuist/tuist/pull/10243)
