From 0917f82647805733c9c431c218d999235b8c3bad Mon Sep 17 00:00:00 2001 From: alexmad Date: Fri, 19 Sep 2025 09:52:56 -0400 Subject: [PATCH] Fix Windows URI construction bug causing ENOENT errors in workspace-scoped MCP configurations --- .../services/amazonq/lsp/util/LspEditorUtil.kt | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/util/LspEditorUtil.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/util/LspEditorUtil.kt index dd35c32e719..bdd2f33f1a5 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/util/LspEditorUtil.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/util/LspEditorUtil.kt @@ -45,15 +45,10 @@ object LspEditorUtil { } private fun toUri(file: File): URI { - try { - // URI scheme specified by language server protocol - val uri = URI("file", "", file.absoluteFile.toURI().path, null) - val fallback = file.toPath().toAbsolutePath().normalize().toUri() - return if (uri.isCompliant()) uri else fallback - } catch (e: URISyntaxException) { - LOG.warn { "${e.localizedMessage}: $e" } - return file.absoluteFile.toURI() - } + // Use Path.toUri() for proper cross-platform URI handling + // Fixes Windows MCP workspace configuration bug where malformed URIs + // get interpreted as literal file paths during directory creation + return file.toPath().toAbsolutePath().normalize().toUri() } private fun URI.isCompliant(): Boolean {