diff --git a/apps/macos/Sources/OpenClaw/GatewayLaunchAgentManager.swift b/apps/macos/Sources/OpenClaw/GatewayLaunchAgentManager.swift index 042e5b10eff9..13eaf4cd48ba 100644 --- a/apps/macos/Sources/OpenClaw/GatewayLaunchAgentManager.swift +++ b/apps/macos/Sources/OpenClaw/GatewayLaunchAgentManager.swift @@ -170,8 +170,8 @@ enum GatewayLaunchAgentManager { self.logger.info("launchd change skipped (remote mode)") return nil } - if enabled, self.isLaunchAgentWriteDisabled() { - self.logger.info("launchd enable skipped (disable marker set)") + if self.isLaunchAgentWriteDisabled() { + self.logger.info("launchd change skipped (disable marker set)") return nil } diff --git a/apps/macos/Tests/OpenClawIPCTests/GatewayLaunchAgentManagerTests.swift b/apps/macos/Tests/OpenClawIPCTests/GatewayLaunchAgentManagerTests.swift index edb415b55328..c7cf4380996a 100644 --- a/apps/macos/Tests/OpenClawIPCTests/GatewayLaunchAgentManagerTests.swift +++ b/apps/macos/Tests/OpenClawIPCTests/GatewayLaunchAgentManagerTests.swift @@ -187,9 +187,19 @@ struct GatewayLaunchAgentManagerTests { GatewayLaunchAgentManager.clearTestingDaemonCommandCalls() let error = GatewayLaunchAgentManager.applyAttachOnlyRuntimeOverride() + let installError = await GatewayLaunchAgentManager.set( + enabled: true, + bundlePath: "/Applications/OpenClaw.app", + port: 18789) + let uninstallError = await GatewayLaunchAgentManager.set( + enabled: false, + bundlePath: "/Applications/OpenClaw.app", + port: 18789) let kickstartError = await GatewayLaunchAgentManager.kickstart() #expect(error == nil) + #expect(installError == nil) + #expect(uninstallError == nil) #expect(kickstartError == nil) #expect(FileManager().fileExists(atPath: marker.path)) #expect(GatewayLaunchAgentManager.testingDaemonCommandCallsSnapshot().isEmpty)