diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index e62f856c45..97c563cf03 100755 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -889,21 +889,22 @@ export async function loadCliConfig( const [key, ...valueParts] = entry.split('='); const value = valueParts.join('='); if (key && value !== undefined) { - // Normalize key to kebab-case (e.g., enableNumericalRouting -> enable-numerical-routing) - const normalizedKey = key - .replace(/([a-z])([A-Z])/g, '$1-$2') - .toLowerCase() - .replace(/_/g, '-'); - + const experimentalCliArgs: Record = Object.create(null); + if (argv['experiment'] && Array.isArray(argv['experiment'])) { + for (const entry of argv['experiment']) { + const [key, ...valueParts] = entry.split('='); + const value = valueParts.join('='); + if (key && value !== undefined) { // Simple type inference for CLI args - if (value === 'true') experimentalCliArgs[normalizedKey] = true; - else if (value === 'false') experimentalCliArgs[normalizedKey] = false; + if (value === 'true') experimentalCliArgs[key] = true; + else if (value === 'false') experimentalCliArgs[key] = false; else if (!isNaN(Number(value))) - experimentalCliArgs[normalizedKey] = Number(value); - else experimentalCliArgs[normalizedKey] = value; + experimentalCliArgs[key] = Number(value); + else experimentalCliArgs[key] = value; } } } + } let clientName: string | undefined = undefined; if (isAcpMode) {