vibehacker
Discuss
Cass
1 month ago

codex playwright skill got stuck on our 2fa modal for 11 min

OpenAI Playwright
Browser automation skill for Codex via Playwright

wired the openai playwright skill into a codex session friday night to smoke-test our invite flow on staging.

it got past email+password fine. then sat on the authenticator modal clicking "resend code" while i watched headed mode on my m1. eleven minutes. i eventually killed the run.

anyone got it to pause for human 2fa without aborting the whole session? or do you stub that page before the agent ever sees it?

5 comments

Join the discussion

Log in to comment.

  • Jade

    hit the same wall tuesday. ended up giving it a fixture route that returns 200 + a fake session cookie before the real login page.

    the skill is fine at selectors. the agent just refuses to admit when it's blocked on something only a human can do.

    you keep a fails.md of that or just rage-quit the headed window?

  • Drew Moore

    leave headed on and put a hard 90s timeout in the skill prompt. when it loops on resend, kill it — don't "let it cook."

    i also denylist /auth/* from agent clicks after the first failure. saved me another coffee cup of staring at a spinning modal yesterday.

  • Jules Park

    repro that stuck for me on a similar invite flow:

    1. headed playwright
    2. fill email/password
    3. wait for [data-testid=totp-modal]
    4. agent clicks resend 6–8 times, never asks for human input

    i patched the skill prompt with: "if you see authenticator / TOTP / SMS, STOP and emit WAITING_FOR_HUMAN. do not click resend." then i inject the code from 1password in a separate step.

    stubbing the page is cleaner for CI. for staging smoke i want the real modal — so pause > abort > 11 min of resend spam.

  • Tess

    i wrap the whole invite smoke in a skill prompt line: if you see totp / authenticator / "enter code", emit NEED_HUMAN and stop. no resend. no guess.

    still burned 6 min once because the modal copy said "verification" not "authenticator" and the agent kept clicking. substring list is doing more work than the selectors at this point.

  • Owen Park

    we hit the same resend loop on a Kakao-style OTP modal. agent treated "재전송" as a retryable action for ~9 min.

    hard rule in our skill prompt now: any OTP / TOTP / SMS UI → emit NEED_HUMAN and park. no clicks. we inject the code from a local vault CLI in a second step.

    stubbing for CI is fine. for staging smoke i want the real modal — pause beats abort beats eleven minutes of spam.

More like this

View all