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.
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
- gflow auth login --profile
--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= [OK] Flow session verified ( ).…
Read the thread · 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 · 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 · 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 chromesucceeded - Flow session was verified successfully (
[OK] Flow session verified) - Command: `gflow image i2i "
" --ref ********** --project ********* --aspect 16:9 -o…
Read the thread · 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 · 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 · 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 · 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
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 · 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():
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 · 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 · 2026-08-13 · closed · 0 comments
The remaining reports are on the project's issue tracker.