{"record":{"id":"b008015cb3cc102f","repo":"warpdotdev/warp","slug":"permission-update-failed","errorCode":"permission_update_failed","errorMessage":"permission_update_failed","messagePattern":"permission_update_failed","errorType":"exception","errorClass":"MergeError","httpStatus":null,"severity":"error","filePath":"resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py","lineNumber":423,"sourceCode":"        )\n        if not candidate.exists() and not candidate.is_symlink():\n            return candidate\n    raise MergeError(\"backup_name_unavailable\")\n\n\ndef apply_plan(\n    plan: MergePlan,\n    destination: Path,\n    destination_config: ParsedConfig,\n) -> bool:\n    \"\"\"Apply a verified plan. Return whether a content backup was created.\"\"\"\n\n    if not plan.content_change_required:\n        if plan.permission_update_required:\n            try:\n                os.chmod(destination, 0o600, follow_symlinks=False)\n            except (NotImplementedError, OSError) as error:\n                raise MergeError(\"permission_update_failed\") from error\n        return False\n\n    try:\n        destination.parent.mkdir(mode=0o700, parents=True, exist_ok=True)\n    except OSError as error:\n        raise MergeError(\"destination_directory_unavailable\") from error\n    if destination.is_symlink():\n        raise MergeError(\"config_symlink_rejected\")\n\n    stage_descriptor: int | None = None\n    stage_path: Path | None = None\n    try:\n        stage_descriptor, stage_name = tempfile.mkstemp(\n            prefix=f\".{destination.name}.stage-\", dir=destination.parent\n        )\n        stage_path = Path(stage_name)\n        os.fchmod(stage_descriptor, 0o600)\n        with os.fdopen(stage_descriptor, \"wb\", closefd=False) as file:","sourceCodeStart":405,"sourceCodeEnd":441,"githubUrl":"https://github.com/warpdotdev/warp/blob/e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc/resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py#L405-L441","documentation":"Error \"permission_update_failed\" thrown in warpdotdev/warp.","triggerScenarios":"Thrown at resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py:423 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc","analyzedAt":"2026-08-16T08:27:25.381Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}