diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts
index caab75c99fa8a..47766dd693147 100644
--- a/src/compiler/checker.ts
+++ b/src/compiler/checker.ts
@@ -46005,7 +46005,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
             languageVersion >= ScriptTarget.ES5 && name.escapedText === "Object"
             && host.getEmitModuleFormatOfFile(getSourceFileOfNode(name)) < ModuleKind.ES2015
         ) {
-            error(name, Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494
+            // https://github.com/Microsoft/TypeScript/issues/17494
+            error(
+                name,
+                Diagnostics.Class_name_cannot_be_Object_when_targeting_0_with_module_1,
+                ScriptTarget[languageVersion],
+                ModuleKind[moduleKind],
+            );
         }
     }
 
diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json
index be2fe3957b20a..d531bea70480f 100644
--- a/src/compiler/diagnosticMessages.json
+++ b/src/compiler/diagnosticMessages.json
@@ -3411,7 +3411,7 @@
         "category": "Error",
         "code": 2724
     },
-    "Class name cannot be 'Object' when targeting ES5 with module {0}.": {
+    "Class name cannot be 'Object' when targeting {0} with module {1}.": {
         "category": "Error",
         "code": 2725
     },
diff --git a/src/compiler/types.ts b/src/compiler/types.ts
index f6ca75a68e17d..8c46d9242ad9a 100644
--- a/src/compiler/types.ts
+++ b/src/compiler/types.ts
@@ -7598,7 +7598,7 @@ export const enum ScriptKind {
 //       June of each year. This includes changes to `LanguageFeatureMinimumTarget`, `ScriptTarget`,
 //       `ScriptTargetFeatures` transformers/esnext.ts, compiler/commandLineParser.ts,
 //       compiler/utilitiesPublic.ts, and the contents of each lib/esnext.*.d.ts file.
-export const enum ScriptTarget {
+export enum ScriptTarget {
     /** @deprecated */
     ES3 = 0,
     ES5 = 1,
diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).errors.txt b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).errors.txt
index 5455c109354a4..dbfc87daf7236 100644
--- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).errors.txt
+++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node16).errors.txt
@@ -1,6 +1,6 @@
 subfolder/index.js(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module.
 subfolder/index.js(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
-subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node16.
+subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES2022 with module Node16.
 subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
 
 
@@ -14,7 +14,7 @@ subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is res
 !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
     class Object {}
           ~~~~~~
-!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node16.
+!!! error TS2725: Class name cannot be 'Object' when targeting ES2022 with module Node16.
     export const __esModule = false;
                  ~~~~~~~~~~
 !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node18).errors.txt b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node18).errors.txt
index e54f9b0f94ca4..07f0cbb1f6f1a 100644
--- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node18).errors.txt
+++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=node18).errors.txt
@@ -1,6 +1,6 @@
 subfolder/index.js(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module.
 subfolder/index.js(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
-subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node18.
+subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES2022 with module Node18.
 subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
 
 
@@ -14,7 +14,7 @@ subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is res
 !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
     class Object {}
           ~~~~~~
-!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node18.
+!!! error TS2725: Class name cannot be 'Object' when targeting ES2022 with module Node18.
     export const __esModule = false;
                  ~~~~~~~~~~
 !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
diff --git a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).errors.txt b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).errors.txt
index 609137dcd8c30..006c4021a7d57 100644
--- a/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).errors.txt
+++ b/tests/baselines/reference/nodeModulesAllowJsGeneratedNameCollisions(module=nodenext).errors.txt
@@ -1,6 +1,6 @@
 subfolder/index.js(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module.
 subfolder/index.js(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
-subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module NodeNext.
+subfolder/index.js(4,7): error TS2725: Class name cannot be 'Object' when targeting Latest with module NodeNext.
 subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
 
 
@@ -14,7 +14,7 @@ subfolder/index.js(5,14): error TS1216: Identifier expected. '__esModule' is res
 !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
     class Object {}
           ~~~~~~
-!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module NodeNext.
+!!! error TS2725: Class name cannot be 'Object' when targeting Latest with module NodeNext.
     export const __esModule = false;
                  ~~~~~~~~~~
 !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).errors.txt b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).errors.txt
index 534e94fccdbc7..13b24492b1d7b 100644
--- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).errors.txt
+++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node16).errors.txt
@@ -1,6 +1,6 @@
 subfolder/index.ts(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module.
 subfolder/index.ts(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
-subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node16.
+subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES2022 with module Node16.
 subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
 
 
@@ -14,7 +14,7 @@ subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is res
 !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
     class Object {}
           ~~~~~~
-!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node16.
+!!! error TS2725: Class name cannot be 'Object' when targeting ES2022 with module Node16.
     export const __esModule = false;
                  ~~~~~~~~~~
 !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node18).errors.txt b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node18).errors.txt
index fe89fc2f3863b..a75c9d004e791 100644
--- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node18).errors.txt
+++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=node18).errors.txt
@@ -1,6 +1,6 @@
 subfolder/index.ts(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module.
 subfolder/index.ts(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
-subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node18.
+subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES2022 with module Node18.
 subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
 
 
@@ -14,7 +14,7 @@ subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is res
 !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
     class Object {}
           ~~~~~~
-!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module Node18.
+!!! error TS2725: Class name cannot be 'Object' when targeting ES2022 with module Node18.
     export const __esModule = false;
                  ~~~~~~~~~~
 !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
diff --git a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).errors.txt b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).errors.txt
index 1a1ba80e6a10c..ef0fd7c0b8660 100644
--- a/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).errors.txt
+++ b/tests/baselines/reference/nodeModulesGeneratedNameCollisions(module=nodenext).errors.txt
@@ -1,6 +1,6 @@
 subfolder/index.ts(2,10): error TS2441: Duplicate identifier 'require'. Compiler reserves name 'require' in top level scope of a module.
 subfolder/index.ts(3,7): error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
-subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting ES5 with module NodeNext.
+subfolder/index.ts(4,7): error TS2725: Class name cannot be 'Object' when targeting Latest with module NodeNext.
 subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
 
 
@@ -14,7 +14,7 @@ subfolder/index.ts(5,14): error TS1216: Identifier expected. '__esModule' is res
 !!! error TS2441: Duplicate identifier 'exports'. Compiler reserves name 'exports' in top level scope of a module.
     class Object {}
           ~~~~~~
-!!! error TS2725: Class name cannot be 'Object' when targeting ES5 with module NodeNext.
+!!! error TS2725: Class name cannot be 'Object' when targeting Latest with module NodeNext.
     export const __esModule = false;
                  ~~~~~~~~~~
 !!! error TS1216: Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules.
diff --git a/tests/cases/fourslash/issue61270.ts b/tests/cases/fourslash/issue61270.ts
new file mode 100644
index 0000000000000..fccbfb4afc33c
--- /dev/null
+++ b/tests/cases/fourslash/issue61270.ts
@@ -0,0 +1,13 @@
+/// <reference path="fourslash.ts" />
+
+// @target: es2024
+// @module: commonjs
+
+// @filename: test.ts
+//// namespace NS { class Object {} }
+
+verify.getSemanticDiagnostics([{
+    code: 2725,
+    message: "Class name cannot be 'Object' when targeting ES2024 with module CommonJS.",
+    range: { pos: 21, end: 27, fileName: "test.ts" }
+}]);