These are the fastest practical workflows for gstack-windows on Windows + Codex.
From the project you want Codex to work inside:
browse login-session headed https://www.douyin.com/Then:
- Sign in manually in the opened browser window
- Confirm the homepage loads correctly
- Switch to headless reuse:
browse login-session headlessVerify:
browse goto https://www.douyin.com/
browse snapshot -i
browse screenshotbrowse login-session status
browse goto https://www.douyin.com/
browse cookies
browse storageIf the site suddenly behaves as logged out, reopen the saved profile in headed mode:
browse login-session headed https://www.douyin.com/Use this when you want something you can attach to an issue or share with a teammate:
browse console --clear
browse network --clear
browse goto https://target-site.com/
browse snapshot -i -a -o ".gstack\\annotated.png"
browse screenshot ".gstack\\page.png"
browse console
browse networkbrowse login-session headed https://internal.example.com/After manual sign-in:
browse login-session headless
browse goto https://internal.example.com/
browse snapshot -i
browse click @e3
browse snapshot -DThis is usually the best flow for admin panels, staging apps, feature-flag dashboards, and private QA environments.
browse goto https://target-site.com/
browse responsive ".gstack\\auth-layout"That saves:
.gstack\auth-layout-mobile.png.gstack\auth-layout-tablet.png.gstack\auth-layout-desktop.png
browse login-session status
browse goto https://target-site.com/
browse console
browse network
browse dialogIf the page redirects back to login, the usual causes are:
- the site invalidated the session
- CAPTCHA or anti-bot checks appeared
- the site binds auth more tightly to headed browsing
In that case, retry with:
browse login-session headed https://target-site.com/browse cookie-import-browserOr target a known domain:
browse cookie-import-browser chrome --domain douyin.comIf Windows reports a decryption limitation, stop fighting it and switch to the persistent session flow instead.
browse login-session stop
browse statusThis disables persistent-profile mode but keeps the saved profile on disk, so you can reopen it later with:
browse login-session headed