Skip to content

[Bug][macOS] Tray "Start at Login" checkbox reads plist existence only; Startup safety reports it unverified when launchd disables or points at another app copy #6972

Closed

Description

@lidge-jun

Client or integration

OpenCodex dashboard

Area

Platform (Windows / macOS / Linux)

Summary

On macOS the tray's Start at Login checkbox and Startup safety can disagree. The tray reads only whether ~/Library/LaunchAgents/OpenCodex.plist exists (tauri-plugin-autostart 2.5.0 / auto-launch 0.5.0 is_enabled), while Startup safety (src/service/desktop-startup.ts macLoginRegistration) also requires launchd not to have the job disabled and, when loaded, to have it loaded from the current app. A plist that exists while launchd has "OpenCodex" => disabled (for example after the user turned OpenCodex off under System Settings → General → Login Items & Extensions), or a loaded job that still names an old app copy, shows a checked menu item and an unprotected Startup page. Toggling the item rewrites the plist but does not clear a launchd disabled override.

Seen in #6963 ("Installed but unhealthy" while Desktop runs the proxy).

Reproduction

  1. Install OpenCodex Desktop on macOS with Start at Login checked.
  2. In System Settings → General → Login Items & Extensions, turn OpenCodex off under "Allow in the Background".
  3. Open the dashboard → Startup. The Desktop row reports Start at Login as not verified while the tray item stays checked.

(Code-traced; reproduction steps 2–3 on a real machine are not yet captured.)

Version

2.83.0 / dev 7af092c

Operating system

macOS (reported on macOS 27)

Provider and model

n/a

Logs or error output

launchctl print-disabled gui/$(id -u) | grep OpenCodex

Screenshots and supporting files

No response

Redacted configuration

No response

Checks

  • I searched existing issues and documentation.
  • I removed secrets, tokens, account details, request credentials, and personal data.

Activity

  1. added
    guiDashboard, tray, settings UI
    platformOS/service/tray/ACL (Windows-heavy, not Windows-only)
    on Oct 12, 2026
  2. Ingwannu commented on Oct 12, 2026

    @Ingwannu
    Owner

    #6980 addresses the misleading Startup page label and explains that a running supervised proxy with unverified login registration is not the same as an unhealthy proxy. It does not change the tray checkbox's source of truth or establish macOS acceptance of that checkbox.

    Please keep this separate from #6971's ownership handover. The focused acceptance cases for a tray change are: a plist exists but launchd disables it, a different app copy owns the registration, a valid next-login registration is not yet loaded, and an unavailable/stale probe. Checkbox state must not turn an unverified result into a verified one or silently rewrite another app copy's registration. The final UI choice belongs to the project owner; no native launchd or login configuration was changed here.

  3. lidge-jun commented on Oct 12, 2026

    @lidge-jun
    OwnerAuthor

    Fixed on dev by #6996 (commit ce97299e15), landed through #7009 (merge 8f10f238e3). Ships in 2.84.0.

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

    bugSomething isn't workingguiDashboard, tray, settings UIplatformOS/service/tray/ACL (Windows-heavy, not Windows-only)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions