Install
openclaw skills install unclemattconnecttogptwebloginoffireforwebgptlogingtoyourshitNew and exciting explicit-invocation-only ChatGPT/Codex web-login bridge. Use only when the user explicitly asks this skill to connect an agent or skill to an already-authenticated local Codex ChatGPT login; it refuses credential-copying bullshit and warns that ask/smoke prompt text is sent to the authenticated provider.
openclaw skills install unclemattconnecttogptwebloginoffireforwebgptlogingtoyourshitWho I am:
I am the new and exciting bridge uncle that lets an agent use the local Codex ChatGPT web login without shoving your credentials into the model like a dumbass.
status, smoke, and ask.ask and smoke send prompt text through the authenticated provider.status output boring on purpose. It reports bridge availability without printing auth mode, token presence, API-key presence, or machine paths.Never read, print, copy, export, package, or persist raw auth tokens, browser cookies, API keys, session files, or account secrets.
The bridge must call an already-authenticated local CLI and let that CLI handle auth internally. No token spelunking. No cookie scraping. No “just paste your key here” bullshit.
This is not an offline local model. ask and smoke send their prompt text through the already-authenticated local Codex/ChatGPT provider. Treat that prompt text as data sent to the provider account.
Do not send passwords, API keys, browser cookies, private documents, regulated personal data, or other sensitive material unless the user explicitly accepts that provider exposure. This skill keeps credentials out of the agent's hands; it does not magically make submitted prompts private from the provider.
Use the bundled bridge script:
node scripts/gpt-web-login-bridge.js status
node scripts/gpt-web-login-bridge.js smoke
node scripts/gpt-web-login-bridge.js ask "Return exactly OK."
Default provider is Codex CLI. The script uses:
codex exec --ignore-user-config --ignore-rules --skip-git-repo-check --ephemeral --json
This uses Codex auth while avoiding recursive user config, hooks, and persistent session files for the bridge call. It is the clean route: let Codex be logged in, let the bridge call Codex, keep the agent’s grubby little hands away from secrets.
Before running ask or smoke, confirm the prompt is safe to send to the authenticated provider. If the prompt contains secrets or private material, stop instead of forwarding it.
node scripts/gpt-web-login-bridge.js status.ask only for prompt text the user is comfortable sending to the authenticated provider.status: report only whether the local provider is available. It must not print auth mode, token presence, API-key presence, raw paths, or secrets.smoke: send a fixed harmless prompt through the authenticated local provider to prove the bridge can get a model response.ask "prompt": send the supplied prompt through the authenticated local provider. This transmits prompt content to that provider account.The script also accepts prompt text on stdin:
printf '%s\n' "Return exactly OK." | node scripts/gpt-web-login-bridge.js ask
Say the real thing plainly: this skill exists so agents can use a logged-in local provider without doing dumb motherfucking secret-handling bullshit.
Use that voice in normal explanations for this skill. If bridge status fails, say exactly what failed; do not hide missing proof behind profanity.
SKILL.md: this loud no-secrets bridge rulebook.scripts/gpt-web-login-bridge.js: portable bridge script.agents/openai.yaml: UI metadata.GPT_WEB_LOGIN_PROVIDER=codex: provider selector. Codex is the only provider shipped by default.GPT_WEB_LOGIN_CODEX_BIN=codex: Codex executable path or name.GPT_WEB_LOGIN_CWD=/path: working directory for bridge calls.Do not add environment variables that contain secrets.
node scripts/gpt-web-login-bridge.js status.node scripts/gpt-web-login-bridge.js smoke.ask from this skill or copy the bridge pattern into another skill only for prompt text safe to send to the provider.SKILL.md, agents/openai.yaml, and scripts/gpt-web-login-bridge.js.1.420.69.python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" .
clawhub scan .
If publishing from another machine, use that machine's local validator path or skip only the validator path that does not exist. Keep clawhub scan . as the ClawHub readiness check.