Project network allowlist changes are silently ignored by the active task

Open
#35,243 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust

Research direction

Start with codex-rs/core/src/config/network_proxy_spec.rs, especially StaticNetworkProxyReloader::maybe_reload(), then inspect refresh_runtime_config() in codex-rs/core/src/session/mod.rs. Determine how an active task should handle project network-policy changes, and verify that a changed allowlist is either applied to the managed proxy or clearly reported as requiring a task restart.

Written by the indexing model from the issue text.

Description

app bug config sandbox
Codex App version

26.721.31836 (build 5828)

CLI: codex-cli 0.145.0

Subscription

ChatGPT Pro

Platform

macOS 27.0 (26A5388g), Apple Silicon

What happened?

A valid project-scoped network allowlist change was not applied to the managed proxy of an already-running task.

After adding this file to the project root:

# Project-scoped access needed to download crates pinned by Cargo.lock.
[features.network_proxy]
enabled = true
domains = { "static.crates.io" = "allow" }
allow_local_binding = false

the TOML parsed successfully, but rerunning:

cargo clippy --all-targets --locked --all-features -- -D warnings

in the same task still failed:

error: failed to download from `https://static.crates.io/crates/atomic-waker/1.1.2/download`

Caused by:
  [56] Failure when receiving data from the peer
  (CONNECT tunnel failed, response 403)

There was no indication that the active task was still using an earlier network-policy snapshot or that a new task was required.

Steps to reproduce
  1. Open a trusted project in Codex App.
  2. Start a task before static.crates.io is allowed.
  3. Run a command that downloads from static.crates.io and observe the proxy 403.
  4. Add the valid project .codex/config.toml shown above.
  5. Rerun the command in the same task.
  6. Observe the same 403.
Expected behavior

Valid project network-domain changes should either:

  1. update the active task's managed proxy for reloadable settings such as domain permissions; or
  2. produce a clear message that the proxy retains its original policy and the task must be restarted.

The configuration should not validate successfully and then be silently ineffective.

Additional information

The behavior appears consistent with the current implementation, although this is source analysis rather than confirmed root-cause proof:

I did not find an existing issue specifically tracking project network-allowlist hot reload for active tasks.

Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.