Sessions, HAR and session packages
Every capture run is kept as a session. Browse them, reopen them, and move traffic in and out as HAR, CSV, OpenAPI or .wirelens files.
Every time you start and stop capture, WireLens keeps that run as a session: its flows, bodies and WebSocket frames, with when it started and how long it ran.
On the Mac#
Capture ▸ Sessions (⇧⌘S) opens the Sessions window. The sidebar also has Sessions, and so does the menu bar status item.
- The left side lists runs by date, with Search sessions. The run that is capturing now is marked RECORDING.
- Select a run to see its Range, Duration, Flows, Hosts, Transferred and Errors, its traffic with a search field, and the inspector, without changing what the main window shows.
- Right-click a run for Show in Main Window, Rename…, Copy Session ID, Export as HAR…, Share to Team Workspace…, Import from Team Workspace… and Delete…. Deleting a run removes its requests, bodies and WebSocket frames from disk.
Show in Main Window narrows the main window to that run, and the filter bar shows the session's name. Capture ▸ Show All Sessions goes back to everything.
Session packages#
A .wirelens package holds a capture with every header, body and WebSocket frame, in one file you can archive, attach to a bug report, or open on another Mac. Everything is under File ▸ Export:
| Item | What you get |
|---|---|
| Session Package… (⇧⌘E) | The session the main window shows, or the whole capture, bodies included |
| Redacted Session Package… | The same, with Authorization, Cookie and Set-Cookie removed before the file is written |
| Session Package Without Oversized Bodies… | Smaller, without the biggest bodies |
File ▸ Open… (⌘O) opens a package as its own session. So does dropping it on the Sessions window, or the import button in its toolbar.
HAR, CSV, cURL and OpenAPI#
HAR is the format browsers and most debugging tools read. HAR and cURL are free; CSV, OpenAPI and Gist need WireLens Pro.
| Command | Writes |
|---|---|
| File ▸ Export ▸ HAR… (⌘E) | What the window shows, through the current filters |
| File ▸ Export ▸ CSV… | The same as a spreadsheet, with the columns you choose |
| File ▸ Export ▸ OpenAPI YAML… | An OpenAPI description of the endpoints in the capture |
| File ▸ Export ▸ Swagger-Style HTML… | The same as a web page |
| File ▸ Export ▸ Selected Flow as HAR… | One flow |
| File ▸ Export ▸ Selected Flow as CSV… | One flow |
| File ▸ Export ▸ Selected Flow as cURL Script… | One flow as a curl command |
Right-click a selection for Export ▸ As HAR… (or N Flows as HAR…) and Export ▸ Raw Message…, and Share ▸ As a Gist….
File ▸ Open… (⌘O), or File ▸ Import ▸ HAR File…, opens a HAR file, such as one saved from a browser's developer tools, as a session you can use every WireLens tool on.
Coming from Proxyman or Charles#
File ▸ Open… reads Proxyman and Charles sessions and rule sets. File ▸ Import has one item per source:
| From | Item | What you get |
|---|---|---|
| Proxyman | Proxyman Session… | A .proxymansessionv2, .proxymanlogv2, .proxymansession or .proxymanlog file as its own session, with bodies, timings and the app each request came from |
| Proxyman | Proxyman Rules… | A rules export (Tools ▸ Export Settings in Proxyman, or proxyman-cli export) |
| Proxyman | Rules from Proxyman on This Mac… | The rules of the Proxyman installed here. Shown when the Proxyman command line tool is installed |
| Charles | Charles Session… | A .chlsj, .chlsx, .chlz, .trace or XML session. A native .chls opens when Charles is installed on this Mac |
| Charles | Charles Settings… | Help ▸ Export Settings, a single tool's Export… file, or com. |
| Charles | Settings from Charles on This Mac… | The settings of the Charles installed here |
Rule imports cover SSL Proxying, the Block and Allow Lists, Map Local, Map Remote, Rewrite, Breakpoints, Scripting, Network Conditions, Reverse Proxy and DNS Spoofing, including Proxyman's rule folders. Before anything is written, WireLens lists what each tool gains and anything that maps differently. Your own rules stay as they are, and importing the same file again updates the imported rules in place.
Charles Rewrite steps that find and replace text become scripts that do the same thing. Proxyman scripts run unchanged; see Scripting.
You can also drop these files on the Sessions window, or choose WireLens under Open With in Finder. Tools ▸ Convert Charles Session to HAR… writes a HAR next to a Charles session.
Share with your team#
With a key that carries Team Workspace, File ▸ Share to Team Workspace ▸ Filtered Traffic… uploads what the window shows, and right-click ▸ Share ▸ To Team Workspace… uploads a selection. In the Sessions window, Share to Team Workspace… uploads a whole run. Redaction is on by default and removes Authorization, Proxy-Authorization, Cookie, Set-Cookie and any headers you add. See Team Workspace.
Settings backups#
File ▸ Back Up Settings… writes your rules and preferences to a file, and File ▸ Restore Settings… reads one back, for example on another Mac.
- A backup leaves secrets out.
- Restoring adds the file's tool rules switched off, beside your own. Turn on the ones you want in Tools. Rules you already have are left alone.
- Certificate exceptions, per-app TLS rules and script environment values are not restored.
- Capture settings in the file (the SSL Proxying switch, QUIC, caching, body size), appearance, display options and workspace tabs replace yours. Your license, account and Team Workspace sign-in are untouched.
- On the free plan, rules past the free limits are saved switched off.
From the command line#
wirelens ships inside the app and is not on your PATH until you link it once.
wirelens sessions
wirelens export har --out capture.har
wirelens export har --session <id> --out run.har
wirelens export csv --out capture.csv
wirelens export session --out ~/ Desktop
wirelens export curl <flow-id>
wirelens convert capture.chlsj --out capture.har
Agents can do the same over MCP with list_sessions, export_har and export_session, and rename or delete sessions with rename_session and delete_session. See MCP for AI agents.
On iPhone and iPad#
In the Traffic tab, ⋯ ▸ Historical Sessions lists every run, with Search hosts and sessions. The run that is capturing now is marked LIVE.
Tap a run for its summary and these actions:
- View in Traffic shows that run in the Traffic tab, with a Viewing historical session banner. Return to Live goes back. For the current run the action is View Live Session.
- Rename Session.
- Share Redacted Session shares a
.wirelenspackage with the bodies included and theAuthorization,CookieandSet-Cookieheaders removed. - Delete Session removes its requests from the device.
From the Traffic tab's ⋯ menu:
- Export Session HAR shares the current run as HAR.
- Share Session to Mac prepares a
.wirelenspackage of the current run. Turn on Remove credentials to stripAuthorizationand cookie headers (it starts off), tap Share, and send it with AirDrop. WireLens for Mac opens it as a session. - Share to Team Workspace uploads it when your key carries Team Workspace.
On Android#

Open Sessions from the Traffic tab's ⋮ menu, or from Settings ▸ Capture ▸ Sessions.
- Search sessions and hosts finds a run by name or by a host it captured. The live run is marked Recording while capture runs, Current otherwise.
- Long-press a run for Open in Traffic (Show in Traffic for the live run), Share as HAR, Rename and Delete (with Undo). A blank name falls back to the start time.
- A past run opens in the Traffic tab with a Viewing a past session banner. Live goes back.
⋮ ▸ Export HAR in the Traffic tab shares what the list shows. ⋮ ▸ Share to Team Workspace uploads it with a Team Cloud key, without credential headers unless you turn Remove credentials off.
Bodies are kept in full, up to 512 MB each.
Something here is unclear, or wrong for your setup? Contact support or write to support@wirelens.app.