# Reported issues for gflow-cli

Pod holds 17 of 22 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [gflow-cli](/mcp/gflow-cli).

## Most discussed

### macOS: generation runs on bundled Playwright Chromium despite .gflow_browser_strategy=chrome →   401 AuthExpiredError on createProject

Environment
  - gflow-cli 0.22.0 (uv tool install gflow-cli)
  - macOS (Apple Silicon)
  - System Google Chrome installed; Google AI account with Flow access + credits (Flow web UI works fine)

  Steps to reproduce
  1. gflow auth login --profile <name> --browser chrome — signed in fully; the Flow editor and my projects
  loaded; closed the browser. Verified OK:
  [info] auth_flow_session_verified  source=chrome strategy=chrome user_email=<redacted>
  [OK] Flow session verified (<redacted>).…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/222) · 2026-06-29 · closed · outside contributor · 18 comments

### project.createProject returns 401 on the browser context while the on-disk Flow session is valid

## Symptom

`uploadImage` via the **experimental `evaluate_fetch` transport** returns
`Unauthorized` while the Flow session is verifiably healthy.

```
tests/e2e/test_aisandbox_auth_live.py::test_rest_upload_image_authenticates_after_sapisidhash
gflow_cli.errors.AuthExpiredError: Authentication expired: Unauthorized
```

Found by the first live run of the nightly canary (#502 / #560) on 2026-08-20.

## Why this is not session rot

`gflow auth status` was run **immediately after** the failure,…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/561) · 2026-08-20 · closed · 9 comments

### video r2v: UiSelectorDriftError probe=mode_switch_trigger — new Flow editor variant (composer frame slots + Agente toggle) not recognized (v0.55.0)

## Title

`video r2v` fails with UiSelectorDriftError: probe=mode_switch_trigger not found (v0.55.0)

## Body

**gflow-cli:** 0.55.0 (also reproduced on 0.53.1 before upgrading)
**Python:** 3.14.5
**OS:** macOS (Darwin)
**Command:** `gflow video r2v --ref master.jpg --ref ref_pose.jpg --ref ref_logo.jpg --model omni-flash --duration 4 "<prompt>"` (invoked via `flow_reel_pipeline.py`, a wrapper script)
**Auth:** confirmed valid/verified (`gflow auth status` shows session present, `gflow auth…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/493) · 2026-08-13 · closed · external user · 8 comments

### RecaptchaError on migrated Flow host with gflow-cli 0.69.0 (image i2i)

I'm still hitting the original RecaptchaError path for `image i2i` on a migrated Flow account, even after upgrading to gflow-cli v0.69.0.

Environment:
- OS: Windows 10/11 (********)
- gflow-cli: 0.69.0
- Python: 3.14.0 (from incident report)
- Fresh `gflow auth login --profile *********** --browser chrome` succeeded
- Flow session was verified successfully (`[OK] Flow session verified`)
- Command: `gflow image i2i "<prompt text>" --ref ********** --project ********* --aspect 16:9 -o…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/692) · 2026-09-06 · closed · external user · 7 comments

### bug: auth check + browserless cookie harvest keyed on labs.google cookie that flow.google.com never receives

## Summary

On Flow's migrated `flow.google.com` origin, the Google SSO session **is** the Flow session — but gflow's auth check and browserless cookie harvest are both still keyed on the `labs.google`-scoped NextAuth cookie, which is never sent to the new host.

Measured 2026-09-03 on `ffroliva` and `denon82`, read-only, zero credits.

## The measurement

```
__Secure-next-auth.session-token   domain: labs.google   -> NOT sent to flow.google.com

cookies actually SENT to flow.google.com:…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/644) · 2026-09-03 · open · 5 comments

### MCP Registry publish: release: published can never fire, and workflow_dispatch publishes the ref's version (found by v0.76.0)

## Two defects in the MCP Registry publish (#829), both found by v0.76.0 — the first release that could exercise it

#829 shipped in v0.76.0 and its live behaviour was recorded as *"cannot be verified until this tag reaches `main`"* in `docs/LIVE_VERIFICATION_v0.76.0.md`. It is verifiable now, and it did not work.

---

## 1. `release: published` can never fire — the Release is created with `GITHUB_TOKEN`

`mcp-registry.yml` triggers on:

```yaml
on:
  release:
    types: [published]
```…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/841) · 2026-09-16 · closed · 3 comments

### Bundle: no-project generation on flow.google.com (createProject 401 as expired login) + MCP profile contention

Tracking issue: these reports share one cause and will be fixed and shipped together.

## Symptom

Generating **without a project** (`gflow image t2i` / `gflow video t2v` with no `--project`, or the MCP `gflow_generate_image` / `gflow_generate_video` tools with no `project`) starts by creating a scratch project through `labs.google/fx/api/trpc/project.createProject`. On accounts Flow serves from `flow.google.com`, that call has been observed returning **HTTP 401**. gflow reports it as…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/864) · 2026-09-17 · closed · 2 comments

### Migrated host: picker lists uploads with 'image' prepended, so the exact-name frame/ref search never binds — video i2v is unreachable by either route

## Summary

On the migrated `flow.google.com` host, the media picker lists an upload with **`image`
prepended to its display name**, and the picker search matches on the exact stem — so it never
binds. The searched name is a **substring** of the listed name, which the error message itself
prints side by side:

```
the frame picker lists no asset named 's1-cbbc098b.jpg' after 3 searches of 8s
(media d1c34471-eb88-486e-ae56-3624503abfda) — the tag after the stem is expected: gflow
uploads under a…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/860) · 2026-09-17 · open · 2 comments

## Most recent

### Migrated host: a role=dialog promo overlay blocks .settings-trigger-button — dismissal gates never run, reported as UiSelectorDriftError

