npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

codex-gui-proxy

v0.1.4

Published

Detect and configure proxy environment for the macOS Codex GUI app server.

Readme

codex-gui-proxy

Detect and configure proxy environment variables for the macOS Codex GUI app server, and report stale Codex CLI sessions separately.

Why this exists

Codex CLI and Codex GUI do not start from the same environment.

  • Codex CLI is launched from your shell, so it usually inherits HTTP_PROXY, HTTPS_PROXY, and ALL_PROXY from .zshrc, .zprofile, or the current terminal.
  • Codex GUI is launched by Finder, Dock, or LaunchServices. It inherits the macOS GUI launchd environment, not your shell startup files.
  • The Codex desktop app has a web UI process and a separate local Rust codex app-server process. Chromium may use macOS system proxy settings, while the Rust app-server relies on process environment variables for HTTP clients.

When the GUI app-server starts without proxy env vars, it can repeatedly time out while connecting to chatgpt.com remote-control or response endpoints. The visible symptom is Codex GUI staying in a reconnecting loop even though Codex CLI works.

Usage

npx codex-gui-proxy check
npx codex-gui-proxy clean --dry-run
npx codex-gui-proxy set --proxy 127.0.0.1:7890

Equivalent bin aliases:

npx codex-gui-proxy-check
npx codex-gui-proxy-clean --dry-run
npx codex-gui-proxy-set --proxy 127.0.0.1:7890

set creates or updates ~/Library/LaunchAgents/com.local.codex-gui-proxy.plist, loads it into the current GUI session, and immediately sets the same variables with launchctl setenv. It does not depend on any pre-existing LaunchAgent on the target machine.

Pass only the proxy address, such as 127.0.0.1:7890. The CLI expands it to protocol-specific defaults internally:

HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890
ALL_PROXY=socks5://127.0.0.1:7890

If you pass an explicit URL such as http://127.0.0.1:7890 or socks5://127.0.0.1:7890, the CLI respects that protocol for all proxy variables.

Restart Codex after running set; already-running GUI codex app-server processes do not inherit new environment variables.

Already-running Codex CLI sessions are different. They inherit proxy variables from the shell that launched them, not from the macOS GUI launchd environment. check reports active CLI processes and CLI-owned stdio helpers so you can tell whether a slow CLI session is using old shell env instead of blaming the GUI proxy setup.

check works without arguments. Pass --proxy only when your expected proxy is not 127.0.0.1:7890.

If check reports old --listen stdio:// app-server processes without proxy variables, that does not necessarily mean the reconnecting path is broken. The main GUI reconnecting path is the --analytics-default-enabled app-server. Stdio helper processes are now grouped by parent chain:

  • Codex GUI stdio helpers belong to the desktop app and clear after restarting Codex.
  • Codex CLI stdio helpers belong to terminal CLI sessions and clear after restarting those CLI sessions.
  • Codex other stdio helpers are reported as informational when the parent chain is not recognizable.

Cleanup

clean removes only process classes that are safe to prove stale:

  • orphan headless automation Chrome processes using temporary rod user data
  • orphan Codex crashpad handlers for inactive Codex Framework versions
  • orphan old Codex Electron crashpad handlers

It does not kill the current Codex GUI, current Codex CLI sessions, visible Chrome windows, or stdio helper transports that belong to active parent processes.

Run dry-run first:

npx codex-gui-proxy clean --dry-run

Then apply:

npx codex-gui-proxy clean --apply