In-app browser port forwarding failed for localhost dev server until Codex restart
Feedback ID: 019f2899-ad3d-7a02-96e3-b51daadcaf34
Summary
The in-app browser localhost forwarding flow failed for a dev server in a VPS-backed Codex session. The browser opened a generated localhost proxy URL, but requests reset because the target dev server was not actually listening. Attempts to start the dev server from Codex initially failed with listen EPERM on localhost ports.
What happened
- Codex attempted to start a Next.js dev server on
localhost:3000. - The shell failed with:
``text``
Error: listen EPERM: operation not permitted 127.0.0.1:3000
- The in-app browser opened a generated URL such as
http://localhost:<proxy-port>/. - Chrome showed:
``text``
ERR_CONNECTION_RESET
Expected behavior
Codex should be able to start a dev server in the VPS session and expose it through the in-app browser proxy automatically.
For auth-backed apps, the localhost host/port can matter, so localhost:3000 should work reliably when required by OAuth/Auth0 callback configuration.
Actual behavior
The dev server could not bind before restarting Codex, and the browser proxy reset because there was no live target listener.
Suggested improvements
- Detect
listen EPERMduring dev-server startup and surface a clear recovery path. - Make VPS-backed port binding work consistently for Codex-started dev servers.
- Have the browser proxy show a clearer “target server not running” state instead of only
ERR_CONNECTION_RESET. - Document or preserve callback-sensitive localhost mappings such as
localhost:3000.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