From ec00e0a952b5a50ec14372069fae16ec20af1841 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 6 Dec 2025 23:49:59 +0100 Subject: [PATCH] fix(mac): run pnpm from project root and set PNPM_HOME for relay --- apps/macos/Sources/Clawdis/RelayProcessManager.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/macos/Sources/Clawdis/RelayProcessManager.swift b/apps/macos/Sources/Clawdis/RelayProcessManager.swift index b9047ab46..1119d1d13 100644 --- a/apps/macos/Sources/Clawdis/RelayProcessManager.swift +++ b/apps/macos/Sources/Clawdis/RelayProcessManager.swift @@ -198,7 +198,8 @@ final class RelayProcessManager: ObservableObject { return [clawdisPath, "relay"] } if let pnpm = self.findExecutable(named: "pnpm") { - return [pnpm, "clawdis", "relay"] + // Run pnpm from the project root so package.json is present. + return [pnpm, "clawdis", "relay", "--dir", self.defaultProjectRoot().path] } if let node = self.findExecutable(named: "node") { let warelay = self.defaultProjectRoot().appendingPathComponent("bin/warelay.js").path @@ -211,7 +212,12 @@ final class RelayProcessManager: ObservableObject { private func makeEnvironment() -> Environment { let merged = self.preferredPaths().joined(separator: ":") - return .inherit.updating(["PATH": merged]) + return .inherit.updating([ + "PATH": merged, + "PNPM_HOME": FileManager.default.homeDirectoryForCurrentUser + .appendingPathComponent("Library/pnpm").path, + "CLAWDIS_PROJECT_ROOT": self.defaultProjectRoot().path, + ]) } private func preferredPaths() -> [String] {