diff --git a/src/vs/workbench/contrib/void/browser/toolsService.ts b/src/vs/workbench/contrib/void/browser/toolsService.ts index 6d56bd46..0d32db3c 100644 --- a/src/vs/workbench/contrib/void/browser/toolsService.ts +++ b/src/vs/workbench/contrib/void/browser/toolsService.ts @@ -42,8 +42,16 @@ const validateStr = (argName: string, value: unknown) => { const validateURI = (uriStr: unknown) => { if (uriStr === null) throw new Error(`Invalid LLM output: uri was null.`) if (typeof uriStr !== 'string') throw new Error(`Invalid LLM output format: Provided uri must be a string, but it's a(n) ${typeof uriStr}. Full value: ${JSON.stringify(uriStr)}.`) - const uri = URI.file(uriStr) - return uri + + // Try to parse as full URI first (for remote schemes like ssh://, wsl://, etc.) + try { + const uri = URI.parse(uriStr) + return uri + } catch (e) { + // If parsing as URI fails, treat as file path (backwards compatibility) + const uri = URI.file(uriStr) + return uri + } } const validateOptionalURI = (uriStr: unknown) => {