Repository: JoshuaKGoldberg/bingo (ts)

Issue:
🐛 Bug: Re-run suggestions still show `npx bingo` instead of the actual command
### Bug Report Checklist

- [x] I have tried restarting my IDE and the issue persists.
- [x] I have pulled the latest `main` branch of the repository.
- [x] I have [searched for related issues](https://github.com/JoshuaKGoldberg/bingo/issues?q=is%3Aissue) and found none that matched my issue.

### Expected

When a template CLI command finishes, it should display a re-run suggestion based on the same prompt.

### Actual

From:

```shell
npx ~/repos/create-handlebars-example --owner bingo-examples --repository created-handlebars-example
````

I'm getting:

```plaintext
●  Tip: to run again with the same input values, use: npx bingo --owner bingo-examples --repository created-handlebars-example --owner bingo-examples --description "Example repository created from create-handlebars-example. 💕"
```

### Additional Info

💝 

Pull request description:
fix(bingo): corrected re-run commands and deduplicated error logging
## PR Checklist

- [x] Addresses an existing open issue: fixes #268
- [x] That issue was marked as [`status: accepting prs`](https://github.com/JoshuaKGoldberg/bingo/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in [CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/bingo/blob/main/.github/CONTRIBUTING.md) were taken

## Overview

`runSpinnerTask` already logs errors, so there's no need to return them as an error to be logged from `runMode*`. This was bugging me.

💝 

Patch:
diff --git a/packages/bingo/src/cli/display/runInsideClackDisplay.ts b/packages/bingo/src/cli/display/runInsideClackDisplay.ts
index 989f612..59ed7b6 100644
--- a/packages/bingo/src/cli/display/runInsideClackDisplay.ts
+++ b/packages/bingo/src/cli/display/runInsideClackDisplay.ts
@@ -33,7 +33,7 @@ export async function runInsideClackDisplay(
 		return results;
 	}
 
-	if (results.status === CLIStatus.Error) {
+	if (results.status === CLIStatus.Error && results.error) {
 		prompts.log.error(chalk.red(`Error: ${results.error.message}`));
 	}
 
diff --git a/packages/bingo/src/cli/loggers/logRerunSuggestion.ts b/packages/bingo/src/cli/loggers/logRerunSuggestion.ts
index 25c0d12..6660a42 100644
--- a/packages/bingo/src/cli/loggers/logRerunSuggestion.ts
+++ b/packages/bingo/src/cli/loggers/logRerunSuggestion.ts
@@ -1,7 +1,7 @@
 import * as prompts from "@clack/prompts";
 import chalk from "chalk";
 
-export function logRerunSuggestion(args: string[], prompted: object) {
+export function logRerunSuggestion(argv: string[], prompted: object) {
 	const promptedEntries = Object.entries(prompted);
 	if (!promptedEntries.length) {
 		return;
@@ -12,10 +12,9 @@ export function logRerunSuggestion(args: string[], prompted: object) {
 			chalk.italic(`Tip: to run again with the same input values, use:`),
 			chalk.blue(
 				[
-					`npx bingo`,
-					...args,
+					"npx",
+					argv[1].split(/[/\\]/).at(-1),
 					promptedEntries
-
 						.map(([key, value]) => stringifyPair(key, value))
 						.join(" "),
 				].join(" "),
diff --git a/packages/bingo/src/cli/messages.ts b/packages/bingo/src/cli/messages.ts
index 2f976d7..8f29827 100644
--- a/packages/bingo/src/cli/messages.ts
+++ b/packages/bingo/src/cli/messages.ts
@@ -1,4 +1,7 @@
 export enum CLIMessage {
+	Done = `Done. Enjoy your updated repository! 💝`,
 	Exiting = "Exiting - maybe another time? 👋",
+	Leaving = "Leaving changes to the local directory on disk. 👋",
+	New = `Done. Enjoy your new repository! 💝`,
 	Ok = "Cheers! 💝",
 }
diff --git a/packages/bingo/src/cli/parseProcessArgv.ts b/packages/bingo/src/cli/parseProcessArgv.ts
index c6eec19..2834051 100644
--- a/packages/bingo/src/cli/parseProcessArgv.ts
+++ b/packages/bingo/src/cli/parseProcessArgv.ts
@@ -39,11 +39,10 @@ export interface RunCLIRawValues {
 }
 
 export function parseProcessArgv() {
-	const args = process.argv.slice(2);
 	return {
-		args,
+		argv: process.argv,
 		...parseArgs({
-			args,
+			args: process.argv.slice(2),
 			options: cliArgsOptions,
 			strict: false,
 		}),
diff --git a/packages/bingo/src/cli/runBingoCLI.ts b/packages/bingo/src/cli/runBingoCLI.ts
index f5e9f07..6f34661 100644
--- a/packages/bingo/src/cli/runBingoCLI.ts
+++ b/packages/bingo/src/cli/runBingoCLI.ts
@@ -14,7 +14,7 @@ import { makeRelative } from "./utils.js";
  * @returns CLI status to assign to `process.exitCode`.
  */
 export async function runBingoCLI() {
-	const { args, positionals, values } = parseProcessArgv();
+	const { argv, positionals, values } = parseProcessArgv();
 	if (values.version) {
 		console.log(packageData.version);
 		return CLIStatus.Success;
@@ -34,7 +34,7 @@ export async function runBingoCLI() {
 		}
 
 		const result = await runCLI({
-			args,
+			argv,
 			display,
 			from: `bingo ${from}`,
 			template,
diff --git a/packages/bingo/src/cli/runCLI.ts b/packages/bingo/src/cli/runCLI.ts
index 7599e6f..7d336ae 100644
--- a/packages/bingo/src/cli/runCLI.ts
+++ b/packages/bingo/src/cli/runCLI.ts
@@ -21,7 +21,7 @@ const valuesSchema = z.object({
 });
 
 export interface RunCLISettings<OptionsShape extends AnyShape, Refinements> {
-	args: string[];
+	argv: string[];
 	display: ClackDisplay;
 	from: string;
 	template: Template<OptionsShape, Refinements>;
@@ -29,7 +29,7 @@ export interface RunCLISettings<OptionsShape extends AnyShape, Refinements> {
 }
 
 export async function runCLI<OptionsShape extends AnyShape, Refinements>({
-	args,
+	argv,
 	display,
 	from,
 	template,
@@ -47,7 +47,7 @@ export async function runCLI<OptionsShape extends AnyShape, Refinements>({
 
 	const sharedSettings = {
 		...validatedValues,
-		args,
+		argv,
 		display,
 		from,
 		template,
diff --git a/packages/bingo/src/cli/runTemplateCLI.ts b/packages/bingo/src/cli/runTemplateCLI.ts
index 3a90142..4edb119 100644
--- a/packages/bingo/src/cli/runTemplateCLI.ts
+++ b/packages/bingo/src/cli/runTemplateCLI.ts
@@ -34,7 +34,7 @@ export async function runTemplateCLI<
 		return CLIStatus.Error;
 	}
 
-	const { args, values } = parseProcessArgv();
+	const { argv, values } = parseProcessArgv();
 	if (values.version) {
 		console.log(`${packageData.name}@${packageData.version}`);
 		console.log(`${templatePackageData.name}@${templatePackageData.version}`);
@@ -49,7 +49,7 @@ export async function runTemplateCLI<
 		}
 
 		return await runCLI({
-			args,
+			argv,
 			display,
 			from: templatePackageData.name,
 			template,
diff --git a/packages/bingo/src/cli/setup/runModeSetup.ts b/packages/bingo/src/cli/setup/runModeSetup.ts
index 504c3c9..da31ada 100644
--- a/packages/bingo/src/cli/setup/runModeSetup.ts
+++ b/packages/bingo/src/cli/setup/runModeSetup.ts
@@ -14,6 +14,7 @@ import { runSpinnerTask } from "../display/runSpinnerTask.js";
 import { logHelpText } from "../loggers/logHelpText.js";
 import { logRerunSuggestion } from "../loggers/logRerunSuggestion.js";
 import { logStartText } from "../loggers/logStartText.js";
+import { CLIMessage } from "../messages.js";
 import { parseZodArgs } from "../parsers/parseZodArgs.js";
 import { promptForDirectory } from "../prompts/promptForDirectory.js";
 import { promptForOptionSchemas } from "../prompts/promptForOptionSchemas.js";
@@ -27,7 +28,7 @@ export interface RunModeSetupSettings<
 	OptionsShape extends AnyShape,
 	Refinements,
 > {
-	args: string[];
+	argv: string[];
 	directory?: string;
 	display: ClackDisplay;
 	from: string;
@@ -38,7 +39,7 @@ export interface RunModeSetupSettings<
 }
 
 export async function runModeSetup<OptionsShape extends AnyShape, Refinements>({
-	args,
+	argv,
 	display,
 	from,
 	help,
@@ -72,7 +73,7 @@ export async function runModeSetup<OptionsShape extends AnyShape, Refinements>({
 		offline,
 	});
 
-	const providedOptions = parseZodArgs(args, {
+	const providedOptions = parseZodArgs(argv, {
 		directory: z.string().optional(),
 		owner: z.string().optional(),
 		repository: z.string().optional(),
@@ -92,8 +93,8 @@ export async function runModeSetup<OptionsShape extends AnyShape, Refinements>({
 		},
 	);
 	if (preparedOptions instanceof Error) {
-		logRerunSuggestion(args, providedOptions);
-		return { error: preparedOptions, status: CLIStatus.Error };
+		logRerunSuggestion(argv, providedOptions);
+		return { status: CLIStatus.Error };
 	}
 
 	const repository = requestedRepository ?? directory;
@@ -107,7 +108,7 @@ export async function runModeSetup<OptionsShape extends AnyShape, Refinements>({
 		system,
 	});
 	if (baseOptions.cancelled) {
-		logRerunSuggestion(args, baseOptions.prompted);
+		logRerunSuggestion(argv, baseOptions.prompted);
 		return { status: CLIStatus.Cancelled };
 	}
 
@@ -122,7 +123,7 @@ export async function runModeSetup<OptionsShape extends AnyShape, Refinements>({
 			);
 
 	if (remote instanceof Error) {
-		logRerunSuggestion(args, baseOptions.completed);
+		logRerunSuggestion(argv, baseOptions.completed);
 		return { error: remote, status: CLIStatus.Error };
 	}
 
@@ -148,15 +149,14 @@ export async function runModeSetup<OptionsShape extends AnyShape, Refinements>({
 			}),
 	);
 	if (creation instanceof Error) {
-		logRerunSuggestion(args, baseOptions.prompted);
+		logRerunSuggestion(argv, baseOptions.prompted);
 		return {
-			error: creation,
-			outro: `Leaving changes to the local directory on disk. 👋`,
+			outro: CLIMessage.Leaving,
 			status: CLIStatus.Error,
 		};
 	}
 
-	await runSpinnerTask(
+	const prepared = await runSpinnerTask(
 		display,
 		"Preparing local repository",
 		"Prepared local repository",
@@ -167,20 +167,27 @@ export async function runModeSetup<OptionsShape extends AnyShape, Refinements>({
 		},
 	);
 
-	logRerunSuggestion(args, baseOptions.prompted);
-	prompts.log.message(
-		[
-			"Great, you've got a new repository ready to use in:",
-			`  ${chalk.green(makeRelative(directory))}`,
-			...(remote
-				? [
-						"",
-						"It's also pushed to GitHub on:",
-						`  ${chalk.green(`https://github.com/${remote.owner}/${remote.repository}`)}`,
-					]
-				: []),
-		].join("\n"),
-	);
+	logRerunSuggestion(argv, baseOptions.prompted);
+
+	if (!prepared) {
+		prompts.log.message(
+			[
+				"Great, you've got a new repository ready to use in:",
+				`  ${chalk.green(makeRelative(directory))}`,
+				...(remote
+					? [
+							"",
+							"It's also pushed to GitHub on:",
+							`  ${chalk.green(`https://github.com/${remote.owner}/${remote.repository}`)}`,
+						]
+					: []),
+			].join("\n"),
+		);
+		return {
+			outro: CLIMessage.Leaving,
+			status: CLIStatus.Error,
+		};
+	}
 
 	return {
 		outro: `Thanks for using ${chalk.bgGreenBright.black(from)}! 💝`,
diff --git a/packages/bingo/src/cli/transition/runModeTransition.ts b/packages/bingo/src/cli/transition/runModeTransition.ts
index 802f887..c71062d 100644
--- a/packages/bingo/src/cli/transition/runModeTransition.ts
+++ b/packages/bingo/src/cli/transition/runModeTransition.ts
@@ -10,6 +10,7 @@ import { runSpinnerTask } from "../display/runSpinnerTask.js";
 import { logHelpText } from "../loggers/logHelpText.js";
 import { logRerunSuggestion } from "../loggers/logRerunSuggestion.js";
 import { logStartText } from "../loggers/logStartText.js";
+import { CLIMessage } from "../messages.js";
 import { parseZodArgs } from "../parsers/parseZodArgs.js";
 import { promptForOptionSchemas } from "../prompts/promptForOptionSchemas.js";
 import { CLIStatus } from "../status.js";
@@ -22,7 +23,7 @@ export interface RunModeTransitionSettings<
 	OptionsShape extends AnyShape,
 	Refinements,
 > {
-	args: string[];
+	argv: string[];
 	configFile: string | undefined;
 	directory?: string;
 	display: ClackDisplay;
@@ -36,7 +37,7 @@ export async function runModeTransition<
 	OptionsShape extends AnyShape,
 	Refinements,
 >({
-	args,
+	argv,
 	configFile,
 	directory = ".",
 	display,
@@ -75,7 +76,7 @@ export async function runModeTransition<
 		);
 	}
 
-	const providedOptions = parseZodArgs(args, template.options);
+	const providedOptions = parseZodArgs(argv, template.options);
 
 	const loadedConfig = await readConfigSettings(
 		configFile,
@@ -83,7 +84,7 @@ export async function runModeTransition<
 		template,
 	);
 	if (loadedConfig instanceof Error) {
-		logRerunSuggestion(args, providedOptions);
+		logRerunSuggestion(argv, providedOptions);
 		return { error: loadedConfig, status: CLIStatus.Error };
 	}
 
@@ -104,8 +105,8 @@ export async function runModeTransition<
 		},
 	);
 	if (preparedOptions instanceof Error) {
-		logRerunSuggestion(args, providedOptions);
-		return { error: preparedOptions, status: CLIStatus.Error };
+		logRerunSuggestion(argv, providedOptions);
+		return { status: CLIStatus.Error };
 	}
 
 	const baseOptions = await promptForOptionSchemas(template, {
@@ -113,7 +114,7 @@ export async function runModeTransition<
 		system,
 	});
 	if (baseOptions.cancelled) {
-		logRerunSuggestion(args, baseOptions.prompted);
+		logRerunSuggestion(argv, baseOptions.prompted);
 		return { status: CLIStatus.Cancelled };
 	}
 
@@ -132,37 +133,42 @@ export async function runModeTransition<
 			}),
 	);
 	if (creation instanceof Error) {
-		logRerunSuggestion(args, baseOptions.prompted);
+		logRerunSuggestion(argv, baseOptions.prompted);
 		return {
-			error: creation,
-			outro: `Leaving changes to the local directory on disk. 👋`,
+			outro: CLIMessage.Leaving,
 			status: CLIStatus.Error,
 		};
 	}
 
-	if (repositoryLocator) {
-		await runSpinnerTask(
-			display,
-			"Creating initial commit",
-			"Created initial commit",
-			async () => {
-				await createInitialCommit(system.runner, {
-					amend: true,
-					push: !offline,
-				});
-			},
-		);
-
-		logRerunSuggestion(args, baseOptions.prompted);
+	if (!repositoryLocator) {
+		logRerunSuggestion(argv, baseOptions.prompted);
 		return {
-			outro: `Done. Enjoy your new repository! 💝`,
+			outro: CLIMessage.Done,
 			status: CLIStatus.Success,
 		};
 	}
 
-	logRerunSuggestion(args, baseOptions.prompted);
-	return {
-		outro: `Done. Enjoy your updated repository! 💝`,
-		status: CLIStatus.Success,
-	};
+	const commit = await runSpinnerTask(
+		display,
+		"Creating initial commit",
+		"Created initial commit",
+		async () => {
+			await createInitialCommit(system.runner, {
+				amend: true,
+				push: !offline,
+			});
+		},
+	);
+
+	logRerunSuggestion(argv, baseOptions.prompted);
+
+	return commit instanceof Error
+		? {
+				outro: CLIMessage.Leaving,
+				status: CLIStatus.Error,
+			}
+		: {
+				outro: CLIMessage.New,
+				status: CLIStatus.Success,
+			};
 }
diff --git a/packages/bingo/src/cli/types.ts b/packages/bingo/src/cli/types.ts
index 524dc5f..f6c982a 100644
--- a/packages/bingo/src/cli/types.ts
+++ b/packages/bingo/src/cli/types.ts
@@ -8,7 +8,7 @@ export interface ModeResultsBase {
 }
 
 export interface ModeResultsError extends ModeResultsBase {
-	error: Error;
+	error?: Error;
 	status: CLIStatus.Error;
 }
 


Test patch:
diff --git a/packages/bingo/src/cli/loggers/logRerunSuggestion.test.ts b/packages/bingo/src/cli/loggers/logRerunSuggestion.test.ts
index 812bf19..6410206 100644
--- a/packages/bingo/src/cli/loggers/logRerunSuggestion.test.ts
+++ b/packages/bingo/src/cli/loggers/logRerunSuggestion.test.ts
@@ -14,19 +14,21 @@ vi.mock("@clack/prompts", () => ({
 
 describe("logRerunSuggestion", () => {
 	it("does not log when there are no prompted entries", () => {
-		logRerunSuggestion(["my-app"], {});
+		logRerunSuggestion([".../node", ".../my-app"], {});
 
 		expect(mockLog.info).not.toHaveBeenCalled();
 	});
 
-	it("logs when there are no prompted entries", () => {
-		logRerunSuggestion(["my-app"], { abc: "def" });
+	it("logs when there are prompted entries", () => {
+		logRerunSuggestion([".../node", ".../my-app"], {
+			abc: "def",
+		});
 
 		expect(mockLog.info).toHaveBeenCalled();
 	});
 
 	test("value stringification", () => {
-		logRerunSuggestion(["my-app"], {
+		logRerunSuggestion([".../node", ".../my-app"], {
 			"is-false": false,
 			"is-true": true,
 			multiple: ["def", 456],
@@ -38,7 +40,7 @@ describe("logRerunSuggestion", () => {
 		expect(mockLog.info.mock.calls).toMatchInlineSnapshot(`
 			[
 			  [
-			    "Tip: to run again with the same input values, use: npx bingo my-app --is-false false --is-true --multiple def --multiple 456 --numeric 123 --spaced "a bb ccc" --stringy abc",
+			    "Tip: to run again with the same input values, use: npx my-app --is-false false --is-true --multiple def --multiple 456 --numeric 123 --spaced "a bb ccc" --stringy abc",
 			  ],
 			]
 		`);
diff --git a/packages/bingo/src/cli/runCli.test.ts b/packages/bingo/src/cli/runCli.test.ts
index ebcc835..041e1f4 100644
--- a/packages/bingo/src/cli/runCli.test.ts
+++ b/packages/bingo/src/cli/runCli.test.ts
@@ -42,13 +42,15 @@ const template = createTemplate({
 	produce: vi.fn(),
 });
 
+const argv = ["npx", "bingo-example"];
+
 describe("runCli", () => {
 	it("logs the error when readProductionSettings resolves an error", async () => {
 		const error = new Error("Oh no!");
 		mockReadProductionSettings.mockResolvedValueOnce(error);
 
 		const actual = await runCLI({
-			args: [],
+			argv,
 			display: createClackDisplay(),
 			from: "",
 			template,
@@ -65,7 +67,7 @@ describe("runCli", () => {
 		});
 
 		await runCLI({
-			args: [],
+			argv,
 			display: createClackDisplay(),
 			from: "",
 			template,
@@ -83,7 +85,7 @@ describe("runCli", () => {
 		});
 
 		await runCLI({
-			args: [],
+			argv,
 			display: createClackDisplay(),
 			from: "",
 			template,
diff --git a/packages/bingo/src/cli/transition/runModeTransition.test.ts b/packages/bingo/src/cli/transition/runModeTransition.test.ts
index 7508396..d47cd6a 100644
--- a/packages/bingo/src/cli/transition/runModeTransition.test.ts
+++ b/packages/bingo/src/cli/transition/runModeTransition.test.ts
@@ -141,7 +141,7 @@ const templateWithRepository = createTemplate({
 	produce: vi.fn(),
 });
 
-const args = ["bingo-my-app"];
+const argv = ["npx", "bingo-my-app"];
 
 const from = "create-example";
 
@@ -152,7 +152,7 @@ const promptedOptions = {
 describe("runModeTransition", () => {
 	it("logs help text instead of running when help is true", async () => {
 		await runModeTransition({
-			args,
+			argv,
 			configFile: undefined,
 			display,
 			from,
@@ -169,7 +169,7 @@ describe("runModeTransition", () => {
 		mockReadConfigSettings.mockResolvedValueOnce(error);
 
 		const actual = await runModeTransition({
-			args,
+			argv,
 			configFile: "example.config.ts",
 			display,
 			from,
@@ -180,7 +180,7 @@ describe("runModeTransition", () => {
 			error,
 			status: CLIStatus.Error,
 		});
-		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(args, {});
+		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(argv, {});
 	});
 
 	it("returns the error when prepareOptions throws an error", async () => {
@@ -188,18 +188,15 @@ describe("runModeTransition", () => {
 		mockPrepareOptions.mockRejectedValueOnce(error);
 
 		const actual = await runModeTransition({
-			args,
+			argv,
 			configFile: undefined,
 			display,
 			from,
 			template,
 		});
 
-		expect(actual).toEqual({
-			error,
-			status: CLIStatus.Error,
-		});
-		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(args, {});
+		expect(actual).toEqual({ status: CLIStatus.Error });
+		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(argv, {});
 	});
 
 	it("returns the cancellation when promptForOptions is cancelled", async () => {
@@ -209,7 +206,7 @@ describe("runModeTransition", () => {
 		});
 
 		const actual = await runModeTransition({
-			args,
+			argv,
 			configFile: undefined,
 			display,
 			from,
@@ -219,7 +216,7 @@ describe("runModeTransition", () => {
 		expect(actual).toEqual({
 			status: CLIStatus.Cancelled,
 		});
-		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(args, promptedOptions);
+		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(argv, promptedOptions);
 	});
 
 	it("returns the error when runTemplate resolves with an error", async () => {
@@ -231,7 +228,7 @@ describe("runModeTransition", () => {
 		mockRunTemplate.mockRejectedValueOnce(error);
 
 		const actual = await runModeTransition({
-			args,
+			argv,
 			configFile: undefined,
 			display,
 			from,
@@ -239,11 +236,10 @@ describe("runModeTransition", () => {
 		});
 
 		expect(actual).toEqual({
-			error,
 			outro: `Leaving changes to the local directory on disk. 👋`,
 			status: CLIStatus.Error,
 		});
-		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(args, promptedOptions);
+		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(argv, promptedOptions);
 	});
 
 	it("doesn't clear the existing repository when the template does not have a repository locator", async () => {
@@ -252,7 +248,7 @@ describe("runModeTransition", () => {
 		});
 
 		const actual = await runModeTransition({
-			args,
+			argv,
 			configFile: undefined,
 			display,
 			from,
@@ -265,7 +261,7 @@ describe("runModeTransition", () => {
 		});
 		expect(mockClearTemplateFiles).not.toHaveBeenCalled();
 		expect(mockClearLocalGitTags).not.toHaveBeenCalled();
-		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(args, promptedOptions);
+		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(argv, promptedOptions);
 	});
 
 	it("clears the existing repository online when a forked repository locator is available and offline is falsy", async () => {
@@ -278,7 +274,7 @@ describe("runModeTransition", () => {
 		});
 
 		const actual = await runModeTransition({
-			args,
+			argv,
 			configFile: undefined,
 			display,
 			from,
@@ -301,7 +297,7 @@ describe("runModeTransition", () => {
 			amend: true,
 			push: true,
 		});
-		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(args, promptedOptions);
+		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(argv, promptedOptions);
 	});
 
 	it("clears the existing repository offline when a forked repository locator is available and offline is true", async () => {
@@ -314,7 +310,7 @@ describe("runModeTransition", () => {
 		});
 
 		const actual = await runModeTransition({
-			args,
+			argv,
 			configFile: undefined,
 			display,
 			from,
@@ -338,6 +334,6 @@ describe("runModeTransition", () => {
 			amend: true,
 			push: false,
 		});
-		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(args, promptedOptions);
+		expect(mockLogRerunSuggestion).toHaveBeenCalledWith(argv, promptedOptions);
 	});
 });