Skip to content

AND-248: isolate macOS Harness TCC responsibility - #107

Open
yaojin3616 wants to merge 1 commit into
mainfrom
agent/debugger/7f9a9d1f
Open

AND-248: isolate macOS Harness TCC responsibility#107
yaojin3616 wants to merge 1 commit into
mainfrom
agent/debugger/7f9a9d1f

Conversation

@yaojin3616

Copy link
Copy Markdown
Contributor

Summary

  • launch Harness through a disclaimed Electron utility process on macOS so privacy requests from plug-ins and child tooling are not attributed to DSH Desktop
  • preserve the bundled Node.js process path on Windows and Linux
  • adapt the utility-process lifecycle to the existing Harness runtime logging and shutdown contract
  • add regression coverage for the exact macOS fork arguments, environment, and disclaim: true boundary

Root cause

DSH Desktop used ordinary child_process.spawn for the Harness on every platform. On macOS, Harness loads user-installed plug-ins and can launch third-party tools, but the ordinary child process remained in DSH Desktop's responsibility chain. TCC activity initiated below that boundary could therefore be attributed to io.dsh.desktop, even though the desktop main process does not call the Accessibility APIs itself.

Electron exposes utilityProcess.fork({ disclaim: true }) for this case: macOS treats the child as a separate entity for TCC responsibility. The new path is limited to macOS; other platforms retain the existing bundled runtime.

Fixes #86.
Closes AND-248.

Verification

  • npm run typecheck
  • npm test — 27 files, 170 tests passed
  • npm run build
  • git diff --check

Remaining verification

A second end-to-end development launch was not performed because another DSH Desktop developer instance is already running under the same Electron application identity. It was left untouched. The macOS utility-process launch contract is covered by regression tests, but the TCC attribution change should also be confirmed on a signed macOS build during review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Should DSH Desktop make a TCC call targeting Claude codes desktop app identity on MacOS?

1 participant