Install CA on macOS
To inspect HTTPS traffic from apps running on the same Mac as Probe — Safari, Chrome, the iOS Simulator, native apps that use URLSession — you install Probe's CA into the System keychain and mark it as trusted for SSL.
This is a one-time setup per machine. After it's done, any HTTPS connection from any app on this Mac that respects the system trust store will work transparently with Probe running.
Traffic from an app running in the iOS Simulator reaches Probe like any other local process, but Probe labels it with the simulator's name (for example iPhone 17 Pro) and lists it under Devices in the sidebar instead of Apps. To trust the CA inside a booted simulator, use Certificate → iOS Simulator Setup Guide.
Install the certificate
Section titled “Install the certificate”-
Make sure Probe is running. The CA download server only responds while the app is open.
-
In a browser, open:
http://localhost:9098/download/macosThe browser downloads the certificate as a
.crtfile (a few KB). -
In Finder, double-click the downloaded
.crtfile. Keychain Access opens and adds the certificate to the login keychain by default. That's the wrong keychain — you want System, so it applies to every user and every app on the machine. -
In Keychain Access, drag the certificate from login into System. macOS prompts for your administrator password.
-
The cert is now in the System keychain but is still not trusted — it appears with a red
×on the icon. Continue to the next section.
Mark it as trusted
Section titled “Mark it as trusted”-
In Keychain Access, select System in the left sidebar, then find the certificate.
Look for
Probe Root CA (…). If you upgraded from a build that used an older CA, Probe replaced it with a new one on first launch, and the in-app Install & Trust removes the older certificate for you — see Upgrading from an older build. -
Double-click the certificate. A details window opens.
-
Expand the Trust section at the top.
-
Set When using this certificate to Always Trust. macOS will fan out every individual usage to "Always Trust" — that's expected.
-
Close the details window. macOS prompts for your administrator password again to commit the trust setting.
-
Quit and re-open any browser or app that was already running — they cache the trust store at launch and won't pick up the change otherwise.
Verify it works
Section titled “Verify it works”-
With Probe running and Start clicked, open a fresh browser tab and load:
https://example.com -
Switch to Probe. The traffic list should show an entry for
example.comwith status200, response headers, and a viewable HTML body in the Detail panel. -
If the request shows
CONNECT example.com:443and nothing else, the CA isn't trusted yet. See troubleshooting below.
Troubleshooting
Section titled “Troubleshooting”The cert installed but Probe still shows opaque CONNECT lines. You almost certainly missed step 4 of "Mark it as trusted". A cert in the keychain that isn't explicitly trusted is treated as unknown. Re-open the cert, set Always Trust, save.
Browser shows NET::ERR_CERT_AUTHORITY_INVALID even though the cert is trusted.
Chrome and Firefox each maintain their own trust store policies on top of the system one. Chrome on macOS uses the system keychain, so quit and re-launch it. Firefox does not use the system keychain — see Firefox's documentation for adding a CA to its own store, or use a system-level browser for debugging.
Two Probe certificates appear in the keychain. You upgraded from an older build. Probe now signs only with Probe Root CA, and the in-app Install & Trust removes the older certificate from the System keychain. If the older one is still listed (you added it by hand, or to another keychain), delete it and keep Probe Root CA.
Curl from the terminal still fails certificate verification.
curl uses its own bundled root list from libcurl, not the keychain. Either pass the CA explicitly:
curl --cacert ~/.probe/ca.pem -x http://127.0.0.1:9099 https://api.example.comor set CURL_CA_BUNDLE=~/.probe/ca.pem for the duration of your session.