diff --git a/src/goInstallTools.ts b/src/goInstallTools.ts
index d4919f5..e250a45 100644
--- a/src/goInstallTools.ts
+++ b/src/goInstallTools.ts
@@ -367,7 +367,7 @@
 			{ env: toolExecutionEnvironment(), cwd: getWorkspaceFolderPath() },
 			(err, stdout, stderr) => {
 				if (err) {
-					outputChannel.append(`Failed to run '${goRuntimePath} env' : ${err}\n${stderr}`);
+					outputChannel.append(`Failed to run '${goRuntimePath} env' (cwd: ${getWorkspaceFolderPath()}): ${err}\n${stderr}`);
 					outputChannel.show();
 
 					vscode.window.showErrorMessage(`Failed to run '${goRuntimePath} env. The config change may not be applied correctly.`);
diff --git a/src/util.ts b/src/util.ts
index 083fcf9..9f9476c 100644
--- a/src/util.ts
+++ b/src/util.ts
@@ -348,11 +348,12 @@
 		}
 		warn(`cached Go version (${JSON.stringify(cachedGoVersion)}) is invalid, recomputing`);
 	}
+	const docUri = vscode.window.activeTextEditor?.document.uri;
+	const cwd = getWorkspaceFolderPath(docUri && docUri.fsPath.endsWith('.go') ? docUri : undefined);
+
 	let goVersion: GoVersion;
 	try {
 		const env = toolExecutionEnvironment();
-		const docUri = vscode.window.activeTextEditor?.document.uri;
-		const cwd = getWorkspaceFolderPath(docUri && docUri.fsPath.endsWith('.go') ? docUri : undefined);
 		const execFile = util.promisify(cp.execFile);
 		const { stdout, stderr } = await execFile(goRuntimePath, ['version'], { env, cwd });
 		if (stderr) {
@@ -361,7 +362,7 @@
 		}
 		goVersion = new GoVersion(goRuntimePath, stdout);
 	} catch (err) {
-		warn(`failed to run "${goRuntimePath} version": ${err}`);
+		warn(`failed to run "${goRuntimePath} version": ${err} cwd: ${cwd}`);
 		return;
 	}
 	if (!goBinPath) {  // if getGoVersion was called with a given goBinPath, don't cache the result.
