{"record":{"id":"8a61502610d95f84","repo":"eyaltoledano/claude-task-master","slug":"warning-tm-add-tag-is-deprecated-use-tm-tag","errorCode":null,"errorMessage":"⚠ Warning: \"tm add-tag\" is deprecated. Use \"tm tags add\" instead.","messagePattern":"⚠ Warning: \"tm add-tag\" is deprecated\\. Use \"tm tags add\" instead\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"scripts/modules/commands.js","lineNumber":4840,"sourceCode":"\t\t\t'Path to the tasks file',\n\t\t\tTASKMASTER_TASKS_FILE\n\t\t)\n\t\t.option(\n\t\t\t'--copy-from-current',\n\t\t\t'Copy tasks from the current tag to the new tag'\n\t\t)\n\t\t.option(\n\t\t\t'--copy-from <tag>',\n\t\t\t'Copy tasks from the specified tag to the new tag'\n\t\t)\n\t\t.option(\n\t\t\t'--from-branch',\n\t\t\t'Create tag name from current git branch (ignores tagName argument)'\n\t\t)\n\t\t.option('-d, --description <text>', 'Optional description for the tag')\n\t\t.action(async (tagName, options) => {\n\t\t\t// Show deprecation warning\n\t\t\tconsole.warn(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t'⚠ Warning: \"tm add-tag\" is deprecated. Use \"tm tags add\" instead.'\n\t\t\t\t)\n\t\t\t);\n\t\t\tconsole.log(\n\t\t\t\tchalk.gray('  This command will be removed in a future version.\\n')\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\t// Initialize TaskMaster\n\t\t\t\tconst taskMaster = initTaskMaster({\n\t\t\t\t\ttasksPath: options.file || true\n\t\t\t\t});\n\t\t\t\tconst tasksPath = taskMaster.getTasksPath();\n\n\t\t\t\t// Validate tasks file exists\n\t\t\t\tif (!fs.existsSync(tasksPath)) {\n\t\t\t\t\tconsole.error(","sourceCodeStart":4822,"sourceCodeEnd":4858,"githubUrl":"https://github.com/eyaltoledano/claude-task-master/blob/c0c98d367c55296bfe69e65680625b6db437af02/scripts/modules/commands.js#L4822-L4858","documentation":"`tm add-tag` has been superseded by the grouped `tm tags add` command. Registering/invoking the legacy alias prints this deprecation warning (plus a note that it will be removed in a future version) before forwarding to the same behavior.","triggerScenarios":"Invoking `task-master add-tag` or `tm add-tag` on the command line, or calling addTag via the legacy command path in scripts/MCP integrations.","commonSituations":"Old shell scripts, CI pipelines, docs, or muscle memory from earlier task-master versions.","solutions":["Replace `tm add-tag` with `tm tags add <name>`","Add any prior options identically to `tm tags add` (e.g. --from-branch, --description, --copy-from-current)","Update scripts/aliases/CI to the new command","Ignore the warning if migration must wait; it is informational only"],"exampleFix":"// before\ntm add-tag release-1 --description='Release 1'\n// after\ntm tags add release-1 --description='Release 1'","handlingStrategy":"validation","validationCode":"const LEGACY = { 'add-tag': 'tags add', 'delete-tag': 'tags remove', 'use-tag': 'tags use', 'rename-tag': 'tags rename', 'copy-tag': 'tags copy' };\nif (LEGACY[cmd]) console.warn(`Use 'tm ${LEGACY[cmd]}' instead`);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Grep scripts/CI for legacy tag commands and migrate to `tm tags ...`","Prefer the namespaced `tags` subcommands in all new tooling","Re-check docs after task-master upgrades"],"tags":["cli","deprecation","tag-management"],"backgroundTag":"deprecated-api-usage","analyzedSha":"c0c98d367c55296bfe69e65680625b6db437af02","analyzedAt":"2026-08-29T02:56:26.071Z","schemaVersion":2},"datasetVersion":"2026-08-29T07:17:48.351Z"}