Skip to content

macOS Settings window: shared preferences UI and Cmd+, shortcut #158

Description

@SarthakWade

Problem

Headless has no central Settings window. Users must know individual CLI commands, while future credential and authorization policies need a trusted user-only interface.

Scope

Add a native macOS Settings window opened by Cmd+,. Render settings from the typed registry rather than maintaining a second set of defaults or validators. Group preferences by General, Browser, Agent access, Privacy, and Credentials as those settings become available.

The UI must show each setting's current value, effective default, platform scope, restart requirement, and whether agents may modify it. Include reset-to-default behavior and preserve the existing startup-presentation preference.

Boundaries

Do not expose host security invariants as toggles. Password entry uses native secure fields and never appears in generic command text, accessibility snapshots intended for agents, logs, or command history. Linux continues to use the CLI and must not pretend a GUI capability exists.

Acceptance criteria

  • Cmd+, opens or focuses one Settings window.
  • UI and CLI read and write the same store with identical validation.
  • Changes take effect according to registry metadata and persist across restart.
  • VoiceOver labels, keyboard navigation, reduced motion, and narrow-window layout are verified.
  • macOS menu and E2E tests cover opening, editing, resetting, and persistence.
  • No duplicate settings constants or dead compatibility paths are introduced.

Blocked by #153.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:cliCLI parser, help, capabilitiesarea:macos-hostWKWebView host (main.swift, Host/)priority:mediumScheduled, not blockingstatus:blockedWaiting on another item or an owner decisiontype:featureNew capability or command

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions