# Continue with Mac Capture

Bob Mac Capture is an optional native menu-bar panel for macOS. It is a thin client of the CLI: it never parses capture grammar or writes the vault itself, it runs `bob`, renders the preview, and submits one `bob capture` call per draft. The automated tutorial replay runs on Linux and never exercises this app; follow the steps on a Mac by hand.

## 1\. Build, bundle, and launch from source

```
git clone https://github.com/bobs-org/bob-mac-capture.git
cd bob-mac-capture
just build
```

```
just bundle
```

`just bundle` creates `.build/bundle/Bob Mac Capture.app`. Install it with:

```
just install ~/Applications
```

Then launch the installed copy:

```
open ~/Applications/"Bob Mac Capture.app"
```

Building needs macOS 26 with Command Line Tools for Xcode 26+ or Xcode 26+, with Swift resolved through `./Scripts/xcode-swift.sh` rather than a bare `swift` on `PATH`. For the full toolchain, signing, and diagnosis steps, see [Install](<https://bobs-org.github.io/reference/mac-capture/install/index.md>), [Build](<https://bobs-org.github.io/develop/mac-capture/build/index.md>), and [README › Signing](<https://github.com/bobs-org/bob-mac-capture#signing>).

## 2\. Select Bob and the demo vault

```
which bob
echo "$BOB_DIR"
```

In Settings, under the **Bob** section, set **Executable override** to the installed `bob` executable and **Vault path** to the demo `$BOB_DIR` copy from the tutorial. **Resolved path** shows what the app actually uses. When no override is set, the app finds `bob` at `~/.cargo/bin/bob`, `~/bin/bob`, `/opt/homebrew/bin/bob`, or `/usr/local/bin/bob`; use **Recheck Bob** after changing either field.

Grant Accessibility only for Highlights tabs. The panel requests it once through the system prompt; capture and the ledger agenda work without it. Recovery is in [Restore Mac Capture permissions](<https://bobs-org.github.io/guides/restore-mac-capture-permissions/index.md>).

## 3\. Capture once and read the result

Submit this new draft in the panel (it uses a fresh ID the tutorial never creates):

```
Sharpen the shears @workshop^shears
```

```
bob capture 'Sharpen the shears @workshop^shears'
```

The fenced command shows the CLI semantics of the same draft: after the tutorial, `^seed-packet` and `^seedlings` already exist, so this fresh `^shears` ID routes a new task to `workshop.md`. Type the plain text in the panel, read its preview, and submit. The panel hides only after `bob` reports success for the whole draft, and the task lands in `workshop.md` exactly as the CLI writes it. This Mac panel path was validated against the post-tutorial demo state from source; Linux replay never runs the Mac GUI.

## Next

- [Your first Bob day](<https://bobs-org.github.io/start/first-bob-day/index.md>) — the CLI path this panel submits to
- [How Bob fits together](<https://bobs-org.github.io/concepts/how-bob-fits-together/index.md>) — the capture round trip
- [Mac Capture reference](<https://bobs-org.github.io/reference/mac-capture/index.md>) — install, keys, and protocol
- [Fix Mac Capture when bob is not resolved](<https://bobs-org.github.io/guides/fix-mac-capture-bob-resolution/index.md>)
