Skip to content

macOS users learn the one-switch Full Disk Access fix — doctor reports it, setup teaches it - #95540

Merged
teknium1 merged 1 commit into
mainfrom
feat/fda-onboarding
Aug 26, 2026
Merged

teknium1 merged 1 commit into
mainfrom
feat/fda-onboarding

Conversation

@teknium1

Copy link
Copy Markdown
Collaborator

Summary

The last piece of the macOS permissions campaign: Hermes now teaches macOS users the one-switch fix — a single Full Disk Access grant covers every folder prompt (Desktop/Downloads/Documents/...), permanently, and with the stable signing identities landed this week it survives every update. Nothing in the product surfaced that; users got the OS's drip-feed of per-folder dialogs instead. Follow-up to #52010.

Changes

  • hermes_cli/doctor.py: check_macos_full_disk_access() — reports whether the current terminal context has FDA; when missing, prints the one-switch setup with the Privacy_AllFiles System Settings deep link. Prompt-free probe: readability of the FDA-gated ~/Library/Application Support/com.apple.TCC dir, which returns EPERM without ever showing a dialog (TCC only prompts on protected-CATEGORY paths). Silent on non-macOS/indeterminate.
  • hermes_cli/setup.py: same probe at the end of onboarding — the moment users are primed for system setup. Silent when already granted.
  • website/docs/user-guide/desktop.md: the TCC section now leads with the one-switch guidance.
  • 7 tests: granted / denied / indeterminate / non-macOS across both surfaces.

Built on this week's substrate: #95091 (cert-anchored identity), #95128 (doctor DR diagnosis), #95131/#95478 (interpreter anchor + repair signing) — the FDA grant these instructions produce is durable precisely because of those.

Validation

Before After
FDA discoverability none — per-folder prompts drip-feed doctor reports + setup teaches, deep link included
Probe side effects n/a none (EPERM path, never a dialog)
  • tests/hermes_cli/test_macos_fda_guidance.py + full doctor suite: 72 passed
  • Live repro: probe semantics (EPERM without dialog on the TCC dir) are documented macOS TCC behavior and pinned via mocked PermissionError; the real-dialog-free property needs a Mac spot check — run hermes doctor on a machine without FDA and confirm no prompt appears.

Infographic

One switch, zero folder prompts

The last piece of the macOS permissions campaign (#52010 follow-up): macOS
prompts per-folder (Desktop, then Downloads, then Documents, ...) as the
agent touches each one — a drip-feed of dialogs on first use. ONE Full Disk
Access grant covers all of them permanently, and with the stable signing
identities merged this week it survives every update. Nothing in Hermes
taught users that.

- hermes doctor: check_macos_full_disk_access() — prompt-free probe (the
  FDA-gated TCC db dir returns EPERM without a dialog; TCC only prompts on
  protected-CATEGORY paths), reports granted state or prints the one-switch
  setup with the Privacy_AllFiles deep link.
- hermes setup: same probe at the end of onboarding — the moment users are
  primed to do system setup — silent when already granted, indeterminate,
  or non-macOS.
- docs: desktop.md TCC section now leads with the one-switch guidance.
- 7 tests (granted / denied / indeterminate / non-macOS, both surfaces).
@github-actions

github-actions Bot commented Aug 26, 2026 •

Copy link
Copy Markdown
Contributor

૮ >ﻌ< ა ci review

ran on a769a91 — feat(macos): one-switch Full Disk Access guidance in doctor

⚠️ Warnings

OSV vulnerability scan · View job

7 known vulnerabilities found in pinned dependencies.

How to fix:

Review the findings in the Security tab. Update the affected dependencies if a patched version is available.


debug info

CI timings

CI timings · View report · View job

Wall time 3m31s vs 3m53s (-9.4%). 7 job(s) slower, 5 faster, 1 unchanged.

  • Python tests / Run tests: -25.0s
  • OS-specific tests / macOS-only tests: -11.0s
  • OS-specific tests / Windows-only tests: -8.0s
  • Python lints / ruff enforcement (blocking): +3.0s
  • Python lints / Windows footguns (blocking): +3.0s

@alt-glitch alt-glitch added type/feature New feature or request comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have labels Aug 26, 2026
@teknium1
teknium1 merged commit be85903 into main Aug 26, 2026
38 checks passed
@teknium1
teknium1 deleted the feat/fda-onboarding branch August 26, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants