diff --git a/build/Build.cs b/build/Build.cs
index cf860a36b..cff8b00e5 100644
--- a/build/Build.cs
+++ b/build/Build.cs
@@ -19,7 +19,10 @@
using Serilog;
using static Nuke.Common.Tools.DotNet.DotNetTasks;
+// macOS build agents are persistent (non-ephemeral), so compiler server processes may need to be cleaned up between builds.
+#if MACOS
[ShutdownDotNetAfterServerBuild]
+#endif
partial class Build : NukeBuild
{
/// Support plugins are available for:
diff --git a/build/_build.csproj b/build/_build.csproj
index 80f35fe22..611439dd6 100644
--- a/build/_build.csproj
+++ b/build/_build.csproj
@@ -8,6 +8,7 @@
..
1
enable
+ $(DefineConstants);MACOS