diff --git a/extensions/git/src/fileSystemProvider.ts b/extensions/git/src/fileSystemProvider.ts
index 888070554e7..1168906dc30 100644
--- a/extensions/git/src/fileSystemProvider.ts
+++ b/extensions/git/src/fileSystemProvider.ts
@@ -9,7 +9,6 @@ import { fromGitUri, toGitUri } from './uri';
import { Model, ModelChangeEvent, OriginalResourceChangeEvent } from './model';
import { filterEvent, eventToPromise, isDescendant, pathEquals, EmptyDisposable } from './util';
import { Repository } from './repository';
-import { TextEncoder } from 'util';
interface CacheRow {
uri: Uri;
diff --git a/extensions/git/src/typings/refs.d.ts b/extensions/git/src/typings/refs.d.ts
index 12e1d618942..312efe5a30f 100644
--- a/extensions/git/src/typings/refs.d.ts
+++ b/extensions/git/src/typings/refs.d.ts
@@ -4,4 +4,5 @@
*--------------------------------------------------------------------------------------------*/
///
-///
\ No newline at end of file
+///
+///
diff --git a/extensions/types/lib.textEncoder.d.ts b/extensions/types/lib.textEncoder.d.ts
new file mode 100644
index 00000000000..99a5b2271d6
--- /dev/null
+++ b/extensions/types/lib.textEncoder.d.ts
@@ -0,0 +1,11 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+// Define TextEncoder + TextDecoder globals for both browser and node runtimes
+//
+// Proper fix: https://github.com/microsoft/TypeScript/issues/31535
+
+declare var TextDecoder: typeof import('util').TextDecoder;
+declare var TextEncoder: typeof import('util').TextEncoder;
diff --git a/extensions/types/lib.url.d.ts b/extensions/types/lib.url.d.ts
new file mode 100644
index 00000000000..5dbe0fdc505
--- /dev/null
+++ b/extensions/types/lib.url.d.ts
@@ -0,0 +1,10 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+// Define Url global for both browser and node runtimes
+//
+// Copied from https://github.com/DefinitelyTyped/DefinitelyTyped/issues/34960
+
+declare const URL: typeof import('url').URL;
diff --git a/extensions/vscode-api-tests/src/extension.ts b/extensions/vscode-api-tests/src/extension.ts
index aa009116abc..5bd7ba43ad6 100644
--- a/extensions/vscode-api-tests/src/extension.ts
+++ b/extensions/vscode-api-tests/src/extension.ts
@@ -15,9 +15,6 @@
import * as vscode from 'vscode';
declare const window: unknown;
-declare const TextEncoder: any;
-declare const TextDecoder: any;
-declare const URL: any;
const textEncoder = new TextEncoder();
const SCHEME = 'memfs';
diff --git a/extensions/vscode-api-tests/src/typings/ref.d.ts b/extensions/vscode-api-tests/src/typings/ref.d.ts
index e3e47385d66..9abc416f7e8 100644
--- a/extensions/vscode-api-tests/src/typings/ref.d.ts
+++ b/extensions/vscode-api-tests/src/typings/ref.d.ts
@@ -5,4 +5,6 @@
///
///
+///
+///
///