{
  "id": "pip/git-clone-authentication-failure",
  "signature": "ERROR: Command errored out with exit status 128: git clone --filter=blob:none 'https://github.com/user/private-repo.git' /tmp/pip-req-build-xxxxx. Check the logs for full command output.",
  "signature_zh": "错误：命令以退出状态 128 出错：git clone --filter=blob:none 'https://github.com/user/private-repo.git' /tmp/pip-req-build-xxxxx。检查日志以获取完整命令输出。",
  "regex": "Command errored out with exit status 128: git clone",
  "domain": "pip",
  "category": "auth_error",
  "subcategory": null,
  "root_cause": "Pip failed to clone a private Git repository because the user has not provided valid authentication credentials (e.g., SSH key, personal access token, or password) for the remote Git server.",
  "root_cause_type": "generic",
  "root_cause_zh": "Pip 克隆私有 Git 仓库失败，因为用户未提供有效的身份验证凭据（例如 SSH 密钥、个人访问令牌或密码）给远程 Git 服务器。",
  "versions": [
    {
      "version": "pip 21.0+",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Git 2.30+",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "Python 3.10",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "Using https:// URL without credentials and expecting cached credentials to work",
      "why_fails": "Git credential caching may be expired or misconfigured, and pip does not prompt for credentials interactively in non-TTY environments.",
      "fail_rate": 0.5,
      "condition": "",
      "sources": []
    },
    {
      "action": "Setting git config --global http.proxy incorrectly",
      "why_fails": "Wrong proxy settings can cause authentication to be routed incorrectly or block the connection entirely.",
      "fail_rate": 0.3,
      "condition": "",
      "sources": []
    },
    {
      "action": "Using sudo pip install with a personal SSH key",
      "why_fails": "Running pip as root changes the SSH agent context, often losing access to the user's SSH keys.",
      "fail_rate": 0.6,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Use a personal access token in the URL: pip install git+https://<token>@github.com/user/private-repo.git",
      "success_rate": 0.9,
      "how": "Use a personal access token in the URL: pip install git+https://<token>@github.com/user/private-repo.git",
      "condition": "",
      "sources": []
    },
    {
      "action": "Configure SSH key and use SSH URL: pip install git+ssh://git@github.com/user/private-repo.git",
      "success_rate": 0.85,
      "how": "Configure SSH key and use SSH URL: pip install git+ssh://git@github.com/user/private-repo.git",
      "condition": "",
      "sources": []
    },
    {
      "action": "Clone the repo manually first, then install from local path: git clone https://github.com/user/private-repo.git /tmp/repo && pip install /tmp/repo",
      "success_rate": 0.95,
      "how": "Clone the repo manually first, then install from local path: git clone https://github.com/user/private-repo.git /tmp/repo && pip install /tmp/repo",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "在 URL 中使用个人访问令牌：pip install git+https://<token>@github.com/user/private-repo.git",
    "配置 SSH 密钥并使用 SSH URL：pip install git+ssh://git@github.com/user/private-repo.git",
    "首先手动克隆仓库，然后从本地路径安装：git clone https://github.com/user/private-repo.git /tmp/repo && pip install /tmp/repo"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://pip.pypa.io/en/stable/topics/vcs-support/",
  "official_doc_section": null,
  "error_code": "ERROR",
  "verification_tier": "ai_generated",
  "confidence": 0.87,
  "fix_success_rate": 0.88,
  "resolvable": "true",
  "first_seen": "2023-06-05",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}