eyaltoledano/claude-task-master · warning

⚠ Warning: "tm copy-tag" is deprecated. Use "tm tags copy" i

Error message

⚠ Warning: "tm copy-tag" is deprecated. Use "tm tags copy" instead.

What it means

`tm copy-tag` is a legacy alias for `tm tags copy`. It prints this deprecation warning and future-removal notice, then copies the tag as before.

Source

Thrown at scripts/modules/commands.js:5188

		});

	// copy-tag command (DEPRECATED - use `tm tags copy` instead)
	programInstance
		.command('copy-tag')
		.description(
			'[DEPRECATED] Copy an existing tag to create a new tag with the same tasks (use "tm tags copy" instead)'
		)
		.argument('<sourceName>', 'Name of the source tag to copy from')
		.argument('<targetName>', 'Name of the new tag to create')
		.option(
			'-f, --file <file>',
			'Path to the tasks file',
			TASKMASTER_TASKS_FILE
		)
		.option('-d, --description <text>', 'Optional description for the new tag')
		.action(async (sourceName, targetName, options) => {
			// Show deprecation warning
			console.warn(
				chalk.yellow(
					'⚠ Warning: "tm copy-tag" is deprecated. Use "tm tags copy" instead.'
				)
			);
			console.log(
				chalk.gray('  This command will be removed in a future version.\n')
			);

			try {
				// Initialize TaskMaster
				const taskMaster = initTaskMaster({
					tasksPath: options.file || true
				});
				const tasksPath = taskMaster.getTasksPath();

				// Validate tasks file exists
				if (!fs.existsSync(tasksPath)) {
					console.error(

View on GitHub (pinned to c0c98d367c)

Solutions

  1. Replace with `tm tags copy <source> <target>`
  2. Keep options like --description/--file identical on the new command
  3. Update scripts and CI
  4. Ignore if migration is deferred; informational only

Example fix

// before
tm copy-tag main backup -d='snapshot'
// after
tm tags copy main backup --description='snapshot'
Defensive patterns

Strategy: validation

Validate before calling

if (process.argv.includes('copy-tag')) {
  console.warn('Deprecated: use `tm tags copy` instead');
}

Prevention

When it happens

Trigger: Running `task-master copy-tag <source> <target>` or `tm copy-tag` from scripts, with optional -d description.

Common situations: Legacy automation, old documentation, pre-namespace habits.

Related errors


AI-assisted analysis of eyaltoledano/claude-task-master@c0c98d367c (2026-08-29). Data as JSON: /api/errors/78ce7c52564758e3. Report an issue: GitHub.