## Summary

On the migrated `flow.google.com` host, a `role="dialog"` promo overlay sitting over a freshly
loaded editor makes `image t2i` fail as **`UiSelectorDriftError` (exit 23)** — *"`.settings-trigger-button`
did not accept a click within 5000 ms — it is covered by `div.cdk-overlay-backdrop.cdk-overlay-backdrop-showing`"*.

`_dismiss_dialog` already exists and its selector (`DIALOG = "[role='dialog']"`) **does match this
overlay**. The problem is ordering: on this path the…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/859) · 2026-09-17 · open · 1 comment

### gflow update can leave the install BROKEN — a locked greenlet DLL aborts mid-upgrade and 0.69.0 stops working too

## What happened

`gflow update` on Windows, upgrading 0.69.0 → 0.76.0. It failed **and left the installation unusable** — worse than not upgrading at all.

```
error: Failed to upgrade gflow-cli
  Caused by: failed to remove file
  `...\uv\tools\gflow-cli\Lib\site-packages\greenlet/_greenlet.cp313-win_amd64.pyd`:
  Access is denied. (os error 5)
```

`gflow update` reported the failure correctly and exited with a `ConfigurationError` naming the right remediation. But the **install was already…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/848) · 2026-09-16 · closed · 1 comment

### Clean Windows install is unusable: ConsoleRenderer(colors=True) needs colorama, which is not a declared dependency

## Summary

On a clean Windows install, **every** gflow-cli command aborts with a `SystemError` before doing any work. `configure_logging` builds `structlog.dev.ConsoleRenderer(colors=True)`, which on Windows requires `colorama` — but `colorama` is not in `Requires-Dist`, and none of the declared dependencies pull it in.

## Reproduction

```powershell
uv init --python 3.13 tmpflow ; cd tmpflow
uv add gflow-cli
uv run gflow auth login --browser chrome
```

Observed on gflow-cli 0.76.0, Python…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/846) · 2026-09-16 · closed · external user · 2 comments

### video t2v silently drops --reference-entity on the migrated host and bills the generation

## Summary

On the migrated `flow.google.com` host, `gflow video t2v --reference-entity <id>` (and the `@Name` form, which resolves to the same field) appears to **submit with the entity silently dropped, and bill the generation**. The user gets a clip of a stranger and no warning.

R2V has an explicit guard for this. T2V does not.

## Where

`src/gflow_cli/api/transports/migrated_composer.py`, `_unported_form()`:

```python
if request.mode is Mode.T2V:
    return None                      #…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/716) · 2026-09-07 · closed · 0 comments

### labs.google: a cohort with no duration control fails as selector drift (exit 23) after ~40s instead of exit 11 immediately

## Summary

On `labs.google`, an account/model cohort that renders **no duration control at all** fails as `UiSelectorDriftError` (exit 23) after ~40 seconds. It should fail as `ConfigurationError` (exit 11), immediately, with a remediation that names the model workaround.

The migrated `flow.google.com` composer already does exactly this. The labs path never got the same fix, so gflow currently behaves **better on the newer host than on the older one**.

## Where…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/681) · 2026-09-05 · open · 0 comments

### Moved account: `image` commands die with RecaptchaError (exit 1) before the exit-36 guard fires

Split out of #639, where two independent accounts reported the same outcome on the image path after Google moved them to `flow.google.com`.

## Symptom

`gflow image t2i` / `image i2i` on a fully migrated account exits **1 `RecaptchaError`** — not 36 `FlowHostMigratedError`, which is what `docs/USAGE.md` and `KNOWN_ISSUES.md` say a moved account gets for the not-yet-ported commands. Zero credits, no submit, but the error names the wrong cause and its remediation points at reCAPTCHA, not at the…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/673) · 2026-09-05 · closed · 1 comment

### migrated host: t2v fails on submit-enable race after insert_text (~100 ms); waiting for the button fixes it

## Summary

On the migrated host, `video t2v` fails with `UiSelectorDriftError` "the submit button (arrow_forward) is missing or disabled after the prompt was typed" because `migrated_composer.py` checks `is_enabled()` immediately after `keyboard.insert_text`, and the Angular composer enables the button roughly 100 ms later. Waiting for the button fixes it; the clip then generates normally.

## Environment

gflow-cli 0.67.0, Linux (Fedora), Python 3.14, real Chrome via Playwright persistent…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/670) · 2026-09-05 · closed · outside contributor · 0 comments

### mcp: gflow_generate_video accepts any duration when model is omitted (duration=99 queues)

Found by the D15 surface-parity reviewer on #650's third council round. **Pre-existing on `develop`, not introduced by #650** — verified by comparing both trees, so it was filed rather than blocking that merge.

## Repro

```
gflow_generate_video(prompt="x", mode="t2v", duration=99)   -> ACCEPT (queued)
gflow video t2v "x" --duration 99                            -> Invalid value for '--duration': '99' is not one of '4','6','8','10'
GenerateVideoRequest(mode=T2V, prompt="x", duration=99)…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/659) · 2026-09-04 · closed · 0 comments

### chore(mcp): remove the gflow_list_characters stub (misleading empty list)

## Problem

`gflow_list_characters` unconditionally returns `{"status": "ok", "characters": [], "note": "...Use gflow character list..."}` (`src/gflow_cli/mcp/tools.py:1170-1178`), and its test asserts the stub (`tests/mcp/test_server.py:353-358`).

To an agent, an `ok` envelope with `characters: []` reads as **"you have no characters"** — an active lie, worse than the tool not existing. An agent will act on it (e.g., decline to use `@Name` character references because "the user has none").…

[Read the thread](https://github.com/ffroliva/gflow-cli/issues/499) · 2026-08-13 · closed · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/ffroliva/gflow-cli/issues).
