# Gemini CLI 卡在 Waiting for auth，浏览器过了终端还在转

**URL:** <https://www.shiqidu.com/t/topic/1779>\
**Category:** 问题求助\
**Tags:** 问与答, Gemini, AICoding\
**Created:** [2026 年10 月 25 日 07:49 UTC](https://www.shiqidu.com/t/topic/1779 "2026-10-25T07:49:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

作者： ![shiqidu\_editor](https://www.shiqidu.com/user_avatar/www.shiqidu.com/shiqidu_editor/32/528_2.png) [@shiqidu\_editor](https://www.shiqidu.com/u/shiqidu_editor)\
发布日期： [2026 年10 月 25 日 07:49 UTC](https://www.shiqidu.com/t/topic/1779/1 "2026-10-25T07:49:17Z")

</div>

选了 `Login with Google`，浏览器里账号授完权，回到终端还挂着：

```plaintext
Waiting for auth... (Press ESC to cancel)

```

有时网页已经提示成功了，CLI 还是不往下走。先别以为账号出了问题，对照官方认证页，把登录方式、Workspace、代理这几块分开查。

## 官方这条登录依赖什么

文档里说得很清楚：本机交互式推荐 `Login with Google`（Google AI Pro / Ultra 订阅也走这条，用绑定订阅的那个 Google 账号）。CLI 会开浏览器；授权结束后浏览器要跳回 CLI 在本机监听的 `localhost` 回调。官方原话大意是：浏览器所在机器得能跟跑 CLI 的终端通信。

所以浏览器那边点完只算完成了一半。后面还有 CLI 去 `oauth2.googleapis.com` 换 token、本地回调把结果交回进程。任一步断了，界面就会一直 `Waiting for auth`，或者网页侧变成 sign-in failed。

交互菜单另外还有 `Use Gemini API key`（AI Studio 的 `GEMINI_API_KEY`）和 `Vertex AI`。无头 / 非交互环境，官方明确说没有缓存凭证时要用环境变量，浏览器登录指望不上。本机有浏览器的，先把默认的 Google 登录排查通；API Key、Vertex 是另外两种方式，配额和计费也不一样。

## 终端有没有走代理

浏览器开了系统代理 / TUN，不代表敲 `gemini` 的那个 shell 也能打到 Google OAuth。公开 issue 里，换票阶段超时很常见，报错类似：

```plaintext
Failed to exchange authorization code for tokens:
request to https://oauth2.googleapis.com/token failed

```

维护者后来写明：认证路径认的是 `HTTP_PROXY` / `HTTPS_PROXY`；`settings.json` 里配 proxy、旧的 `--proxy` 对登录不可靠甚至已不支持。变量要写在实际启动 gemini 的那个会话里，改完重开终端再登。代理端口还活着也要确认：环境变量指着旧端口时，浏览器走系统规则没事，CLI 就会一直超时。

回调是 `localhost`。代理规则若把本机环回也送进隧道，浏览器授完权却打不回 CLI。需要时给当前会话加上 `NO_PROXY=localhost,127.0.0.1`（以及你环境里用的 `::1`）。公司网 TLS 解密时，troubleshooting 还提到 Node 可能要 `NODE_EXTRA_CA_CERTS` 指向公司根证书，这是证书信任的问题，跟终端没走代理是两回事。

## GOOGLE\_CLOUD\_PROJECT 什么时候该设

官方认证页把 `GOOGLE_CLOUD_PROJECT` 标成 Login with Google 下的可选项，但下面几种情况必须设：

- Google Workspace 账号
- Gemini Code Assist（含 Developer Program / 订阅许可）
- 在免费个人用量不支持的地区使用
- 未满 18 岁的 Google 账号

这时要有 Cloud 项目 ID，启用 Gemini for Cloud API，并配好 IAM。设置方法：

```bash
export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_ID"

```

可写进 shell 配置，或放进 `~/.gemini/.env`（CLI 会从当前目录向上找 `.env`，也认 `~/.gemini/.env`；找到第一个就加载，不合并）。

首页也对组织付费 Code Assist 写了同样提醒：有组织许可时记得设 Project。Workspace / 组织许可走的是 Code Assist 那条资格，和个人免费档不是同一套检查。

反过来，个人免费 / AI Pro / AI Ultra 用个人 Google 账号登录时，乱设 `GOOGLE_CLOUD_PROJECT` / `GOOGLE_CLOUD_PROJECT_ID` 会让 CLI 去走组织订阅的资格检查。troubleshooting 里有过「必须是组织 Gemini Code Assist Standard 的 named user」一类报错，原因就是检测到这些变量。个人账号先 `printenv | grep GOOGLE_CLOUD`，不该有的就 `unset`，并检查 `.bashrc` / `.zshrc` / `.gemini/.env` 里有没有残留。

Workspace 账号若踩到 `Failed to login. Message: Request contains an invalid argument`，官方 troubleshooting 给的方向是：给 Cloud 账号设上 `GOOGLE_CLOUD_PROJECT`，或改走 AI Studio 的 `GEMINI_API_KEY`（单独免费档）。

## 还卡在 Waiting 的话

浏览器已授权、终端还在转：看当前 shell 的 `HTTP_PROXY`/`HTTPS_PROXY` 是否指向活着的代理；`NO_PROXY` 是否放过 localhost；回调端口有没有被占或被劫持。账号侧：Workspace / Code Assist / 官方列出的特殊情形要有合法 Project；个人订阅反而先清掉误设的 Project 变量。无头机没有可用浏览器回调时，官方路径是 API Key 或 Vertex 环境变量，别干等 `Waiting for auth`。

还卡着的话，把是不是 Workspace 账号、环境里有没有 `GOOGLE_CLOUD_PROJECT`、代理变量，以及换 token 的报错原文贴出来，好查一些。

参考：

- 认证说明：[https://google-gemini.github.io/gemini-cli/docs/get-started/authentication.html](https://google-gemini.github.io/gemini-cli/docs/get-started/authentication.html)
- 排错：[Troubleshooting guide | gemini-cli](https://google-gemini.github.io/gemini-cli/docs/troubleshooting.html)
