diff --git a/dist/setup/index.js b/dist/setup/index.js
index faf0ecd..0e94fd1 100644
--- a/dist/setup/index.js
+++ b/dist/setup/index.js
@@ -61464,7 +61464,10 @@ function installGoVersion(info, auth, arch) {
         if (info.type === 'dist') {
             extPath = path.join(extPath, 'go');
         }
-        if (isWindows) {
+        // for github hosted windows runner handle latency of OS drive
+        // by avoiding write operations to C:
+        const isHosted = (process.env['RUNNER_ENVIRONMENT'] = 'github-hosted');
+        if (isWindows && isHosted) {
             const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE'] || '';
             const substitutedToolCacheRoot = defaultToolCacheRoot
                 .replace('C:', 'D:')
diff --git a/src/installer.ts b/src/installer.ts
index 8d2eaa7..bc39e79 100644
--- a/src/installer.ts
+++ b/src/installer.ts
@@ -189,6 +189,7 @@ async function installGoVersion(
 
   // Windows requires that we keep the extension (.zip) for extraction
   const isWindows = os.platform() === 'win32';
+
   const tempDir = process.env.RUNNER_TEMP || '.';
   const fileName = isWindows ? path.join(tempDir, info.fileName) : undefined;
 
@@ -201,7 +202,10 @@ async function installGoVersion(
     extPath = path.join(extPath, 'go');
   }
 
-  if (isWindows) {
+  // for github hosted windows runner handle latency of OS drive
+  // by avoiding write operations to C:
+  const isHosted = (process.env['RUNNER_ENVIRONMENT'] = 'github-hosted');
+  if (isWindows && isHosted) {
     const defaultToolCacheRoot = process.env['RUNNER_TOOL_CACHE'] || '';
     const substitutedToolCacheRoot = defaultToolCacheRoot
       .replace('C:', 'D:')