# Mac integration

> The parts of Mariner that reach outside the window — iCloud sync, Shortcuts and Siri, Spotlight, the request history, the app-wide proxy and the download ceiling.

## iCloud sync

Off by default. Turn it on in <kbd>⌘,</kbd> → **iCloud** and relaunch the app.

- **Syncs:** workspaces, collections, folders, requests and environments, through your private iCloud database. No Mariner server is involved.
- **Never syncs:** history and response bodies, which stay in a local store, and credentials, which stay in the Keychain of each Mac.

The cloud icon in the status bar tells the state: green when connected, *iCloud off*, *Sync error*, or *Not syncing* when a local change has waited too long for an acknowledgement. Click it for the last local save, the last iCloud event and pending changes; **Sync now** there or <kbd>⌘S</kbd> anywhere forces a push. If iCloud cannot be initialised at launch, Mariner keeps working locally, switches the toggle off and shows the reason in Settings.

## Shortcuts and Siri

Mariner provides a **Run Request** action for the Shortcuts app: pick a saved request, and it runs with the workspace's active environment — even with Mariner closed — returning the response body (up to 2 KB) as a value the next action can use. Siri understands phrases like *"Run ‹request› in Mariner"* and *"Send ‹request› with Mariner"* for requests you have enabled in Shortcuts.

## Spotlight

Every request is indexed. Type its name in Spotlight and the result opens the request in Mariner.

## History

<kbd>⌘⇧H</kbd> opens the history of the current workspace: every execution with its status, duration, the request as it was sent and the response.

- Filter by status class (2xx … 5xx, errors), by collection, or by text over name and URL.
- Right-click a row: **Re-run** (with the request's current definition), **Open Request**, **Copy URL**, **Delete**.
- **Retention** keeps a rolling window per workspace — 200 executions by default, adjustable from 10 to 10,000 — and **Purge Now** applies it immediately. **Clear All** deletes what is currently filtered.
- **Export HAR** writes the filtered executions as a HAR 1.2 archive for tools that read it.

Response bodies are stored up to 1 MB each; anything beyond is dropped and marked as truncated. The last five executions are also one <kbd>⌘K</kbd> away under *Recent*.

## Proxy

<kbd>⌘,</kbd> → **Network** → **Use a proxy**, with host and port, a live reachability check, and a **bypass** list (`localhost, 127.0.0.1, *.local`; a leading dot such as `.example.com` matches every subdomain). One proxy fronts both HTTP and HTTPS for the whole app.

<kbd>⌘⇧P</kbd> toggles it without opening Settings; a chip in the URL bar shows when traffic is being routed through it. Requests use a 30-second timeout.

When the failure belongs to the proxy rather than to the server, Mariner says so instead of blaming the network: **Proxy connection failed** — naming the host and port when the proxy is the one configured here, and pointing at System Settings when it is not —, **Proxy rejected the credentials** (Mariner does not send proxy credentials yet), **Proxy refused the tunnel** when it answers `CONNECT` with something that is not one, and **Proxy configuration failed** when the PAC file cannot be read. These used to arrive as a raw `kCFErrorDomainCFNetwork 310`, or as a TLS error pointing at a certificate that was never reached.

## Download ceiling

<kbd>⌘,</kbd> → **Network** also caps how much of a response body Mariner will pull into memory: **50 MB** by default, adjustable to 10, 25, 100 or 250 MB, or turned off for someone who knows they are fetching something large on purpose.

This is the only limit that acts *before* the bytes exist — the body arrives in chunks and the transfer is dropped the moment it goes over, so a 2 GB endpoint cannot make the app ask the system for 2 GB. Every other size in this page (history's 1 MB per body, the viewer's own caps) protects the disk or the render, and by the time those apply the response is already in memory.

## Exploration log

A small, optional log of milestones — first 2xx, first error, a response under 100 ms — under **Help → Exploration Log**. Switch the tracking off in **Settings → Appearance** if you would rather not.

---
Source: https://marinerhttp.dev/docs/system · Mariner docs
