{"record":{"id":"56fbf655fd9ea2a4","repo":"jdx/mise","slug":"removed-workspace-project-id-cannot-define-oth","errorCode":null,"errorMessage":"removed workspace project {id:?} cannot define other overrides","messagePattern":"removed workspace project (.+?) cannot define other overrides","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/task/workspace.rs","lineNumber":1159,"sourceCode":"        attach_suggestion(&mut task.suggestions.provenance.outputs);\n    }\n    if task.suggestions.cache.is_some() {\n        attach_suggestion(&mut task.suggestions.provenance.cache);\n    }\n    if task.suggestions.depends.is_some() {\n        attach_suggestion(&mut task.suggestions.provenance.depends);\n    }\n}\n\nfn validate_override(id: &ProjectId, config: &WorkspaceProjectOverride) -> Result<()> {\n    if config.remove\n        && (config.root.is_some()\n            || config.metadata.is_some()\n            || config.depends.is_some()\n            || !config.depends_add.is_empty()\n            || !config.depends_remove.is_empty())\n    {\n        bail!(\"removed workspace project {id:?} cannot define other overrides\");\n    }\n    if let Some(dependency) = config\n        .depends_add\n        .intersection(&config.depends_remove)\n        .next()\n    {\n        bail!(\"workspace project {id:?} cannot both add and remove dependency {dependency:?}\");\n    }\n    Ok(())\n}\n\nfn parse_dependency_ids(\n    project_id: &ProjectId,\n    field: &str,\n    dependencies: &BTreeSet<String>,\n) -> Result<BTreeSet<ProjectId>> {\n    dependencies\n        .iter()","sourceCodeStart":1141,"sourceCodeEnd":1177,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/task/workspace.rs#L1141-L1177","documentation":"When a config marks a workspace project as removed, mise rejects any other override fields (root, metadata, depends, depends_add, depends_remove) on that same project entry. A removed project must be purely a tombstone; combining removal with mutation is ambiguous and throws this error.","triggerScenarios":"A workspace config entry sets the remove flag for project {id} while also setting root, metadata, depends, depends_add, or depends_remove; detected while validating the project config.","commonSituations":"Hand-editing a config to remove a project but leaving its other settings in place; tooling merging a removal override with pre-existing per-project overrides.","solutions":["Delete the leftover root/metadata/depends/depends_add/depends_remove fields from the removed project's entry","Keep only the removal marker on the removed project entry","If you meant to reconfigure rather than remove, drop the removal marker instead"],"exampleFix":"# before\n[workspace.project.old-app]\nremoved = true\nroot = \"old-app\"\n# after\n[workspace.project.old-app]\nremoved = true","handlingStrategy":"validation","validationCode":"fn removed_project_is_tombstone(cfg: &ProjectConfig) -> Result<(), String> {\n    if cfg.removed\n        && (cfg.root.is_some()\n            || cfg.metadata.is_some()\n            || cfg.depends.is_some()\n            || !cfg.depends_add.is_empty()\n            || !cfg.depends_remove.is_empty())\n    {\n        return Err(\"removed project entries must contain only the removal marker\".into());\n    }\n    Ok(())\n}","typeGuard":null,"tryCatchPattern":"if let Err(e) = validate_project_config(&cfg) {\n    if e.to_string().contains(\"cannot define other overrides\") {\n        eprintln!(\"strip extra fields from the removed-project entry\");\n    }\n}","preventionTips":["Treat removed=true entries as tombstones: never merge them with other override fields","When tooling merges config layers, filter out non-removal keys for removed projects","Review diffs for removal entries before committing config changes"],"tags":["workspace","config","conflicting-overrides"],"backgroundTag":"conflicting-config-options","analyzedSha":"533346cc374382b41ec5ff70536252b2e96e725c","analyzedAt":"2026-09-17T13:35:38.149Z","contentChangedAt":"2026-09-17T13:35:38.149Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}