Description
The fix_dependencies MCP tool (and CLI task-master fix-dependencies) can catastrophically wipe all tags except "master" from tasks.json. In our multi-tag workspace (51 tags, 13 MB tasks.json), running fix_dependencies on one tag caused data loss across all other tags.
Steps to Reproduce
- Have a
tasks.json with multiple tags (e.g., master, project-a, project-b)
- Run
fix_dependencies({tag: "project-a", projectRoot: "..."})
- Observe that
tasks.json now only contains the master tag — all other tags are deleted
Expected Behavior
fix_dependencies should only modify dependency references within the specified tag, preserving all other tags.
Actual Behavior
All tags except master are removed from tasks.json. This is catastrophic data loss in multi-tag workspaces.
Workaround
We have permanently blocked this tool via deniedTools in .claude/settings.json and use manual remove_dependency() + add_dependency() instead:
// Safe alternative
remove_dependency({id: "2.4", dependsOn: "2.3", tag: "your-tag"});
add_dependency({id: "2.4", dependsOn: "2.2", tag: "your-tag"});
Environment
- Task Master version: 0.43.0
- Node.js version: v24.13.0
- Operating system: Ubuntu 24.04 (NVIDIA DGX)
- IDE: Claude Code CLI
Additional Context
This has caused data loss multiple times in our workspace. The tool should either be fixed to be tag-scoped, or removed/deprecated with a warning. We've added it to our deniedTools list permanently.
Description
The
fix_dependenciesMCP tool (and CLItask-master fix-dependencies) can catastrophically wipe all tags except "master" fromtasks.json. In our multi-tag workspace (51 tags, 13 MB tasks.json), runningfix_dependencieson one tag caused data loss across all other tags.Steps to Reproduce
tasks.jsonwith multiple tags (e.g.,master,project-a,project-b)fix_dependencies({tag: "project-a", projectRoot: "..."})tasks.jsonnow only contains themastertag — all other tags are deletedExpected Behavior
fix_dependenciesshould only modify dependency references within the specified tag, preserving all other tags.Actual Behavior
All tags except
masterare removed fromtasks.json. This is catastrophic data loss in multi-tag workspaces.Workaround
We have permanently blocked this tool via
deniedToolsin.claude/settings.jsonand use manualremove_dependency()+add_dependency()instead:Environment
Additional Context
This has caused data loss multiple times in our workspace. The tool should either be fixed to be tag-scoped, or removed/deprecated with a warning. We've added it to our
deniedToolslist permanently.