# Wallet

How the Wallet export works, from connecting to fixing problems.

## Connect

Press "Connect" beside Wallet on Exporter's home, then "Open Passes Folder". The panel opens in the folder where macOS keeps your passes, `~/Library/Passes`: press "Select This Folder". Then choose where the files go and press "Use This Folder".

Take the Passes folder itself, not the `Cards` folder inside it. Exporter reads the passes from `Cards`, and `passes23.sqlite` beside it for one thing only: the day a pass was signed, which is the only date many older passes have.

## Where the files go

One Markdown file per pass, in one folder, named by its date and by what the pass is: `2026-09-17 united airlines SFO-EWR.md`, `2026-09-11 the sf database meetup.md`. A pass with no date at all is named after itself (`apple store.md`). A folder right in your home folder, like `~/Documents`, gets a `wallet-export` folder inside it; a deeper one, like `~/Documents/wallet`, is used as it is.

## What is exported

Every pass ticked on the card: boarding passes, train and bus tickets, event tickets, store cards, coupons and generic passes. The pills only filter the list: passes (all of them), flights (boarding passes, trains and buses included), events and cards.

Two passes that would name the same file each get a short suffix from their id, so neither overwrites the other. Unticking a pass removes its file on the next sync; ticking it again brings it back.

## Format

Always Markdown: the pass's front matter, a heading and one line saying where and when, then the fields exactly as the card draws them, the back of the card under a `Back` heading, and the barcode's own number.

## The file

| key | holds |
| --- | --- |
| `title`, `id` | what the pass is called, and Wallet's own id for it |
| `kind` | `flight`, `transit`, `event`, `card` or `other` |
| `date`, `date_source` | when the pass matters, and whether that is the issuer's date, its expiry, or the day it was signed |
| `organization`, `pass_type` | the issuer, and its pass type identifier |
| `expires`, `voided` | when it runs out, and whether Wallet has marked it spent |
| `coordinates` | the venue's point, when the pass carries one |

A `Details` section carries Apple's typed fields that the card does not already print: terminals, the arrival gate, time zones, the fare class. A `Where` section names the venue. A barcode whose message is binary says so instead of writing control characters into the file.

```markdown
---
title: "United Airlines SFO-EWR"
kind: flight
date: 2026-09-17T18:20:00
date_source: relevant
organization: "United Airlines"
---
# United Airlines SFO-EWR

San Francisco (SFO) → Newark (EWR) · 17 Sep 2026

- FLIGHT: UA 274
- GATE: F19
- SEAT: 34D

## Back

- CONFIRMATION: GGCLMQ
```

## Dates, and passes without one

A pass is filed under its own day, in the time zone the issuer wrote: a flight leaving Denver at 23:25 is that day in Denver, not the next one where you are reading it. Older event tickets often carry no date at all; those are filed under the day the pass was signed, and `date_source: signed` says so in the file.

## Passes in other languages

A pass may keep its words in a `pass.strings` file inside its bundle and put only the keys in the pass itself. Exporter resolves them in your Mac's language, so a ticket reads as the event's name, not as `EVENT_NAME`.

## Free and unlocked

Your 20 most recent passes are free, and they stay free. Unlocking Wallet exports the rest ([pricing](https://exporter.dev/pricing)).

## Sync and full resync

After the first "Sync Now", Exporter rewrites a pass file when that pass changes, at most once a minute. Gates, seats and boarding times change on the day you travel, and each change rewrites only that pass's file.

"Full Resync" asks first, then removes the pass files Exporter wrote and writes every ticked pass again. Anything else in the folder stays.

## Problems and fixes

- "no passes in that folder (pick the Passes folder in your Library)": press "Connect" again and select the folder the panel opens in
- a pass is missing: it is unticked on the card, or the free 20 are used. Unlock Wallet and press "Sync Now"
- a pass has no date in its name: it carries none, and Wallet's database could not be read. Connect `~/Library/Passes` itself rather than `Cards`
- the card numbers are not there: they are not on the Mac. Wallet keeps payment cards in the Secure Element, and Exporter never sees them

## Related

- [Wallet](https://exporter.dev/wallet): Every pass as a Markdown file
- [Getting started](https://exporter.dev/docs/getting-started): Install, connect, first export
- [MCP server](https://exporter.dev/docs/mcp): Connect Claude and other agents

---

human version: https://exporter.dev/docs/wallet
every page: https://exporter.dev/llms.txt
