From 9958d00a1b491ac0b23e8fe35c9417c8f0d6c6b5 Mon Sep 17 00:00:00 2001 From: theDancingDeveloper Date: Fri, 9 Oct 2026 15:36:13 +0000 Subject: [PATCH 01/30] Fail clippy only on diagnostics overlapping a changed hunk A file-level gate still inherits a file's whole upstream lint debt: a PR editing one line of message_processor.rs was failed for a let_and_return elsewhere in that file. The gate now reads the changed line ranges from git diff -U0 and fails only when a warning or error's primary span overlaps one of them. A pure deletion (count 0) overlaps nothing. --- .github/workflows/fork-ci.yml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/fork-ci.yml b/.github/workflows/fork-ci.yml index 1a532e1da686..9b2f4aea2a37 100644 --- a/.github/workflows/fork-ci.yml +++ b/.github/workflows/fork-ci.yml @@ -210,16 +210,22 @@ jobs: for crate in "${crates[@]}"; do args+=(-p "$crate"); done cargo fmt "${args[@]}" -- --check - # -D warnings would fail the PR on upstream lint debt in files it never + # -D warnings would fail the PR on upstream lint debt in lines it never # touched, and a fork patch must not have to fix that. Clippy runs without - # it, and only a warning or error whose primary span is in a file this PR - # changed fails the build. Compile errors are fatal regardless, which + # it, and only a warning or error whose primary span overlaps a hunk this + # PR changed fails the build. Compile errors are fatal regardless, which # `cargo check` above already enforces. - name: cargo clippy shell: bash run: | set -euo pipefail - printf '%s\n' "${{ steps.crates.outputs.files }}" | sed 's|^codex-rs/||' > /tmp/changed-files + base="$(git merge-base HEAD origin/fork/main 2>/dev/null || git merge-base HEAD fork/main)" + # One changed line range per hunk, as "file start count" with the + # codex-rs/ prefix stripped. A count of 0 is a pure deletion. + git diff -U0 "$base"...HEAD -- codex-rs \ + | awk '/^diff --git/{file=$4; sub("^b/codex-rs/","",file)} + /^@@/{split($3,a,","); sub("^+","",a[1]); print file, a[1], (a[2] == "" ? 1 : a[2])}' \ + > /tmp/changed-lines mapfile -t crates < <(printf '%s\n' "${{ steps.crates.outputs.list }}" | sed '/^$/d') (( ${#crates[@]} )) || exit 0 args=() @@ -233,18 +239,22 @@ jobs: cargo clippy "${args[@]}" --all-targets --timings --message-format=json -- -W clippy::all \ > /tmp/clippy.json || true [[ -f cargo-timing.html ]] && cp cargo-timing.html /tmp/cargo-timings/clippy-timing.html - # The gate is by changed file path, so it reads the whole stream once. + # The gate is by changed hunk, so it reads the whole stream once. # Splitting per crate first drops every lint from a crate whose # package id omits the name (cargo does that when the name equals the # directory's last segment: codex-home, codex-api, ...). rm -f /tmp/jq-err - offenders="$(jq -r --slurpfile changed <(jq -R . /tmp/changed-files) ' + offenders="$(jq -r --slurpfile lines <(jq -R 'split(" ") | {file:.[0], start:.[1]|tonumber, count:.[2]|tonumber}' /tmp/changed-lines) ' select(.reason == "compiler-message") | .message | select(.level == "warning" or .level == "error") | . as $m | ($m.spans[] | select(.is_primary)) as $s - | select(any($changed[]; . == $s.file_name)) + | select(any($lines[]; + .file == $s.file_name + and .count > 0 + and $s.line_start <= (.start + .count - 1) + and $s.line_end >= .start)) | "\($s.file_name):\($s.line_start):\($s.column_start): \($m.level): \($m.message)" ' /tmp/clippy.json 2>/tmp/jq-err)" if [[ -s /tmp/jq-err ]]; then @@ -254,7 +264,7 @@ jobs: fi if [[ -n "$offenders" ]]; then echo "$offenders" - echo "clippy findings in files this PR changes" >&2 + echo "clippy findings in lines this PR changes" >&2 exit 1 fi From 052e1b1e282b1aed3e525566fd5b9865ed5d85bb Mon Sep 17 00:00:00 2001 From: theDancingDeveloper Date: Fri, 9 Oct 2026 15:38:49 +0000 Subject: [PATCH 02/30] Use awk regex literals so mawk accepts the diff parse --- .github/workflows/fork-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/fork-ci.yml b/.github/workflows/fork-ci.yml index 9b2f4aea2a37..82b02ffdbdbe 100644 --- a/.github/workflows/fork-ci.yml +++ b/.github/workflows/fork-ci.yml @@ -223,8 +223,8 @@ jobs: # One changed line range per hunk, as "file start count" with the # codex-rs/ prefix stripped. A count of 0 is a pure deletion. git diff -U0 "$base"...HEAD -- codex-rs \ - | awk '/^diff --git/{file=$4; sub("^b/codex-rs/","",file)} - /^@@/{split($3,a,","); sub("^+","",a[1]); print file, a[1], (a[2] == "" ? 1 : a[2])}' \ + | awk '/^diff --git/{file=$4; sub(/^b\/codex-rs\//, "", file)} + /^@@/{split($3,a,","); sub(/^\+/, "", a[1]); print file, a[1], (a[2] == "" ? 1 : a[2])}' \ > /tmp/changed-lines mapfile -t crates < <(printf '%s\n' "${{ steps.crates.outputs.list }}" | sed '/^$/d') (( ${#crates[@]} )) || exit 0 From a1a55b66dc8973711a559f755826c84a758df206 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 15:25:27 +0000 Subject: [PATCH 03/30] Add configurable extra skill roots under [skills] extra_user_roots and extra_project_roots add skill directories beside the built-in ones, which are unchanged when the keys are absent. Each value is relative to its base directory and dropped when it resolves outside it, so the config cannot point skill loading at an arbitrary path. WI-1133 --- codex-rs/config/src/skills_config.rs | 10 +++ codex-rs/ext/skills/src/host_roots.rs | 59 ++++++++++++++++++ codex-rs/ext/skills/src/host_roots_tests.rs | 69 +++++++++++++++++++++ 3 files changed, 138 insertions(+) diff --git a/codex-rs/config/src/skills_config.rs b/codex-rs/config/src/skills_config.rs index 9a8a338fe1e0..1ffe63a59c01 100644 --- a/codex-rs/config/src/skills_config.rs +++ b/codex-rs/config/src/skills_config.rs @@ -53,6 +53,16 @@ pub struct SkillsConfig { #[serde(default, skip_serializing_if = "Vec::is_empty")] pub config: Vec, + + /// Fork (WI-1133): extra user skill roots, relative to the user config + /// directory. The built-in roots are always loaded; these are added. + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub extra_user_roots: Vec, + + /// Fork (WI-1133): extra project skill roots, relative to each directory + /// between the project root and the working directory. + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub extra_project_roots: Vec, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema)] diff --git a/codex-rs/ext/skills/src/host_roots.rs b/codex-rs/ext/skills/src/host_roots.rs index ac2bf3e9cdf8..fb960d0f164b 100644 --- a/codex-rs/ext/skills/src/host_roots.rs +++ b/codex-rs/ext/skills/src/host_roots.rs @@ -4,6 +4,7 @@ use std::sync::Arc; use codex_config::ConfigLayerSource; use codex_config::ConfigLayerStack; +use codex_config::SkillsConfig; use codex_config::default_project_root_markers; use codex_config::merge_toml_values; use codex_config::project_root_markers_from_config; @@ -23,6 +24,40 @@ use crate::loader::HostSkillRoot; const AGENTS_DIR_NAME: &str = ".agents"; const SKILLS_DIR_NAME: &str = "skills"; + +/// The extra roots configured under `[skills]`, or none when the config is +/// absent or invalid. An invalid table warns and changes nothing. +fn extra_skill_roots(config_layer_stack: &ConfigLayerStack, project: bool) -> Vec { + let effective = config_layer_stack.effective_config(); + let Some(value) = effective.as_table().and_then(|table| table.get("skills")) else { + return Vec::new(); + }; + let skills: SkillsConfig = match value.clone().try_into() { + Ok(skills) => skills, + Err(err) => { + tracing::warn!("invalid skills config: {err}"); + return Vec::new(); + } + }; + if project { + skills.extra_project_roots + } else { + skills.extra_user_roots + } +} + +/// Joins `relative` onto `base` and keeps it only when it stays inside `base`. +/// +/// An absolute value, a `..` climb or anything else that resolves outside the +/// base is dropped, so a config cannot point skill loading at arbitrary paths. +fn confined_join(base: &AbsolutePathBuf, relative: &str) -> Option { + let relative = relative.trim().trim_start_matches(['/', '\\']); + if relative.is_empty() { + return None; + } + let joined = base.join(relative); + joined.starts_with(base).then_some(joined) +} const MAX_CONCURRENT_ANCESTOR_PROBES: usize = 256; pub(crate) async fn resolve_skill_roots( @@ -99,6 +134,11 @@ fn roots_from_layer_stack( config_folder.join(SKILLS_DIR_NAME), SkillScope::User, )); + for relative in extra_skill_roots(config_layer_stack, /*project*/ false) { + if let Some(path) = confined_join(&config_folder, &relative) { + roots.push(local_root(path, SkillScope::User)); + } + } if let Some(home_dir) = home_dir { roots.push(local_root( @@ -181,6 +221,25 @@ async fn repo_agents_skill_roots( } } } + for directory in dirs_between_project_root_and_cwd(cwd, &project_root) { + for relative in extra_skill_roots(config_layer_stack, /*project*/ true) { + let Some(path) = confined_join(&directory, &relative) else { + continue; + }; + let uri = PathUri::from_abs_path(&path); + if let Ok(metadata) = repository_file_system + .get_metadata(&uri, GetMetadataOptions::default(), /*sandbox*/ None) + .await + && metadata.is_directory + { + roots.push(HostSkillRoot::host( + path, + SkillScope::Repo, + Arc::clone(&repository_file_system), + )); + } + } + } roots } diff --git a/codex-rs/ext/skills/src/host_roots_tests.rs b/codex-rs/ext/skills/src/host_roots_tests.rs index fa8cb7d8dc2a..021484106f5c 100644 --- a/codex-rs/ext/skills/src/host_roots_tests.rs +++ b/codex-rs/ext/skills/src/host_roots_tests.rs @@ -676,3 +676,72 @@ async fn resolved_config_and_repo_roots_preserve_order_and_dedupe_paths_not_name ] ); } + +/// Fork (WI-1133): `[skills].extra_project_roots` adds a root without dropping +/// `.agents/skills`, and a value that climbs out of the directory is ignored. +#[tokio::test] +async fn extra_project_roots_are_added_and_confined() { + let temp_dir = TempDir::new().expect("temp dir"); + let repository = absolute(temp_dir.path().join("repo")); + fs::create_dir_all(&repository).expect("create repo"); + fs::write(repository.join(".git"), "gitdir: fake\n").expect("write git marker"); + fs::create_dir_all(repository.join(".agents/skills")).expect("built-in root"); + fs::create_dir_all(repository.join(".claude/skills")).expect("extra root"); + + let config = toml::toml! { + [skills] + extra_project_roots = [".claude/skills", "../outside"] + }; + let config_stack = stack(vec![ConfigLayerEntry::new( + ConfigLayerSource::User { + file: repository.join("config.toml"), + profile: None, + }, + toml::Value::Table(config), + )]); + + let roots = repo_agents_skill_roots(Some(Arc::clone(&LOCAL_FS)), &config_stack, &repository) + .await + .into_iter() + .map(|root| root.path) + .collect::>(); + + assert!(roots.contains(&repository.join(".agents/skills"))); + assert!(roots.contains(&repository.join(".claude/skills"))); + assert!( + roots.iter().all(|root| root.starts_with(&repository)), + "a root escaped the project: {roots:?}" + ); +} + +/// Fork (WI-1133): `[skills].extra_user_roots` is added beside the built-in +/// user roots, and a value that leaves the config directory is dropped. +#[test] +fn extra_user_roots_are_added_and_confined() { + let temp_dir = TempDir::new().expect("temp dir"); + let home_folder = absolute(temp_dir.path().join("home")); + let user_folder = home_folder.join("codex"); + let config = toml::toml! { + [skills] + extra_user_roots = [".claude/skills", "../escaped"] + }; + let config_stack = stack(vec![ConfigLayerEntry::new( + ConfigLayerSource::User { + file: user_folder.join("config.toml"), + profile: None, + }, + toml::Value::Table(config), + )]); + + let roots = roots_from_layer_stack(&config_stack, Some(&home_folder), None) + .into_iter() + .map(|root| root.path) + .collect::>(); + + assert!(roots.contains(&user_folder.join("skills"))); + assert!(roots.contains(&user_folder.join(".claude/skills"))); + assert!( + !roots.iter().any(|root| root.ends_with("escaped")), + "a root escaped the config directory: {roots:?}" + ); +} From eaccf56a013517d621bdc225b45a83f2bb2277cf Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 17:12:43 +0000 Subject: [PATCH 04/30] Fill the new skill root fields in the config test SkillsConfig gained extra_user_roots and extra_project_roots, and the bundled-skills assertion builds one by hand. Both default to empty. WI-1133 --- codex-rs/core/src/config/config_tests.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/codex-rs/core/src/config/config_tests.rs b/codex-rs/core/src/config/config_tests.rs index 806bd8082ff8..1dc4a353d6ae 100644 --- a/codex-rs/core/src/config/config_tests.rs +++ b/codex-rs/core/src/config/config_tests.rs @@ -439,6 +439,8 @@ enabled = false include_instructions: Some(false), max_context_tokens: std::num::NonZeroUsize::new(1_200), config: Vec::new(), + extra_user_roots: Vec::new(), + extra_project_roots: Vec::new(), }) ); From 2eb434ee63eb5f763c010b5a868e2df133995fe9 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 19:54:52 +0000 Subject: [PATCH 05/30] Regenerate the config schema for the extra skill roots extra_user_roots and extra_project_roots are part of SkillsConfig, so the committed config.schema.json fixture has to include them. WI-1133 --- codex-rs/core/config.schema.json | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/codex-rs/core/config.schema.json b/codex-rs/core/config.schema.json index 5864a5df77c6..df2c53462c42 100644 --- a/codex-rs/core/config.schema.json +++ b/codex-rs/core/config.schema.json @@ -4269,6 +4269,20 @@ }, "type": "array" }, + "extra_project_roots": { + "description": "Fork (WI-1133): extra project skill roots, relative to each directory between the project root and the working directory.", + "items": { + "type": "string" + }, + "type": "array" + }, + "extra_user_roots": { + "description": "Fork (WI-1133): extra user skill roots, relative to the user config directory. The built-in roots are always loaded; these are added.", + "items": { + "type": "string" + }, + "type": "array" + }, "include_instructions": { "description": "Whether turns receive the automatic skills instructions block.", "type": "boolean" From a0a515ba17fe95e08c100c43919f8cc034d56f1d Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 23:06:16 +0000 Subject: [PATCH 06/30] Fix hermeticity of repo ancestry test without project markers Set project_root_markers = [] via a User config layer so the test does not depend on ancestor directories of the temp dir (e.g. a real .git). --- codex-rs/ext/skills/src/host_roots_tests.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/codex-rs/ext/skills/src/host_roots_tests.rs b/codex-rs/ext/skills/src/host_roots_tests.rs index 021484106f5c..4584f15687d1 100644 --- a/codex-rs/ext/skills/src/host_roots_tests.rs +++ b/codex-rs/ext/skills/src/host_roots_tests.rs @@ -406,7 +406,22 @@ async fn repo_ancestry_without_project_marker_does_not_walk_parents() { fs::create_dir_all(outer.join(".agents/skills")).expect("create outer skills"); fs::create_dir_all(cwd.join(".agents/skills")).expect("create cwd skills"); - let roots = repo_agents_skill_roots(Some(Arc::clone(&LOCAL_FS)), &stack(Vec::new()), &cwd) + // Hermetic: disable project-root marker discovery so the test does not + // depend on ancestor directories of the temp dir (e.g. a real .git). + let mut user_config = empty_config(); + user_config.as_table_mut().expect("config table").insert( + "project_root_markers".into(), + toml::Value::Array(Vec::new()), + ); + let config_stack = stack(vec![ConfigLayerEntry::new( + ConfigLayerSource::User { + file: absolute(temp_dir.path().join("home/codex/config.toml")), + profile: None, + }, + user_config, + )]); + + let roots = repo_agents_skill_roots(Some(Arc::clone(&LOCAL_FS)), &config_stack, &cwd) .await .into_iter() .map(|root| root.path) From fdc424e9d2c54536f406e70167480f1a0748e135 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 14:02:53 +0000 Subject: [PATCH 07/30] Add a config-gated Claude Code global-instructions provider When claude_compat_instructions is set, the global user-instructions snapshot also includes ~/.claude/CLAUDE.md and ~/.claude/rules/*.md in sorted order. Line-only @path imports expand to depth 5, are deduped by path, symlink and body, and count against project_doc_max_bytes. The switch defaults off, so upstream behaviour is unchanged. WI-1131 --- codex-rs/Cargo.lock | 2 + codex-rs/app-server/src/mcp_refresh.rs | 8 +- codex-rs/app-server/src/message_processor.rs | 8 +- codex-rs/cli/src/main.rs | 8 +- codex-rs/codex-home/Cargo.toml | 4 +- .../src/instructions/claude_compat.rs | 127 ++++++++++++++++++ .../src/instructions/claude_compat_tests.rs | 77 +++++++++++ codex-rs/codex-home/src/instructions/mod.rs | 18 +++ codex-rs/codex-home/src/lib.rs | 3 + codex-rs/config/src/config_toml.rs | 7 + codex-rs/core/src/config/mod.rs | 5 + 11 files changed, 257 insertions(+), 10 deletions(-) create mode 100644 codex-rs/codex-home/src/instructions/claude_compat.rs create mode 100644 codex-rs/codex-home/src/instructions/claude_compat_tests.rs diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index 1cee1174c2e9..b6363c00db16 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -3671,7 +3671,9 @@ version = "0.0.0" dependencies = [ "codex-extension-api", "codex-utils-absolute-path", + "dirs", "pretty_assertions", + "sha2 0.10.9", "tempfile", "tokio", "tracing", diff --git a/codex-rs/app-server/src/mcp_refresh.rs b/codex-rs/app-server/src/mcp_refresh.rs index ac965523fb22..4e30262c9c85 100644 --- a/codex-rs/app-server/src/mcp_refresh.rs +++ b/codex-rs/app-server/src/mcp_refresh.rs @@ -182,7 +182,7 @@ mod tests { use codex_core::thread_store_from_config; use codex_exec_server::EnvironmentManager; use codex_extension_api::NoopExtensionEventSink; - use codex_home::CodexHomeUserInstructionsProvider; + use codex_home::user_instructions_provider; use codex_login::AuthManager; use codex_login::CodexAuth; use codex_protocol::protocol::SessionSource; @@ -490,9 +490,11 @@ enabled = false queue_service: None, turn_start_admission: None, }), - Arc::new(CodexHomeUserInstructionsProvider::new( + user_instructions_provider( good_config.codex_home.clone(), - )), + good_config.claude_compat_instructions, + good_config.project_doc_max_bytes, + ), /*analytics_events_client*/ None, codex_core::passthrough_image_store(), Arc::clone(&thread_store), diff --git a/codex-rs/app-server/src/message_processor.rs b/codex-rs/app-server/src/message_processor.rs index 6b705c55565e..fb131ab26ff5 100644 --- a/codex-rs/app-server/src/message_processor.rs +++ b/codex-rs/app-server/src/message_processor.rs @@ -82,7 +82,7 @@ use codex_exec_server::EnvironmentManager; use codex_extension_api::TurnStartAdmission; use codex_feedback::CodexFeedback; use codex_goal_extension::GoalService; -use codex_home::CodexHomeUserInstructionsProvider; +use codex_home::user_instructions_provider; use codex_login::AuthManager; use codex_otel::auth_storage::AuthStorageOriginator; use codex_protocol::ThreadId; @@ -354,9 +354,11 @@ impl MessageProcessor { queue_service: queue_service.clone(), turn_start_admission: Some(Arc::clone(&turn_start_admission)), }), - Arc::new(CodexHomeUserInstructionsProvider::new( + user_instructions_provider( config.codex_home.clone(), - )), + config.claude_compat_instructions, + config.project_doc_max_bytes, + ), Some(analytics_events_client.clone()), codex_core::passthrough_image_store(), Arc::clone(&thread_store), diff --git a/codex-rs/cli/src/main.rs b/codex-rs/cli/src/main.rs index 8d062a23979e..1336c9944c7e 100644 --- a/codex-rs/cli/src/main.rs +++ b/codex-rs/cli/src/main.rs @@ -101,7 +101,7 @@ use codex_core::config::resolve_profile_v2_config_path; use codex_features::FEATURES; use codex_features::Stage; use codex_features::is_known_feature_key; -use codex_home::CodexHomeUserInstructionsProvider; +use codex_home::user_instructions_provider; use codex_login::AuthManager; use codex_login::is_workload_identity_selected; use codex_memories_write::clear_memory_roots_contents; @@ -2054,9 +2054,11 @@ async fn run_debug_prompt_input_command( }); } - let user_instructions_provider = Arc::new(CodexHomeUserInstructionsProvider::new( + let user_instructions_provider = user_instructions_provider( config.codex_home.clone(), - )); + config.claude_compat_instructions, + config.project_doc_max_bytes, + ); let auth_manager = AuthManager::shared_from_config(&config, /*enable_codex_api_key_env*/ false).await?; let mut extensions = codex_extension_api::ExtensionRegistryBuilder::new(); diff --git a/codex-rs/codex-home/Cargo.toml b/codex-rs/codex-home/Cargo.toml index 068ec55b4e27..7fd26c4ad5b9 100644 --- a/codex-rs/codex-home/Cargo.toml +++ b/codex-rs/codex-home/Cargo.toml @@ -13,7 +13,9 @@ workspace = true [dependencies] codex-extension-api = { workspace = true } codex-utils-absolute-path = { workspace = true } -tokio = { workspace = true, features = ["fs"] } +dirs = { workspace = true } +sha2 = { workspace = true } +tokio = { workspace = true, features = ["fs", "macros", "rt"] } tracing = { workspace = true } [dev-dependencies] diff --git a/codex-rs/codex-home/src/instructions/claude_compat.rs b/codex-rs/codex-home/src/instructions/claude_compat.rs new file mode 100644 index 000000000000..8b4aa35dc6b4 --- /dev/null +++ b/codex-rs/codex-home/src/instructions/claude_compat.rs @@ -0,0 +1,127 @@ +//! Global user instructions with Claude Code compatibility. +//! +//! Fork-owned (WI-1131). Wraps [`CodexHomeUserInstructionsProvider`] and, when +//! enabled, appends `~/.claude/CLAUDE.md` and then `~/.claude/rules/*.md` in +//! sorted order. Both go through the shared `@import` expander, so a line that +//! is only `@path` is replaced by that file, to depth 5, deduplicated by path, +//! symlink and content, and counted against `project_doc_max_bytes`. + +use std::path::PathBuf; +use std::sync::Arc; + +use codex_extension_api::Instructions; +use codex_extension_api::LoadInstructionsFuture; +use codex_extension_api::LoadedUserInstructions; +use codex_extension_api::UserInstructionsProvider; +use codex_utils_absolute_path::AbsolutePathBuf; + +use super::CodexHomeUserInstructionsProvider; +use super::imports::expand_imports_all; + +const CLAUDE_DIR: &str = ".claude"; +const CLAUDE_MD: &str = "CLAUDE.md"; +const RULES_DIR: &str = "rules"; + +/// Loads the Codex home instructions plus the user's Claude Code files. +#[derive(Clone, Debug)] +pub struct ClaudeCompatUserInstructionsProvider { + inner: CodexHomeUserInstructionsProvider, + /// The user's home directory, where `~/.claude` lives. + user_home: Option, + /// Bytes the appended Claude files may consume in total. + max_bytes: usize, +} + +impl ClaudeCompatUserInstructionsProvider { + /// Creates a provider. `user_home` is the directory holding `.claude`; pass + /// `None` when it cannot be determined and only the Codex home is loaded. + pub fn new( + codex_home: AbsolutePathBuf, + user_home: Option, + max_bytes: usize, + ) -> Self { + Self { + inner: CodexHomeUserInstructionsProvider::new(codex_home), + user_home, + max_bytes, + } + } + + async fn load(&self) -> LoadedUserInstructions { + let mut loaded = self.inner.load_user_instructions().await; + let Some(user_home) = &self.user_home else { + return loaded; + }; + let claude_dir = user_home.join(CLAUDE_DIR); + let mut paths = vec![claude_dir.join(CLAUDE_MD)]; + if let Some(rules) = rule_files(&claude_dir.join(RULES_DIR)).await { + paths.extend(rules); + } + let expanded = expand_imports_all(&paths, Some(user_home), self.max_bytes, None).await; + loaded.warnings.extend(expanded.warnings); + if expanded.files.is_empty() { + return loaded; + } + let claude_text = expanded + .files + .iter() + .map(|file| format!("Contents of {}:\n\n{}", file.path.display(), file.text)) + .collect::>() + .join("\n\n"); + let text = match loaded.instructions.take() { + Some(existing) => format!("{}\n\n{claude_text}", existing.text), + None => claude_text, + }; + loaded.instructions = Some(Instructions { + text, + // The snapshot now spans several files, so no single source path + // describes it. + source: None, + }); + loaded + } +} + +impl UserInstructionsProvider for ClaudeCompatUserInstructionsProvider { + fn load_user_instructions(&self) -> LoadInstructionsFuture<'_> { + Box::pin(async move { self.load().await }) + } +} + +/// `*.md` files directly inside `dir`, sorted by name. `None` when the +/// directory does not exist. +async fn rule_files(dir: &std::path::Path) -> Option> { + let mut entries = match tokio::fs::read_dir(dir).await { + Ok(entries) => entries, + Err(_) => return None, + }; + let mut files = Vec::new(); + while let Ok(Some(entry)) = entries.next_entry().await { + let path = entry.path(); + if path.extension().and_then(|ext| ext.to_str()) == Some("md") { + files.push(path); + } + } + files.sort(); + Some(files) +} + +/// Selects the global user-instructions provider for a runtime. +/// +/// `claude_compat` is the fork's config switch: off keeps upstream behaviour +/// exactly, on appends the user's `~/.claude` files. +pub fn user_instructions_provider( + codex_home: AbsolutePathBuf, + claude_compat: bool, + max_bytes: usize, +) -> Arc { + if claude_compat { + Arc::new(ClaudeCompatUserInstructionsProvider::new( + codex_home, + dirs::home_dir(), + max_bytes, + )) + } else { + Arc::new(CodexHomeUserInstructionsProvider::new(codex_home)) + } +} diff --git a/codex-rs/codex-home/src/instructions/claude_compat_tests.rs b/codex-rs/codex-home/src/instructions/claude_compat_tests.rs new file mode 100644 index 000000000000..419190dd98fe --- /dev/null +++ b/codex-rs/codex-home/src/instructions/claude_compat_tests.rs @@ -0,0 +1,77 @@ +use std::fs; + +use codex_extension_api::UserInstructionsProvider; +use codex_utils_absolute_path::AbsolutePathBuf; +use pretty_assertions::assert_eq; + +use super::ClaudeCompatUserInstructionsProvider; + +fn provider(user_home: &std::path::Path, max_bytes: usize) -> ClaudeCompatUserInstructionsProvider { + let codex_home = tempfile::tempdir().expect("codex home"); + // Leak: the provider only stores the path, and the dir lives until process exit. + let codex_home = Box::leak(Box::new(codex_home)); + ClaudeCompatUserInstructionsProvider::new( + AbsolutePathBuf::try_from(codex_home.path().to_path_buf()).expect("absolute"), + Some(user_home.to_path_buf()), + max_bytes, + ) +} + +#[tokio::test] +async fn claude_md_then_rules_in_sorted_order() { + let home = tempfile::tempdir().expect("home"); + let claude = home.path().join(".claude"); + fs::create_dir_all(claude.join("rules")).expect("rules dir"); + fs::write(claude.join("CLAUDE.md"), "global claude\n").expect("claude md"); + fs::write(claude.join("rules").join("b.md"), "rule b\n").expect("rule b"); + fs::write(claude.join("rules").join("a.md"), "rule a\n").expect("rule a"); + fs::write(claude.join("rules").join("notes.txt"), "not a rule").expect("txt"); + + let loaded = provider(home.path(), 32 * 1024) + .load_user_instructions() + .await; + + let text = loaded.instructions.expect("instructions").text; + let claude_at = text.find("global claude").expect("claude text"); + let a_at = text.find("rule a").expect("rule a"); + let b_at = text.find("rule b").expect("rule b"); + assert!(claude_at < a_at && a_at < b_at, "order was {text:?}"); + assert!(!text.contains("not a rule")); + assert!(loaded.warnings.is_empty()); +} + +#[tokio::test] +async fn rules_import_is_expanded_and_deduplicated() { + let home = tempfile::tempdir().expect("home"); + let claude = home.path().join(".claude"); + fs::create_dir_all(claude.join("rules")).expect("rules dir"); + fs::write(claude.join("shared.md"), "shared once\n").expect("shared"); + fs::write(claude.join("CLAUDE.md"), "@shared.md\n").expect("claude md"); + fs::write(claude.join("rules").join("r.md"), "@../shared.md\n").expect("rule"); + + let loaded = provider(home.path(), 32 * 1024) + .load_user_instructions() + .await; + + let text = loaded.instructions.expect("instructions").text; + assert_eq!(text.matches("shared once").count(), 1, "{text:?}"); +} + +#[tokio::test] +async fn the_budget_covers_claude_files_and_rules_together() { + let home = tempfile::tempdir().expect("home"); + let claude = home.path().join(".claude"); + fs::create_dir_all(claude.join("rules")).expect("rules dir"); + let claude_md = "0123456789abcdef"; + fs::write(claude.join("CLAUDE.md"), claude_md).expect("claude md"); + fs::write(claude.join("rules").join("r.md"), "rule body").expect("rule"); + + let loaded = provider(home.path(), claude_md.len()) + .load_user_instructions() + .await; + + let text = loaded.instructions.expect("instructions").text; + assert!(text.contains(claude_md)); + assert!(!text.contains("rule body"), "rule must be past the budget: {text:?}"); + assert_eq!(loaded.warnings.len(), 1); +} diff --git a/codex-rs/codex-home/src/instructions/mod.rs b/codex-rs/codex-home/src/instructions/mod.rs index a16ad668af3c..dcb4fc79922a 100644 --- a/codex-rs/codex-home/src/instructions/mod.rs +++ b/codex-rs/codex-home/src/instructions/mod.rs @@ -12,6 +12,18 @@ use codex_utils_absolute_path::AbsolutePathBuf; const DEFAULT_AGENTS_MD_FILENAME: &str = "AGENTS.md"; const LOCAL_AGENTS_MD_FILENAME: &str = "AGENTS.override.md"; +// Fork (WI-1131): Claude Code global instructions and the shared @import +// expander. `imports` is public so the per-directory loader (WI-1132) reuses it. +pub mod claude_compat; +pub mod imports; + +#[cfg(test)] +pub(crate) use claude_compat::ClaudeCompatUserInstructionsProvider; +#[cfg(test)] +pub(crate) use imports::MAX_IMPORT_DEPTH; +#[cfg(test)] +pub(crate) use imports::expand_imports; + /// Loads user instructions from a Codex home directory. #[derive(Clone, Debug)] pub struct CodexHomeUserInstructionsProvider { @@ -111,3 +123,9 @@ impl UserInstructionsProvider for CodexHomeUserInstructionsProvider { #[cfg(test)] mod tests; + +#[cfg(test)] +mod imports_tests; + +#[cfg(test)] +mod claude_compat_tests; diff --git a/codex-rs/codex-home/src/lib.rs b/codex-rs/codex-home/src/lib.rs index 7ca5e5807258..cac8f8a4c027 100644 --- a/codex-rs/codex-home/src/lib.rs +++ b/codex-rs/codex-home/src/lib.rs @@ -1,3 +1,6 @@ mod instructions; pub use instructions::CodexHomeUserInstructionsProvider; +pub use instructions::claude_compat::ClaudeCompatUserInstructionsProvider; +pub use instructions::claude_compat::user_instructions_provider; +pub use instructions::imports::expand_imports; diff --git a/codex-rs/config/src/config_toml.rs b/codex-rs/config/src/config_toml.rs index 3e5cc07e6ca6..e85af551e92d 100644 --- a/codex-rs/config/src/config_toml.rs +++ b/codex-rs/config/src/config_toml.rs @@ -336,6 +336,13 @@ pub struct ConfigToml { #[serde(default = "default_project_doc_fallback_filenames")] pub project_doc_fallback_filenames: Option>, + /// Fork (WI-1131): also load the user's global Claude Code instructions + /// (`~/.claude/CLAUDE.md` and `~/.claude/rules/*.md`) into the user + /// instructions snapshot. Off by default, so upstream behaviour is unchanged + /// unless a config sets it. + #[serde(default)] + pub claude_compat_instructions: Option, + /// Token budget applied when storing tool/function outputs in the context manager. pub tool_output_token_limit: Option, diff --git a/codex-rs/core/src/config/mod.rs b/codex-rs/core/src/config/mod.rs index 1eb2cdf83fe8..260785baf764 100644 --- a/codex-rs/core/src/config/mod.rs +++ b/codex-rs/core/src/config/mod.rs @@ -932,6 +932,10 @@ pub struct Config { /// Additional filenames to try when looking for project-level docs. pub project_doc_fallback_filenames: Vec, + /// Fork (WI-1131): load `~/.claude/CLAUDE.md` and `~/.claude/rules/*.md` + /// into the global user-instructions snapshot. Off unless the config sets it. + pub claude_compat_instructions: bool, + /// Token budget applied when storing tool/function outputs in the context manager. pub tool_output_token_limit: Option, @@ -4391,6 +4395,7 @@ impl Config { } }) .collect(), + claude_compat_instructions: cfg.claude_compat_instructions.unwrap_or(false), tool_output_token_limit: cfg.tool_output_token_limit, agents_enabled, agent_max_threads, From 0a6f97d5e0b511efa97aa091412fe96defcd7038 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 14:02:53 +0000 Subject: [PATCH 08/30] Confine @import expansion to the caller's allowed roots expand_imports and expand_imports_all take allowed_roots. None leaves the global user-instructions path unrestricted; a caller that passes project roots gets every file canonicalized and refused, with a warning, when it falls outside them. A symlink or .. climb is caught because the check runs after canonicalization. WI-1131 --- .../codex-home/src/instructions/imports.rs | 332 ++++++++++++++++++ .../src/instructions/imports_tests.rs | 189 ++++++++++ 2 files changed, 521 insertions(+) create mode 100644 codex-rs/codex-home/src/instructions/imports.rs create mode 100644 codex-rs/codex-home/src/instructions/imports_tests.rs diff --git a/codex-rs/codex-home/src/instructions/imports.rs b/codex-rs/codex-home/src/instructions/imports.rs new file mode 100644 index 000000000000..4a1b81d4f93f --- /dev/null +++ b/codex-rs/codex-home/src/instructions/imports.rs @@ -0,0 +1,332 @@ +//! Shared `@import` expansion for Claude-compat instruction files. +//! +//! Fork-owned (WI-1131). Both the global user-instructions provider and the +//! per-directory project-doc loader (WI-1132) expand imports through here, so +//! the rules live in one place: +//! +//! - only a line that is nothing but `@path` is an import, and only outside a +//! fenced code block (` ``` ` or `~~~`); +//! - the path is resolved relative to the importing file, `~/` means the home +//! directory, and an absolute path is taken as written; +//! - expansion stops at depth 5; +//! - a file reached twice (by path, by symlink, or by identical body) is kept +//! once, which also ends cycles; +//! - every byte read counts against the caller's remaining budget. + +use std::collections::HashSet; +use std::io; +use std::path::Path; +use std::path::PathBuf; + +use sha2::Digest; +use sha2::Sha256; + +/// Deepest import nesting that is still expanded. A file at this depth is +/// included verbatim; its own imports are left as written. +pub const MAX_IMPORT_DEPTH: usize = 5; + +/// One file an expansion read, in the order it was first reached. +#[derive(Clone, Debug, Eq, PartialEq)] +pub struct ImportedFile { + /// Canonical path of the file, after symlink resolution. + pub path: PathBuf, + /// The file's text after its own imports were expanded. + pub text: String, +} + +/// Outcome of expanding one instruction file. +#[derive(Clone, Debug, Default, Eq, PartialEq)] +pub struct ImportExpansion { + /// Files that contributed text, in first-seen order. + pub files: Vec, + /// Bytes consumed from the budget, including files that were deduplicated. + pub bytes_read: usize, + /// Recoverable problems: a file that could not be read, or a file skipped + /// because the byte budget was exhausted. + pub warnings: Vec, +} + +/// Expands `@path` imports starting at `path`. +/// +/// `budget` is the number of bytes still available; the expansion stops reading +/// once it is spent and reports the skipped file as a warning. `home` resolves +/// `~/` references and may be `None` when no home directory is known. +/// +/// `allowed_roots` confines every file the expansion reads. After a path is +/// canonicalized (so a symlink or `..` cannot slip past), it must sit inside +/// one of the roots; anything else is refused and reported as a warning. +/// `None` confines nothing, which is what the global user-instructions path +/// uses. An empty slice confines everything. +pub async fn expand_imports( + path: &Path, + home: Option<&Path>, + budget: usize, + allowed_roots: Option<&[PathBuf]>, +) -> ImportExpansion { + let mut expansion = ImportExpansion::default(); + expand_with(&mut expansion, std::slice::from_ref(&path.to_path_buf()), home, budget, allowed_roots) + .await; + expansion +} + +/// Expands several files as one snapshot. +/// +/// Files share the byte budget and the path and body deduplication, so a file +/// reached from two of them is kept once and every byte counts once. `budget` +/// is the total still available across all of `paths`. `allowed_roots` is the +/// same confinement as [`expand_imports`]. +pub async fn expand_imports_all( + paths: &[PathBuf], + home: Option<&Path>, + budget: usize, + allowed_roots: Option<&[PathBuf]>, +) -> ImportExpansion { + let mut expansion = ImportExpansion::default(); + expand_with(&mut expansion, paths, home, budget, allowed_roots).await; + expansion +} + +async fn expand_with( + expansion: &mut ImportExpansion, + paths: &[PathBuf], + home: Option<&Path>, + budget: usize, + allowed_roots: Option<&[PathBuf]>, +) { + let mut expander = Expander { + home: home.map(Path::to_path_buf), + allowed_roots: canonicalize_roots(allowed_roots).await, + seen_paths: HashSet::new(), + seen_bodies: HashSet::new(), + files: Vec::new(), + bytes_read: 0, + budget, + warnings: Vec::new(), + }; + for path in paths { + expander.add(path, 0).await; + } + expansion.files.append(&mut expander.files); + expansion.bytes_read += expander.bytes_read; + expansion.warnings.append(&mut expander.warnings); +} + +/// Canonicalizes each root that exists. A root that does not is dropped, which +/// only ever makes the confinement stricter. +async fn canonicalize_roots(roots: Option<&[PathBuf]>) -> Option> { + let roots = roots?; + let mut canonical = Vec::with_capacity(roots.len()); + for root in roots { + if let Ok(path) = tokio::fs::canonicalize(root).await { + canonical.push(path); + } + } + Some(canonical) +} + +struct Expander { + home: Option, + /// Canonical roots a file must fall inside, when confinement is on. + allowed_roots: Option>, + seen_paths: HashSet, + seen_bodies: HashSet<[u8; 32]>, + files: Vec, + bytes_read: usize, + budget: usize, + warnings: Vec, +} + +impl Expander { + /// Loads `path` and what it imports. A file already loaded is skipped. + async fn add(&mut self, path: &Path, depth: usize) { + let Some((canonical, text)) = self.read(path).await else { + return; + }; + if !self.seen_paths.insert(canonical.clone()) { + return; + } + let index = self.files.len(); + self.files.push(ImportedFile { + path: canonical.clone(), + text: String::new(), + }); + let body = self.expand(&text, canonical.parent(), depth).await; + let body = body.trim().to_string(); + // A file that is one import which could not be read contributed + // nothing, so it is not kept. A file that did expand is kept even when + // its own text matches what it imported. + let unresolved_import = text.trim().lines().count() == 1 + && line_only_import(text.trim()).is_some() + && body == text.trim(); + let identity = if unresolved_import { + format!("{depth}\n{}", text.trim()) + } else { + text.trim().to_string() + }; + let digest = Sha256::digest(identity.as_bytes()); + let fresh = self.seen_bodies.insert(digest.into()); + if body.is_empty() || (unresolved_import && depth < MAX_IMPORT_DEPTH) || !fresh { + self.files.remove(index); + return; + } + self.files[index].text = body; + } + + /// Reads a regular file within the remaining budget. + async fn read(&mut self, path: &Path) -> Option<(PathBuf, String)> { + let canonical = match tokio::fs::canonicalize(path).await { + Ok(path) => path, + Err(err) if err.kind() == io::ErrorKind::NotFound => return None, + Err(err) => { + self.warnings + .push(format!("Failed to read instructions from `{}`: {err}", path.display())); + return None; + } + }; + if let Some(roots) = &self.allowed_roots + && !roots.iter().any(|root| canonical.starts_with(root)) + { + self.warnings.push(format!( + "Refused instructions from `{}`: it is outside the allowed project roots", + canonical.display() + )); + return None; + } + let metadata = match tokio::fs::metadata(&canonical).await { + Ok(metadata) if metadata.is_file() => metadata, + Ok(_) => return None, + Err(err) => { + self.warnings.push(format!( + "Failed to read instructions from `{}`: {err}", + canonical.display() + )); + return None; + } + }; + let len = usize::try_from(metadata.len()).unwrap_or(usize::MAX); + if self.bytes_read.saturating_add(len) > self.budget { + self.warnings.push(format!( + "Skipped instructions from `{}`: the {} byte project_doc_max_bytes budget is exhausted", + canonical.display(), + self.budget + )); + return None; + } + let data = match tokio::fs::read(&canonical).await { + Ok(data) => data, + Err(err) => { + self.warnings.push(format!( + "Failed to read instructions from `{}`: {err}", + canonical.display() + )); + return None; + } + }; + self.bytes_read += data.len(); + Some((canonical, String::from_utf8_lossy(&data).into_owned())) + } + + /// Strips HTML comments and resolves line-only imports in `text`. + async fn expand(&mut self, text: &str, dir: Option<&Path>, depth: usize) -> String { + let text = strip_html_comments(text); + let mut out = Vec::new(); + let mut in_fence = false; + for line in text.split('\n') { + let trimmed = line.trim(); + if trimmed.starts_with("```") || trimmed.starts_with("~~~") { + in_fence = !in_fence; + out.push(line.to_string()); + continue; + } + if in_fence || depth >= MAX_IMPORT_DEPTH { + out.push(line.to_string()); + continue; + } + if let Some(reference) = line_only_import(trimmed) + && let Some(imported) = Box::pin(self.import_file(reference, dir, depth)).await + { + if !imported.is_empty() { + out.push(imported); + } + continue; + } + out.push(line.to_string()); + } + out.join("\n") + } + + /// Resolves one `@path` reference. `None` means it does not name a readable + /// file, so the caller leaves the line as written. + async fn import_file( + &mut self, + reference: &str, + dir: Option<&Path>, + depth: usize, + ) -> Option { + let path = self.resolve(reference, dir)?; + let (canonical, text) = self.read(&path).await?; + if !self.seen_paths.insert(canonical.clone()) { + return Some(String::new()); + } + let body = Box::pin(self.expand(&text, canonical.parent(), depth + 1)) + .await + .trim() + .to_string(); + if body.is_empty() { + return Some(String::new()); + } + // A file that is only an import has no body of its own, so its identity + // is the depth it was reached at plus what it resolved to. Two links in + // a chain otherwise hash to the same text and the whole chain collapses. + let pure_import = + text.trim().lines().count() == 1 && line_only_import(text.trim()).is_some(); + let identity = if pure_import { + format!("{}\n{body}", depth + 1) + } else { + text.trim().to_string() + }; + let digest = Sha256::digest(identity.as_bytes()); + if !self.seen_bodies.insert(digest.into()) { + return Some(String::new()); + } + Some(body) + } + + fn resolve(&self, reference: &str, dir: Option<&Path>) -> Option { + if let Some(rest) = reference.strip_prefix("~/") { + return Some(self.home.as_ref()?.join(rest)); + } + let path = Path::new(reference); + if path.is_absolute() { + return Some(path.to_path_buf()); + } + Some(dir?.join(path)) + } +} + +/// A line that is exactly `@path`, with the path characters Klaudia accepts. +fn line_only_import(trimmed: &str) -> Option<&str> { + let reference = trimmed.strip_prefix('@')?; + if reference.is_empty() + || !reference + .chars() + .all(|ch| ch.is_ascii_alphanumeric() || matches!(ch, '_' | '.' | '/' | '-' | '~')) + { + return None; + } + Some(reference) +} + +fn strip_html_comments(text: &str) -> String { + let mut out = String::with_capacity(text.len()); + let mut rest = text; + while let Some(start) = rest.find("") { + Some(end) => rest = &rest[start + 4 + end + 3..], + None => return out, + } + } + out.push_str(rest); + out +} diff --git a/codex-rs/codex-home/src/instructions/imports_tests.rs b/codex-rs/codex-home/src/instructions/imports_tests.rs new file mode 100644 index 000000000000..92025ce7a834 --- /dev/null +++ b/codex-rs/codex-home/src/instructions/imports_tests.rs @@ -0,0 +1,189 @@ +use std::fs; +use std::os::unix::fs::symlink; +use std::path::Path; + +use pretty_assertions::assert_eq; + +use super::MAX_IMPORT_DEPTH; +use super::expand_imports; + +fn write(path: &Path, text: &str) { + if let Some(parent) = path.parent() { + fs::create_dir_all(parent).expect("create parent"); + } + fs::write(path, text).expect("write file"); +} + +#[tokio::test] +async fn line_only_import_is_inlined_and_counted() { + let dir = tempfile::tempdir().expect("temp dir"); + write(&dir.path().join("AGENTS.md"), "shared rules\n"); + write( + &dir.path().join("CLAUDE.md"), + "preamble\n@AGENTS.md\nclosing\n", + ); + + let expansion = expand_imports(&dir.path().join("CLAUDE.md"), None, 1024, None).await; + + assert_eq!(expansion.warnings, Vec::::new()); + assert_eq!(expansion.files.len(), 1); + assert_eq!(expansion.files[0].text, "preamble\nshared rules\nclosing"); + assert_eq!( + expansion.bytes_read, + fs::read(dir.path().join("CLAUDE.md")).unwrap().len() + + fs::read(dir.path().join("AGENTS.md")).unwrap().len() + ); +} + +#[tokio::test] +async fn imports_inside_fences_and_mid_line_are_left_alone() { + let dir = tempfile::tempdir().expect("temp dir"); + write(&dir.path().join("real.md"), "imported\n"); + write( + &dir.path().join("CLAUDE.md"), + "see @real.md inline\n```\n@real.md\n```\n~~~@real.md\n", + ); + + let expansion = expand_imports(&dir.path().join("CLAUDE.md"), None, 1024, None).await; + + assert_eq!(expansion.files.len(), 1); + assert_eq!( + expansion.files[0].text, + "see @real.md inline\n```\n@real.md\n```\n~~~@real.md" + ); + assert_eq!( + expansion.bytes_read, + fs::read(dir.path().join("CLAUDE.md")).unwrap().len() + ); +} + +#[tokio::test] +async fn expansion_stops_at_depth_five() { + let dir = tempfile::tempdir().expect("temp dir"); + write(&dir.path().join("level6.md"), "too deep\n"); + let mut next = "level6.md".to_string(); + for level in (1..=MAX_IMPORT_DEPTH).rev() { + let name = format!("level{level}.md"); + write(&dir.path().join(&name), &format!("@{next}\n")); + next = name; + } + write(&dir.path().join("CLAUDE.md"), &format!("@{next}\n")); + + let expansion = expand_imports(&dir.path().join("CLAUDE.md"), None, 1024, None).await; + + let text = &expansion.files[0].text; + assert!( + text.contains("@level6.md"), + "the import past depth {MAX_IMPORT_DEPTH} must stay literal, got {text:?}" + ); + assert!(!text.contains("too deep")); +} + +#[tokio::test] +async fn duplicate_path_symlink_and_body_are_kept_once() { + let dir = tempfile::tempdir().expect("temp dir"); + write(&dir.path().join("shared.md"), "same body\n"); + symlink("shared.md", dir.path().join("link.md")).expect("symlink"); + write(&dir.path().join("copy.md"), "same body\n"); + write( + &dir.path().join("CLAUDE.md"), + "@shared.md\n@link.md\n@copy.md\n@shared.md\n", + ); + + let expansion = expand_imports(&dir.path().join("CLAUDE.md"), None, 1024, None).await; + + assert_eq!(expansion.files[0].text, "same body"); + assert_eq!(expansion.files.len(), 1); +} + +#[tokio::test] +async fn byte_budget_stops_the_expansion() { + let dir = tempfile::tempdir().expect("temp dir"); + write(&dir.path().join("big.md"), "0123456789"); + write(&dir.path().join("CLAUDE.md"), "@big.md\n"); + let budget = fs::read(dir.path().join("CLAUDE.md")).unwrap().len(); + + let expansion = expand_imports(&dir.path().join("CLAUDE.md"), None, budget, None).await; + + assert!(expansion.files.is_empty()); + assert_eq!(expansion.warnings.len(), 1); + assert!(expansion.warnings[0].contains("project_doc_max_bytes")); +} + +#[tokio::test] +async fn home_prefix_resolves_against_the_given_home() { + let home = tempfile::tempdir().expect("temp dir"); + let dir = tempfile::tempdir().expect("temp dir"); + write(&home.path().join("shared.md"), "from home\n"); + write(&dir.path().join("CLAUDE.md"), "@~/shared.md\n"); + + let expansion = expand_imports(&dir.path().join("CLAUDE.md"), Some(home.path()), 1024, None).await; + + assert_eq!(expansion.files[0].text, "from home"); +} + +#[tokio::test] +async fn a_cycle_is_included_once() { + let dir = tempfile::tempdir().expect("temp dir"); + write(&dir.path().join("a.md"), "alpha\n@b.md\n"); + write(&dir.path().join("b.md"), "beta\n@a.md\n"); + + let expansion = expand_imports(&dir.path().join("a.md"), None, 1024, None).await; + + assert_eq!(expansion.files.len(), 1); + assert_eq!(expansion.files[0].text, "alpha\nbeta"); +} + +/// A file outside the project root must not be read, however the import +/// names it: `~/`, an absolute path, a `..` climb, or a symlink that resolves +/// outside the root. +#[tokio::test] +async fn imports_outside_the_allowed_roots_are_refused() { + let project = tempfile::tempdir().expect("temp dir"); + let outside = tempfile::tempdir().expect("temp dir"); + let home = tempfile::tempdir().expect("temp dir"); + write(&outside.path().join("secret.md"), "secret\n"); + write(&home.path().join("secret.md"), "secret\n"); + symlink( + outside.path().join("secret.md"), + project.path().join("escape.md"), + ) + .expect("symlink"); + write( + &project.path().join("CLAUDE.md"), + "@~/secret.md\n@/etc/hostname\n@../secret.md\n@escape.md\n", + ); + let roots = vec![project.path().to_path_buf()]; + + let expansion = expand_imports( + &project.path().join("CLAUDE.md"), + Some(home.path()), + 1024, + Some(&roots), + ) + .await; + + let text = expansion + .files + .iter() + .map(|file| file.text.as_str()) + .collect::>() + .join("\n"); + // A refused import stays as the line that named it, so the text still + // contains the references; only the project file itself may be read. + assert_eq!( + expansion.bytes_read, + fs::read(project.path().join("CLAUDE.md")).unwrap().len(), + "an import outside the root was read: {text:?}" + ); + assert!( + expansion.warnings.len() >= 3, + "each refused import must be reported, got {:?}", + expansion.warnings + ); + assert!( + expansion.warnings.iter().all(|warning| warning.contains("outside the allowed project roots")), + "unexpected warning: {:?}", + expansion.warnings + ); +} From 88b994e4c5c567c572b53738a97513d2afcfb88a Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 14:28:48 +0000 Subject: [PATCH 09/30] Fill claude_compat_instructions in the thread-manager sample The fork field is required on Config, and the sample builds a Config literal by hand. Default it off so the workspace check compiles. WI-1131 --- codex-rs/thread-manager-sample/src/main.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/codex-rs/thread-manager-sample/src/main.rs b/codex-rs/thread-manager-sample/src/main.rs index a70b8c9817f9..bb5aacac2126 100644 --- a/codex-rs/thread-manager-sample/src/main.rs +++ b/codex-rs/thread-manager-sample/src/main.rs @@ -323,6 +323,7 @@ async fn new_config( model_providers, project_doc_max_bytes: 32 * 1024, project_doc_fallback_filenames: Vec::new(), + claude_compat_instructions: false, tool_output_token_limit: None, agents_enabled: true, agent_max_threads: Some(6), From ed8017da0d58e477825a6e3de6dd2ab53832b624 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 15:10:35 +0000 Subject: [PATCH 10/30] Format the Claude-compat instructions code cargo fmt -p codex-home. No behaviour change. WI-1131 --- .../codex-home/src/instructions/claude_compat.rs | 6 +----- .../src/instructions/claude_compat_tests.rs | 5 ++++- codex-rs/codex-home/src/instructions/imports.rs | 16 ++++++++++++---- .../codex-home/src/instructions/imports_tests.rs | 8 ++++++-- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/codex-rs/codex-home/src/instructions/claude_compat.rs b/codex-rs/codex-home/src/instructions/claude_compat.rs index 8b4aa35dc6b4..a545b8e9b146 100644 --- a/codex-rs/codex-home/src/instructions/claude_compat.rs +++ b/codex-rs/codex-home/src/instructions/claude_compat.rs @@ -35,11 +35,7 @@ pub struct ClaudeCompatUserInstructionsProvider { impl ClaudeCompatUserInstructionsProvider { /// Creates a provider. `user_home` is the directory holding `.claude`; pass /// `None` when it cannot be determined and only the Codex home is loaded. - pub fn new( - codex_home: AbsolutePathBuf, - user_home: Option, - max_bytes: usize, - ) -> Self { + pub fn new(codex_home: AbsolutePathBuf, user_home: Option, max_bytes: usize) -> Self { Self { inner: CodexHomeUserInstructionsProvider::new(codex_home), user_home, diff --git a/codex-rs/codex-home/src/instructions/claude_compat_tests.rs b/codex-rs/codex-home/src/instructions/claude_compat_tests.rs index 419190dd98fe..9cb2b4ccb6f5 100644 --- a/codex-rs/codex-home/src/instructions/claude_compat_tests.rs +++ b/codex-rs/codex-home/src/instructions/claude_compat_tests.rs @@ -72,6 +72,9 @@ async fn the_budget_covers_claude_files_and_rules_together() { let text = loaded.instructions.expect("instructions").text; assert!(text.contains(claude_md)); - assert!(!text.contains("rule body"), "rule must be past the budget: {text:?}"); + assert!( + !text.contains("rule body"), + "rule must be past the budget: {text:?}" + ); assert_eq!(loaded.warnings.len(), 1); } diff --git a/codex-rs/codex-home/src/instructions/imports.rs b/codex-rs/codex-home/src/instructions/imports.rs index 4a1b81d4f93f..2cfb8c97ba9c 100644 --- a/codex-rs/codex-home/src/instructions/imports.rs +++ b/codex-rs/codex-home/src/instructions/imports.rs @@ -64,8 +64,14 @@ pub async fn expand_imports( allowed_roots: Option<&[PathBuf]>, ) -> ImportExpansion { let mut expansion = ImportExpansion::default(); - expand_with(&mut expansion, std::slice::from_ref(&path.to_path_buf()), home, budget, allowed_roots) - .await; + expand_with( + &mut expansion, + std::slice::from_ref(&path.to_path_buf()), + home, + budget, + allowed_roots, + ) + .await; expansion } @@ -178,8 +184,10 @@ impl Expander { Ok(path) => path, Err(err) if err.kind() == io::ErrorKind::NotFound => return None, Err(err) => { - self.warnings - .push(format!("Failed to read instructions from `{}`: {err}", path.display())); + self.warnings.push(format!( + "Failed to read instructions from `{}`: {err}", + path.display() + )); return None; } }; diff --git a/codex-rs/codex-home/src/instructions/imports_tests.rs b/codex-rs/codex-home/src/instructions/imports_tests.rs index 92025ce7a834..dd12c684c0fc 100644 --- a/codex-rs/codex-home/src/instructions/imports_tests.rs +++ b/codex-rs/codex-home/src/instructions/imports_tests.rs @@ -117,7 +117,8 @@ async fn home_prefix_resolves_against_the_given_home() { write(&home.path().join("shared.md"), "from home\n"); write(&dir.path().join("CLAUDE.md"), "@~/shared.md\n"); - let expansion = expand_imports(&dir.path().join("CLAUDE.md"), Some(home.path()), 1024, None).await; + let expansion = + expand_imports(&dir.path().join("CLAUDE.md"), Some(home.path()), 1024, None).await; assert_eq!(expansion.files[0].text, "from home"); } @@ -182,7 +183,10 @@ async fn imports_outside_the_allowed_roots_are_refused() { expansion.warnings ); assert!( - expansion.warnings.iter().all(|warning| warning.contains("outside the allowed project roots")), + expansion + .warnings + .iter() + .all(|warning| warning.contains("outside the allowed project roots")), "unexpected warning: {:?}", expansion.warnings ); From f86cffa3a73c43796556f334a1aed2a42350359f Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 15:35:21 +0000 Subject: [PATCH 11/30] Return the app-server time provider directly The let binding existed only to be returned, which clippy's let_and_return lint flags, and the gate lints every file this PR touches. WI-1131 --- codex-rs/app-server/src/message_processor.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/codex-rs/app-server/src/message_processor.rs b/codex-rs/app-server/src/message_processor.rs index fb131ab26ff5..96c0e38b35e4 100644 --- a/codex-rs/app-server/src/message_processor.rs +++ b/codex-rs/app-server/src/message_processor.rs @@ -368,11 +368,10 @@ impl MessageProcessor { outgoing.clone(), thread_state_manager.clone(), )), - Some({ - let time_provider = - app_server_time_provider(outgoing.clone(), thread_state_manager.clone()); - time_provider - }), + Some(app_server_time_provider( + outgoing.clone(), + thread_state_manager.clone(), + )), ); match code_mode_session_provider { Some(provider) => manager.with_code_mode_session_provider(provider), From f55f282562bb2e27b6075182bb4483d45ce7a85b Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 15:07:06 +0000 Subject: [PATCH 12/30] Add a project_doc_mode that loads every project doc and its imports `project_doc_mode = "all"` keeps every matching filename in a directory instead of the first, then `.claude/rules/*.md` in sorted order, and expands line-only @path imports. Anything else, including an unset value, keeps the upstream first-match behaviour. Imports and rules are read through the executor filesystem and refused once they canonicalize outside the project root, so a repo cannot pull in an absolute path, a ~/ reference, a .. climb or a symlink that escapes. The untrusted-project skip still runs first, so none of this is read for an untrusted project. WI-1132 --- codex-rs/config/src/config_toml.rs | 8 + codex-rs/core/src/agents_md.rs | 99 ++++++-- codex-rs/core/src/agents_md_compat.rs | 254 ++++++++++++++++++++ codex-rs/core/src/agents_md_compat_tests.rs | 117 +++++++++ codex-rs/core/src/config/mod.rs | 9 + codex-rs/core/src/lib.rs | 1 + codex-rs/thread-manager-sample/src/main.rs | 1 + 7 files changed, 465 insertions(+), 24 deletions(-) create mode 100644 codex-rs/core/src/agents_md_compat.rs create mode 100644 codex-rs/core/src/agents_md_compat_tests.rs diff --git a/codex-rs/config/src/config_toml.rs b/codex-rs/config/src/config_toml.rs index e85af551e92d..1611d7f07221 100644 --- a/codex-rs/config/src/config_toml.rs +++ b/codex-rs/config/src/config_toml.rs @@ -343,6 +343,14 @@ pub struct ConfigToml { #[serde(default)] pub claude_compat_instructions: Option, + /// Fork (WI-1132): how a directory's project docs are chosen. `first` (the + /// default) keeps the upstream behaviour of the first matching filename per + /// directory. `all` loads every matching filename, plus `.claude/rules/*.md` + /// in sorted order, and expands `@path` imports confined to the project + /// root. An unrecognised value falls back to `first`. + #[serde(default)] + pub project_doc_mode: Option, + /// Token budget applied when storing tool/function outputs in the context manager. pub tool_output_token_limit: Option, diff --git a/codex-rs/core/src/agents_md.rs b/codex-rs/core/src/agents_md.rs index 8e0c475d9033..4628d9bd58ee 100644 --- a/codex-rs/core/src/agents_md.rs +++ b/codex-rs/core/src/agents_md.rs @@ -139,6 +139,35 @@ async fn read_agents_md( return Ok(None); } + if config.project_doc_all { + let root = project_root(config, cwd, fs, sandbox).await?; + let root = root.as_ref().unwrap_or(cwd); + let docs = crate::agents_md_compat::expand_project_docs( + fs, + &paths, + root, + max_total, + sandbox, + ) + .await?; + let mut loaded = LoadedAgentsMd::default(); + for doc in docs { + loaded.entries.push(InstructionEntry { + contents: doc.text, + provenance: InstructionProvenance::Project { + source_path: doc.path, + environment_id: environment_id.to_string(), + cwd: cwd.clone(), + }, + }); + } + return if loaded.is_empty() { + Ok(None) + } else { + Ok(Some(loaded)) + }; + } + let mut remaining: u64 = max_total as u64; let mut loaded = LoadedAgentsMd::default(); @@ -195,31 +224,8 @@ async fn agents_md_paths( fs: &dyn ExecutorFileSystem, sandbox: Option<&FileSystemSandboxContext>, ) -> io::Result> { + let project_root = project_root(config, cwd, fs, sandbox).await?; let dir = cwd.clone(); - - let mut merged = TomlValue::Table(toml::map::Map::new()); - for layer in config.config_layer_stack.layers_low_to_high() { - if matches!(layer.name, ConfigLayerSource::Project { .. }) { - continue; - } - merge_toml_values(&mut merged, &layer.config); - } - let project_root_markers = match project_root_markers_from_config(&merged) { - Ok(Some(markers)) => markers, - Ok(None) => default_project_root_markers(), - Err(err) => { - tracing::warn!("invalid project_root_markers: {err}"); - default_project_root_markers() - } - }; - let project_root = find_nearest_ancestor_with_markers( - fs, - &dir, - project_root_markers, - FindUpErrorPolicy::Ignore, - sandbox, - ) - .await?; let search_dirs = if let Some(root) = project_root { let mut dirs = Vec::new(); let mut cursor = dir.clone(); @@ -240,6 +246,23 @@ async fn agents_md_paths( }; let candidate_filenames = candidate_filenames(config, cwd); + if config.project_doc_all { + let mut found = Vec::new(); + for directory in &search_dirs { + let root = search_dirs.first().unwrap_or(directory); + found.extend( + crate::agents_md_compat::discover_compat_docs( + fs, + directory, + &candidate_filenames, + root, + sandbox, + ) + .await?, + ); + } + return Ok(found); + } let candidate_filenames = &candidate_filenames; let mut results = futures::stream::iter(search_dirs) .map(|directory| async move { @@ -269,6 +292,34 @@ async fn agents_md_paths( Ok(found) } +/// The nearest ancestor of `cwd` carrying a project-root marker. +/// +/// Markers come from the config layers above the project layer, so a project +/// cannot widen its own root and reach files outside it. +async fn project_root( + config: &Config, + cwd: &PathUri, + fs: &dyn ExecutorFileSystem, + sandbox: Option<&FileSystemSandboxContext>, +) -> io::Result> { + let mut merged = TomlValue::Table(toml::map::Map::new()); + for layer in config.config_layer_stack.layers_low_to_high() { + if matches!(layer.name, ConfigLayerSource::Project { .. }) { + continue; + } + merge_toml_values(&mut merged, &layer.config); + } + let markers = match project_root_markers_from_config(&merged) { + Ok(Some(markers)) => markers, + Ok(None) => default_project_root_markers(), + Err(err) => { + tracing::warn!("invalid project_root_markers: {err}"); + default_project_root_markers() + } + }; + find_nearest_ancestor_with_markers(fs, cwd, markers, FindUpErrorPolicy::Ignore, sandbox).await +} + fn candidate_filenames<'a>(config: &'a Config, cwd: &PathUri) -> Vec<&'a str> { let mut names: Vec<&str> = Vec::with_capacity(2 + config.project_doc_fallback_filenames.len()); names.push(LOCAL_AGENTS_MD_FILENAME); diff --git a/codex-rs/core/src/agents_md_compat.rs b/codex-rs/core/src/agents_md_compat.rs new file mode 100644 index 000000000000..7a7681a33cde --- /dev/null +++ b/codex-rs/core/src/agents_md_compat.rs @@ -0,0 +1,254 @@ +//! Fork (WI-1132): the `project_doc_mode = "all"` project-doc loader. +//! +//! Where the upstream discovery keeps the first matching filename in each +//! directory, this loads every matching filename and then `.claude/rules/*.md` +//! in sorted order, and expands line-only `@path` imports. Every file is read +//! through the executor filesystem and, after canonicalization, must fall +//! inside the project root, so a hostile repo cannot pull in `~/.codex`, +//! `/etc`, a `..` climb or a symlink that escapes the project. + +use std::collections::HashSet; +use std::hash::DefaultHasher; +use std::hash::Hash; +use std::hash::Hasher; +use std::io; + +use codex_file_system::ExecutorFileSystem; +use codex_file_system::FileSystemSandboxContext; +use codex_file_system::GetMetadataOptions; +use codex_file_system::ReadFileOptions; +use codex_utils_path_uri::PathUri; + +/// A file the `all` mode wants loaded, in the order it should appear. +#[derive(Debug, PartialEq, Eq)] +pub(crate) struct CompatDoc { + pub path: PathUri, + pub text: String, +} + +const RULES_DIR: &str = ".claude/rules"; +const MAX_IMPORT_DEPTH: usize = 5; + +/// Discovers the docs for one directory. +/// +/// `names` is the candidate filename list. Every name that names a file is +/// kept, in the order given, and `.claude/rules/*.md` follows in sorted order. +/// `root` is the project root the caller already computed; a doc or an import +/// that canonicalizes outside it is skipped. +pub(crate) async fn discover_compat_docs( + fs: &dyn ExecutorFileSystem, + directory: &PathUri, + names: &[&str], + root: &PathUri, + sandbox: Option<&FileSystemSandboxContext>, +) -> io::Result> { + let mut found = Vec::new(); + for name in names { + let candidate = directory + .join(name) + .map_err(|err| io::Error::new(io::ErrorKind::InvalidInput, err))?; + if is_file(fs, &candidate, sandbox).await? { + found.push(candidate); + } + } + + let rules_dir = directory + .join(RULES_DIR) + .map_err(|err| io::Error::new(io::ErrorKind::InvalidInput, err))?; + if let Some(mut rules) = rule_files(fs, &rules_dir, root, sandbox).await? { + rules.sort_by_key(ToString::to_string); + found.extend(rules); + } + Ok(found) +} + +/// Reads `paths` and expands their `@path` imports. +/// +/// `budget` is the number of bytes still available and counts every file read, +/// including one reached only through an import. Files are deduped by their +/// canonical path and by their body, and expansion stops at depth 5. +pub(crate) async fn expand_project_docs( + fs: &dyn ExecutorFileSystem, + paths: &[PathUri], + root: &PathUri, + budget: usize, + sandbox: Option<&FileSystemSandboxContext>, +) -> io::Result> { + let mut seen_paths = HashSet::new(); + let mut seen_bodies = HashSet::new(); + let mut docs = Vec::new(); + let mut remaining = budget; + for path in paths { + read_doc( + fs, + path, + root, + /*depth*/ 0, + sandbox, + &mut seen_paths, + &mut seen_bodies, + &mut docs, + &mut remaining, + ) + .await?; + } + Ok(docs) +} + +#[allow(clippy::too_many_arguments)] +async fn read_doc( + fs: &dyn ExecutorFileSystem, + path: &PathUri, + root: &PathUri, + depth: usize, + sandbox: Option<&FileSystemSandboxContext>, + seen_paths: &mut HashSet, + seen_bodies: &mut HashSet, + docs: &mut Vec, + remaining: &mut usize, +) -> io::Result<()> { + if *remaining == 0 || depth > MAX_IMPORT_DEPTH { + return Ok(()); + } + let canonical = match fs.canonicalize(path, sandbox).await { + Ok(path) => path, + Err(err) if err.kind() == io::ErrorKind::NotFound => return Ok(()), + Err(err) => return Err(err), + }; + if !canonical.starts_with(root) { + tracing::warn!(path = %canonical, "refusing project doc outside the project root"); + return Ok(()); + } + if !seen_paths.insert(canonical.to_string()) { + return Ok(()); + } + + let mut data = fs + .read_file(&canonical, ReadFileOptions::default(), sandbox) + .await?; + if data.len() > *remaining { + data.truncate(*remaining); + } + *remaining = remaining.saturating_sub(data.len()); + let text = String::from_utf8_lossy(&data).to_string(); + + let mut body = String::new(); + if depth < MAX_IMPORT_DEPTH { + for line in text.lines() { + let trimmed = line.trim(); + if let Some(reference) = line_only_import(trimmed) { + let imported = resolve_import(path, reference)?; + let before = docs.len(); + Box::pin(read_doc( + fs, + &imported, + root, + depth + 1, + sandbox, + seen_paths, + seen_bodies, + docs, + remaining, + )) + .await?; + if docs.len() == before { + body.push_str(line); + body.push('\n'); + } + } else { + body.push_str(line); + body.push('\n'); + } + } + } else { + body = text; + } + + let digest = { + let mut hasher = DefaultHasher::new(); + body.trim().hash(&mut hasher); + hasher.finish() + }; + if body.trim().is_empty() || !seen_bodies.insert(digest) { + return Ok(()); + } + docs.push(CompatDoc { + path: canonical, + text: body.trim().to_string(), + }); + Ok(()) +} + +/// A line that is nothing but an `@path` reference, or `None`. +fn line_only_import(line: &str) -> Option<&str> { + let reference = line.strip_prefix('@')?.trim(); + if reference.is_empty() || reference.contains(char::is_whitespace) { + None + } else { + Some(reference) + } +} + +fn resolve_import(from: &PathUri, reference: &str) -> io::Result { + if reference.starts_with('~') || reference.starts_with('/') || reference.contains(':') { + PathUri::from_host_native_path(reference) + } else { + let parent = from + .parent() + .ok_or_else(|| io::Error::new(io::ErrorKind::InvalidInput, "import has no parent"))?; + parent + .join(reference) + .map_err(|err| io::Error::new(io::ErrorKind::InvalidInput, err)) + } +} + +async fn is_file( + fs: &dyn ExecutorFileSystem, + path: &PathUri, + sandbox: Option<&FileSystemSandboxContext>, +) -> io::Result { + match fs + .get_metadata(path, GetMetadataOptions::default(), sandbox) + .await + { + Ok(metadata) => Ok(metadata.is_file), + Err(err) if err.kind() == io::ErrorKind::NotFound => Ok(false), + Err(err) => Err(err), + } +} + +async fn rule_files( + fs: &dyn ExecutorFileSystem, + rules_dir: &PathUri, + root: &PathUri, + sandbox: Option<&FileSystemSandboxContext>, +) -> io::Result>> { + let canonical = match fs.canonicalize(rules_dir, sandbox).await { + Ok(path) => path, + Err(err) if err.kind() == io::ErrorKind::NotFound => return Ok(None), + Err(err) => return Err(err), + }; + if !canonical.starts_with(root) { + tracing::warn!(path = %canonical, "refusing .claude/rules outside the project root"); + return Ok(None); + } + let entries = match fs.read_directory(&canonical, sandbox).await { + Ok(entries) => entries, + Err(err) if err.kind() == io::ErrorKind::NotFound => return Ok(None), + Err(err) => return Err(err), + }; + let mut files = Vec::new(); + for entry in entries { + if entry.is_directory || !entry.file_name.ends_with(".md") { + continue; + } + if let Ok(path) = canonical.join(&entry.file_name) { + files.push(path); + } + } + Ok(Some(files)) +} + +#[cfg(test)] +#[path = "agents_md_compat_tests.rs"] +mod tests; diff --git a/codex-rs/core/src/agents_md_compat_tests.rs b/codex-rs/core/src/agents_md_compat_tests.rs new file mode 100644 index 000000000000..a39a493db5ea --- /dev/null +++ b/codex-rs/core/src/agents_md_compat_tests.rs @@ -0,0 +1,117 @@ +//! Fork (WI-1132): the `all` project-doc mode. + +use std::fs; + +use codex_exec_server::LOCAL_FS; +use codex_utils_path_uri::PathUri; + +use super::discover_compat_docs; +use super::expand_project_docs; + +fn uri(path: &std::path::Path) -> PathUri { + PathUri::from_host_native_path(path).expect("path uri") +} + +fn write(path: &std::path::Path, contents: &str) { + if let Some(parent) = path.parent() { + fs::create_dir_all(parent).expect("parent"); + } + fs::write(path, contents).expect("write"); +} + +/// Every matching filename is kept, and `.claude/rules/*.md` follows in order. +#[tokio::test] +async fn all_mode_keeps_every_doc_and_sorted_rules() { + let dir = tempfile::tempdir().expect("temp dir"); + write(&dir.path().join("AGENTS.md"), "agents\n"); + write(&dir.path().join("CLAUDE.md"), "claude\n"); + write(&dir.path().join(".claude/rules/b.md"), "rule b\n"); + write(&dir.path().join(".claude/rules/a.md"), "rule a\n"); + write(&dir.path().join(".claude/rules/notes.txt"), "not a rule\n"); + let root = uri(dir.path()); + + let found = discover_compat_docs( + LOCAL_FS.as_ref(), + &root, + &["AGENTS.md", "CLAUDE.md"], + &root, + None, + ) + .await + .expect("discover"); + + let names = found + .iter() + .map(|path| path.basename().unwrap_or_default()) + .collect::>(); + assert_eq!(names, ["AGENTS.md", "CLAUDE.md", "a.md", "b.md"]); +} + +/// An import that leaves the project is not read, whether it escapes by an +/// absolute path, `~/`, a `..` climb or a symlink. +#[tokio::test] +async fn imports_that_escape_the_project_root_are_refused() { + let project = tempfile::tempdir().expect("project"); + let outside = tempfile::tempdir().expect("outside"); + write(&outside.path().join("secret.md"), "TOPSECRET\n"); + std::os::unix::fs::symlink(outside.path().join("secret.md"), project.path().join("escape.md")) + .expect("symlink"); + let home = tempfile::tempdir().expect("home"); + write(&home.path().join("secret.md"), "TOPSECRET\n"); + // Safety: this test runs alone and only points HOME at a temp dir. + unsafe { std::env::set_var("HOME", home.path()) }; + write( + &project.path().join("CLAUDE.md"), + "@escape.md\n@../secret.md\n@/etc/hostname\n@~/secret.md\n", + ); + let root = uri(project.path()); + + let docs = expand_project_docs( + LOCAL_FS.as_ref(), + &[root.join("CLAUDE.md").expect("join")], + &root, + 4096, + None, + ) + .await + .expect("expand"); + + let text = docs + .iter() + .map(|doc| doc.text.as_str()) + .collect::>() + .join("\n"); + assert!( + !text.contains("TOPSECRET"), + "an import outside the project was read: {text}" + ); + let read = docs.iter().map(|doc| doc.text.len()).sum::(); + let own = fs::read(project.path().join("CLAUDE.md")).unwrap().len(); + assert!(read <= own, "read {read} bytes, the project file is only {own}"); +} + +/// A relative import that stays inside the project is expanded. +#[tokio::test] +async fn imports_inside_the_project_root_are_expanded() { + let project = tempfile::tempdir().expect("project"); + write(&project.path().join("CLAUDE.md"), "head\n@docs/more.md\n"); + write(&project.path().join("docs/more.md"), "body\n"); + let root = uri(project.path()); + + let docs = expand_project_docs( + LOCAL_FS.as_ref(), + &[root.join("CLAUDE.md").expect("join")], + &root, + 4096, + None, + ) + .await + .expect("expand"); + + let text = docs + .iter() + .map(|doc| doc.text.as_str()) + .collect::>() + .join("\n"); + assert!(text.contains("body"), "the in-project import was not read: {text}"); +} diff --git a/codex-rs/core/src/config/mod.rs b/codex-rs/core/src/config/mod.rs index 260785baf764..ffef5599f45e 100644 --- a/codex-rs/core/src/config/mod.rs +++ b/codex-rs/core/src/config/mod.rs @@ -936,6 +936,11 @@ pub struct Config { /// into the global user-instructions snapshot. Off unless the config sets it. pub claude_compat_instructions: bool, + /// Fork (WI-1132): load every matching project doc in a directory, plus + /// `.claude/rules/*.md`, and expand `@path` imports confined to the project + /// root. Off unless the config sets `project_doc_mode = "all"`. + pub project_doc_all: bool, + /// Token budget applied when storing tool/function outputs in the context manager. pub tool_output_token_limit: Option, @@ -4396,6 +4401,10 @@ impl Config { }) .collect(), claude_compat_instructions: cfg.claude_compat_instructions.unwrap_or(false), + project_doc_all: cfg + .project_doc_mode + .as_deref() + .is_some_and(|mode| mode.eq_ignore_ascii_case("all")), tool_output_token_limit: cfg.tool_output_token_limit, agents_enabled, agent_max_threads, diff --git a/codex-rs/core/src/lib.rs b/codex-rs/core/src/lib.rs index a2b44e3f1fb6..dbd190343b95 100644 --- a/codex-rs/core/src/lib.rs +++ b/codex-rs/core/src/lib.rs @@ -171,6 +171,7 @@ pub type NewConversation = NewThread; #[deprecated(note = "use CodexThread")] pub type CodexConversation = CodexThread; pub(crate) mod agents_md; +mod agents_md_compat; mod agents_md_manager; pub use agents_md::DEFAULT_AGENTS_MD_FILENAME; pub use agents_md::LOCAL_AGENTS_MD_FILENAME; diff --git a/codex-rs/thread-manager-sample/src/main.rs b/codex-rs/thread-manager-sample/src/main.rs index bb5aacac2126..0511a5dc18eb 100644 --- a/codex-rs/thread-manager-sample/src/main.rs +++ b/codex-rs/thread-manager-sample/src/main.rs @@ -324,6 +324,7 @@ async fn new_config( project_doc_max_bytes: 32 * 1024, project_doc_fallback_filenames: Vec::new(), claude_compat_instructions: false, + project_doc_all: false, tool_output_token_limit: None, agents_enabled: true, agent_max_threads: Some(6), From cd2e97307093749f4bae9aa0c496cfc7f49f84fe Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 15:11:02 +0000 Subject: [PATCH 13/30] Format the project-doc compat loader cargo fmt -p codex-core. No behaviour change. WI-1132 --- codex-rs/core/src/agents_md.rs | 11 +++-------- codex-rs/core/src/agents_md_compat_tests.rs | 17 +++++++++++++---- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/codex-rs/core/src/agents_md.rs b/codex-rs/core/src/agents_md.rs index 4628d9bd58ee..77fff8278962 100644 --- a/codex-rs/core/src/agents_md.rs +++ b/codex-rs/core/src/agents_md.rs @@ -142,14 +142,9 @@ async fn read_agents_md( if config.project_doc_all { let root = project_root(config, cwd, fs, sandbox).await?; let root = root.as_ref().unwrap_or(cwd); - let docs = crate::agents_md_compat::expand_project_docs( - fs, - &paths, - root, - max_total, - sandbox, - ) - .await?; + let docs = + crate::agents_md_compat::expand_project_docs(fs, &paths, root, max_total, sandbox) + .await?; let mut loaded = LoadedAgentsMd::default(); for doc in docs { loaded.entries.push(InstructionEntry { diff --git a/codex-rs/core/src/agents_md_compat_tests.rs b/codex-rs/core/src/agents_md_compat_tests.rs index a39a493db5ea..3badf1e300d3 100644 --- a/codex-rs/core/src/agents_md_compat_tests.rs +++ b/codex-rs/core/src/agents_md_compat_tests.rs @@ -54,8 +54,11 @@ async fn imports_that_escape_the_project_root_are_refused() { let project = tempfile::tempdir().expect("project"); let outside = tempfile::tempdir().expect("outside"); write(&outside.path().join("secret.md"), "TOPSECRET\n"); - std::os::unix::fs::symlink(outside.path().join("secret.md"), project.path().join("escape.md")) - .expect("symlink"); + std::os::unix::fs::symlink( + outside.path().join("secret.md"), + project.path().join("escape.md"), + ) + .expect("symlink"); let home = tempfile::tempdir().expect("home"); write(&home.path().join("secret.md"), "TOPSECRET\n"); // Safety: this test runs alone and only points HOME at a temp dir. @@ -87,7 +90,10 @@ async fn imports_that_escape_the_project_root_are_refused() { ); let read = docs.iter().map(|doc| doc.text.len()).sum::(); let own = fs::read(project.path().join("CLAUDE.md")).unwrap().len(); - assert!(read <= own, "read {read} bytes, the project file is only {own}"); + assert!( + read <= own, + "read {read} bytes, the project file is only {own}" + ); } /// A relative import that stays inside the project is expanded. @@ -113,5 +119,8 @@ async fn imports_inside_the_project_root_are_expanded() { .map(|doc| doc.text.as_str()) .collect::>() .join("\n"); - assert!(text.contains("body"), "the in-project import was not read: {text}"); + assert!( + text.contains("body"), + "the in-project import was not read: {text}" + ); } From f16557d9d3a5def54deac43f0a0287a612497c97 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Sat, 10 Oct 2026 08:42:02 +0000 Subject: [PATCH 14/30] Regenerate the config schema for claude_compat_instructions The fixture lagged the new config field, so config_schema_matches_fixture failed. --- codex-rs/core/config.schema.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/codex-rs/core/config.schema.json b/codex-rs/core/config.schema.json index df2c53462c42..c5def4a021a8 100644 --- a/codex-rs/core/config.schema.json +++ b/codex-rs/core/config.schema.json @@ -6864,6 +6864,11 @@ "description": "When `true`, checks for Codex updates on startup and surfaces update prompts. Set to `false` only if your Codex updates are centrally managed. Defaults to `true`.", "type": "boolean" }, + "claude_compat_instructions": { + "default": null, + "description": "Fork (WI-1131): also load the user's global Claude Code instructions (`~/.claude/CLAUDE.md` and `~/.claude/rules/*.md`) into the user instructions snapshot. Off by default, so upstream behaviour is unchanged unless a config sets it.", + "type": "boolean" + }, "cli_auth_credentials_store": { "allOf": [ { From c24a92c6001ab9a2156848d617321c90654a5894 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 11:03:33 +0000 Subject: [PATCH 15/30] hooks: add per-handler failClosed and review write_stdin input failClosed is opt-in and defaults to false. When set, every PreToolUse failure mode (non-0/2 exit, missing status, spawn failure, timeout, signal, invalid JSON, unreadable output) blocks the tool with a reason the model sees. Handlers without the flag still fail open. A non-empty write_stdin is typed into the open shell, so it now runs PreToolUse as tool_name Bash with the stdin text as command. Empty polls stay unreviewed. A block stops the write before it reaches the process. --- .../src/protocol/v2/config.rs | 4 + .../request_processors/config_processor.rs | 2 + .../app-server/tests/suite/v2/config_rpc.rs | 1 + codex-rs/config/src/hook_config.rs | 4 + codex-rs/config/src/hooks_tests.rs | 34 ++++ codex-rs/core/src/session/tests.rs | 1 + .../handlers/unified_exec/write_stdin.rs | 21 ++- .../src/tools/handlers/unified_exec_tests.rs | 31 +++- codex-rs/hooks/src/declarations.rs | 1 + .../hooks/src/engine/command_runner_tests.rs | 5 + codex-rs/hooks/src/engine/discovery.rs | 16 ++ codex-rs/hooks/src/engine/dispatcher.rs | 1 + codex-rs/hooks/src/engine/mcp_runner_tests.rs | 1 + codex-rs/hooks/src/engine/mod.rs | 3 + codex-rs/hooks/src/engine/mod_tests.rs | 14 ++ codex-rs/hooks/src/events/compact.rs | 1 + codex-rs/hooks/src/events/interrupt_tests.rs | 1 + codex-rs/hooks/src/events/post_tool_use.rs | 1 + codex-rs/hooks/src/events/pre_tool_use.rs | 157 ++++++++++++++++++ .../hooks/src/events/session_end_tests.rs | 1 + codex-rs/hooks/src/events/session_start.rs | 1 + codex-rs/hooks/src/events/stop.rs | 1 + .../hooks/src/events/user_prompt_submit.rs | 1 + 23 files changed, 297 insertions(+), 6 deletions(-) diff --git a/codex-rs/app-server-protocol/src/protocol/v2/config.rs b/codex-rs/app-server-protocol/src/protocol/v2/config.rs index 29539116025c..ee5c0ec5c585 100644 --- a/codex-rs/app-server-protocol/src/protocol/v2/config.rs +++ b/codex-rs/app-server-protocol/src/protocol/v2/config.rs @@ -685,6 +685,10 @@ pub enum ConfiguredHookHandler { #[serde(rename = "additionalContextLimit")] #[ts(rename = "additionalContextLimit")] additional_context_limit: Option, + /// When true, a failure of this hook blocks the tool instead of failing open. + #[serde(default, rename = "failClosed")] + #[ts(rename = "failClosed")] + fail_closed: bool, }, #[serde(rename = "mcp_tool")] #[ts(rename = "mcp_tool")] diff --git a/codex-rs/app-server/src/request_processors/config_processor.rs b/codex-rs/app-server/src/request_processors/config_processor.rs index 914abf4fd8b8..63599b6ab395 100644 --- a/codex-rs/app-server/src/request_processors/config_processor.rs +++ b/codex-rs/app-server/src/request_processors/config_processor.rs @@ -766,6 +766,7 @@ fn map_hook_handler_to_api(handler: CoreHookHandlerConfig) -> ConfiguredHookHand r#async, status_message, additional_context_limit, + fail_closed, } => ConfiguredHookHandler::Command { command, command_windows, @@ -773,6 +774,7 @@ fn map_hook_handler_to_api(handler: CoreHookHandlerConfig) -> ConfiguredHookHand r#async, status_message, additional_context_limit, + fail_closed, }, CoreHookHandlerConfig::McpTool { server, diff --git a/codex-rs/app-server/tests/suite/v2/config_rpc.rs b/codex-rs/app-server/tests/suite/v2/config_rpc.rs index c4ba5937d13e..e13422905a7c 100644 --- a/codex-rs/app-server/tests/suite/v2/config_rpc.rs +++ b/codex-rs/app-server/tests/suite/v2/config_rpc.rs @@ -256,6 +256,7 @@ statusMessage = "Scanning file" r#async: false, status_message: None, additional_context_limit: Some(4_096), + fail_closed: false, }, ConfiguredHookHandler::McpTool { server: "security".to_string(), diff --git a/codex-rs/config/src/hook_config.rs b/codex-rs/config/src/hook_config.rs index 7575fa5fcb10..3b56a62fbc1c 100644 --- a/codex-rs/config/src/hook_config.rs +++ b/codex-rs/config/src/hook_config.rs @@ -182,6 +182,10 @@ pub enum HookHandlerConfig { skip_serializing_if = "Option::is_none" )] additional_context_limit: Option, + /// When true, a hook that fails for any reason blocks the tool instead of + /// letting it run. Defaults to false so existing handlers keep failing open. + #[serde(default, rename = "failClosed")] + fail_closed: bool, }, #[serde(rename = "mcp_tool")] McpTool { diff --git a/codex-rs/config/src/hooks_tests.rs b/codex-rs/config/src/hooks_tests.rs index bd71a7f0e323..8c83854fc69f 100644 --- a/codex-rs/config/src/hooks_tests.rs +++ b/codex-rs/config/src/hooks_tests.rs @@ -48,6 +48,7 @@ fn hooks_file_deserializes_existing_json_shape() { r#async: false, status_message: Some("checking".to_string()), additional_context_limit: Some(4096), + fail_closed: false, }], }], ..Default::default() @@ -56,6 +57,33 @@ fn hooks_file_deserializes_existing_json_shape() { ); } +#[test] +fn command_hook_fail_closed_defaults_false_and_round_trips() { + let omitted = serde_json::from_str::( + r#"{ "type": "command", "command": "python3 /tmp/pre.py" }"#, + ) + .expect("deserialize"); + assert!(matches!( + omitted, + HookHandlerConfig::Command { + fail_closed: false, + .. + } + )); + + let set = serde_json::from_str::( + r#"{ "type": "command", "command": "python3 /tmp/pre.py", "failClosed": true }"#, + ) + .expect("deserialize"); + assert!(matches!( + set, + HookHandlerConfig::Command { + fail_closed: true, + .. + } + )); +} + #[test] fn hooks_file_deserializes_mcp_tool_handler_with_json_inputs() { let parsed: HooksFile = serde_json::from_value(serde_json::json!({ @@ -182,6 +210,7 @@ additionalContextLimit = 4096 r#async: false, status_message: Some("checking".to_string()), additional_context_limit: Some(4096), + fail_closed: false, }], }], ..Default::default() @@ -220,6 +249,7 @@ command = "python3 /tmp/pre.py" r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -266,6 +296,7 @@ command = "python3 /enterprise/place/pre.py" r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -303,6 +334,7 @@ command_windows = "powershell -File C:\\enterprise\\hooks\\pre.ps1" r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -339,6 +371,7 @@ commandWindows = "powershell -File C:\\enterprise\\hooks\\pre.ps1" r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -355,6 +388,7 @@ fn hook_handler_omits_unset_additional_context_limit() { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }; let serialized = serde_json::to_value(handler).expect("hook handler should serialize"); diff --git a/codex-rs/core/src/session/tests.rs b/codex-rs/core/src/session/tests.rs index 496114a113a6..6683dcb766b3 100644 --- a/codex-rs/core/src/session/tests.rs +++ b/codex-rs/core/src/session/tests.rs @@ -1997,6 +1997,7 @@ async fn refresh_runtime_config_refreshes_hooks() -> anyhow::Result<()> { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }, }; diff --git a/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs b/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs index 3a6aa8d96f8d..8186e528db58 100644 --- a/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs +++ b/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs @@ -9,6 +9,7 @@ use crate::tools::handlers::resolve_tool_environment; use crate::tools::registry::CoreToolRuntime; use crate::tools::registry::PostToolUsePayload; use crate::tools::registry::PreToolUsePayload; +use crate::tools::hook_names::HookToolName; use crate::tools::registry::ToolExecutor; use crate::tools::sandboxing::ToolError; use crate::unified_exec::UnifiedExecContext; @@ -141,11 +142,21 @@ impl CoreToolRuntime for WriteStdinHandler { matches!(payload, ToolPayload::Function { .. }) } - fn pre_tool_use_payload(&self, _invocation: &ToolInvocation) -> Option { - // `write_stdin` is transport for an existing exec session. Empty writes - // are background polls, and non-empty writes continue a command that - // already ran PreToolUse as Bash, so do not emit a second pre hook here. - None + fn pre_tool_use_payload(&self, invocation: &ToolInvocation) -> Option { + let ToolPayload::Function { arguments } = &invocation.payload else { + return None; + }; + // Empty writes are background polls and carry nothing to review. A + // non-empty write is text the model is typing into the open shell, so + // review it as a Bash command before it reaches the process. + let args = parse_arguments::(arguments).ok()?; + if args.chars.is_empty() { + return None; + } + Some(PreToolUsePayload { + tool_name: HookToolName::bash(), + tool_input: serde_json::json!({ "command": args.chars }), + }) } fn post_tool_use_payload( diff --git a/codex-rs/core/src/tools/handlers/unified_exec_tests.rs b/codex-rs/core/src/tools/handlers/unified_exec_tests.rs index 61d379bf4d6d..7c37345c2989 100644 --- a/codex-rs/core/src/tools/handlers/unified_exec_tests.rs +++ b/codex-rs/core/src/tools/handlers/unified_exec_tests.rs @@ -633,8 +633,9 @@ async fn exec_command_pre_tool_use_payload_resolves_workdir() { #[tokio::test] async fn exec_command_pre_tool_use_payload_skips_write_stdin() { +async fn write_stdin_pre_tool_use_payload_reviews_nonempty_input_as_bash() { let payload = ToolPayload::Function { - arguments: serde_json::json!({ "chars": "echo hi" }).to_string(), + arguments: serde_json::json!({ "session_id": 1, "chars": "git reset --hard\n" }).to_string(), }; let (session, turn) = make_session_and_context().await; let turn = Arc::new(turn); @@ -652,6 +653,34 @@ async fn exec_command_pre_tool_use_payload_skips_write_stdin() { source: crate::tools::context::ToolCallSource::Direct, payload, }), + Some(crate::tools::registry::PreToolUsePayload { + tool_name: HookToolName::bash(), + tool_input: serde_json::json!({ "command": "git reset --hard\n" }), + }) + ); +} + +#[tokio::test] +async fn write_stdin_pre_tool_use_payload_skips_empty_poll() { + let payload = ToolPayload::Function { + arguments: serde_json::json!({ "session_id": 1, "chars": "" }).to_string(), + }; + let (session, turn) = make_session_and_context().await; + let turn = Arc::new(turn); + let handler = WriteStdinHandler; + + assert_eq!( + handler.pre_tool_use_payload(&ToolInvocation { + session: session.into(), + step_context: StepContext::for_test(Arc::clone(&turn)), + turn, + cancellation_token: tokio_util::sync::CancellationToken::new(), + tracker: Arc::new(Mutex::new(TurnDiffTracker::new())), + call_id: "call-45".to_string(), + tool_name: codex_tools::ToolName::plain("write_stdin"), + source: crate::tools::context::ToolCallSource::Direct, + payload, + }), None ); } diff --git a/codex-rs/hooks/src/declarations.rs b/codex-rs/hooks/src/declarations.rs index 42ca76a2ed02..4b9a28ae1236 100644 --- a/codex-rs/hooks/src/declarations.rs +++ b/codex-rs/hooks/src/declarations.rs @@ -70,6 +70,7 @@ mod tests { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }, ], }], diff --git a/codex-rs/hooks/src/engine/command_runner_tests.rs b/codex-rs/hooks/src/engine/command_runner_tests.rs index a7b90a8c0ed1..d75f7264b4a2 100644 --- a/codex-rs/hooks/src/engine/command_runner_tests.rs +++ b/codex-rs/hooks/src/engine/command_runner_tests.rs @@ -117,6 +117,7 @@ async fn hook_shell_startup_does_not_stop_on_controlling_terminal() { timeout_sec: 2, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: AbsolutePathBuf::try_from(temp.path().join("hooks.json")) .expect("absolute hook configuration path") .into(), @@ -221,6 +222,7 @@ async fn cmd_shell_runs_quoted_hook_command_path() { timeout_sec: 10, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: source_path.into(), source: HookSource::User, display_order: 0, @@ -271,6 +273,7 @@ async fn fast_exiting_hook_preserves_stdout_when_stdin_is_not_consumed() { timeout_sec: 10, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: source_path.into(), source: HookSource::User, display_order: 0, @@ -359,6 +362,7 @@ async fn command_hook_does_not_expose_configured_noise_auth_token() { timeout_sec: 10, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: source_path.into(), source: HookSource::User, display_order: 0, @@ -497,6 +501,7 @@ fn write_handler(temp: &TempDir, source: &str) -> ConfiguredHandler { timeout_sec: 10, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: AbsolutePathBuf::try_from(temp.path().join("hooks.json")) .expect("absolute test hook path") .into(), diff --git a/codex-rs/hooks/src/engine/discovery.rs b/codex-rs/hooks/src/engine/discovery.rs index 0c5a28ef35ef..e3a928c05107 100644 --- a/codex-rs/hooks/src/engine/discovery.rs +++ b/codex-rs/hooks/src/engine/discovery.rs @@ -77,6 +77,7 @@ struct NormalizedHandler { timeout_sec: u64, status_message: Option, additional_context_limit: Option, + fail_closed: bool, } #[derive(Clone, Copy)] @@ -511,6 +512,7 @@ fn append_matcher_groups( r#async, status_message, additional_context_limit, + fail_closed, } => { let command = if cfg!(windows) { command_windows.unwrap_or(command) @@ -565,6 +567,7 @@ fn append_matcher_groups( r#async, status_message: status_message.clone(), additional_context_limit: normalized_additional_context_limit, + fail_closed, }; let command = source.env.iter().fold(command, |command, (key, value)| { command.replace(&format!("${{{key}}}"), value) @@ -579,6 +582,7 @@ fn append_matcher_groups( timeout_sec, status_message, additional_context_limit, + fail_closed, } } HookHandlerConfig::McpTool { @@ -632,6 +636,7 @@ fn append_matcher_groups( timeout_sec, status_message, additional_context_limit: None, + fail_closed: false, } } HookHandlerConfig::Prompt {} => { @@ -662,6 +667,7 @@ fn append_matcher_groups( timeout_sec, status_message, additional_context_limit, + fail_closed, } = normalized; let current_hash = hook_hash(event_name, matcher, &group, &config); let key = crate::hook_key(&source.key_source, event_name, group_index, handler_index); @@ -728,6 +734,7 @@ fn append_matcher_groups( additional_context_limit: AdditionalContextLimit::from_config( additional_context_limit, ), + fail_closed, source_path: source.path.clone().into(), source: source.source, display_order: *display_order, @@ -979,6 +986,7 @@ mod tests { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], } } @@ -995,6 +1003,7 @@ mod tests { r#async: false, status_message: None, additional_context_limit: Some(additional_context_limit), + fail_closed: false, }], } } @@ -1263,6 +1272,7 @@ mod tests { timeout_sec: 600, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: source_path.clone().into(), source: hook_source(), display_order: 0, @@ -1303,6 +1313,7 @@ mod tests { timeout_sec: 600, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: source_path.clone().into(), source: hook_source(), display_order: 0, @@ -1341,6 +1352,7 @@ mod tests { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }, HookHandlerConfig::Command { command: "echo clamped".to_string(), @@ -1349,6 +1361,7 @@ mod tests { r#async: true, status_message: None, additional_context_limit: None, + fail_closed: false, }, ], }], @@ -1431,6 +1444,7 @@ mod tests { r#async: true, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ); @@ -1621,6 +1635,7 @@ mod tests { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -1652,6 +1667,7 @@ mod tests { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ); diff --git a/codex-rs/hooks/src/engine/dispatcher.rs b/codex-rs/hooks/src/engine/dispatcher.rs index b34118d6f2b8..f90f8d179eac 100644 --- a/codex-rs/hooks/src/engine/dispatcher.rs +++ b/codex-rs/hooks/src/engine/dispatcher.rs @@ -357,6 +357,7 @@ mod tests { timeout_sec: 5, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: HookSource::User, display_order, diff --git a/codex-rs/hooks/src/engine/mcp_runner_tests.rs b/codex-rs/hooks/src/engine/mcp_runner_tests.rs index a16613ea071d..297013a6a3c5 100644 --- a/codex-rs/hooks/src/engine/mcp_runner_tests.rs +++ b/codex-rs/hooks/src/engine/mcp_runner_tests.rs @@ -97,6 +97,7 @@ async fn mcp_tool_results_use_command_hook_output_contract() { timeout_sec: 30, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: HookSource::User, display_order: 0, diff --git a/codex-rs/hooks/src/engine/mod.rs b/codex-rs/hooks/src/engine/mod.rs index a007f3b1a459..e71de4bf1961 100644 --- a/codex-rs/hooks/src/engine/mod.rs +++ b/codex-rs/hooks/src/engine/mod.rs @@ -67,6 +67,8 @@ pub(crate) struct ConfiguredHandler { pub timeout_sec: u64, pub status_message: Option, pub additional_context_limit: AdditionalContextLimit, + /// Opt-in: a failed run of this handler blocks the tool instead of failing open. + pub fail_closed: bool, pub source_path: HandlerSourcePath, pub source: HookSource, pub display_order: i64, @@ -327,6 +329,7 @@ impl ClaudeHooksEngine { timeout_sec: timeout_sec.unwrap_or(5).max(1), status_message, additional_context_limit: Default::default(), + fail_closed: false, source_path: HandlerSourcePath::ExecutorScoped { plugin_id: source.plugin_id.clone(), environment_id: source.environment_id.clone(), diff --git a/codex-rs/hooks/src/engine/mod_tests.rs b/codex-rs/hooks/src/engine/mod_tests.rs index a185e45029ff..28416ad132f9 100644 --- a/codex-rs/hooks/src/engine/mod_tests.rs +++ b/codex-rs/hooks/src/engine/mod_tests.rs @@ -96,6 +96,7 @@ fn permission_request_timeout_only_counts_synchronous_handlers() { timeout_sec: 5, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: cwd().join("hooks.json").into(), source: HookSource::User, display_order: 0, @@ -156,6 +157,7 @@ fn pre_tool_use_hook_events(command: impl Into) -> HookEventsToml { r#async: false, status_message: Some("checking".to_string()), additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -584,6 +586,7 @@ with Path(r"{log_path}").open("a", encoding="utf-8") as handle: r#async: false, status_message: Some("checking".to_string()), additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -692,6 +695,7 @@ async fn requirements_managed_hooks_execute_windows_command_override() { r#async: false, status_message: Some("checking".to_string()), additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -773,6 +777,7 @@ fn unknown_requirement_source_hooks_stay_managed() { r#async: false, status_message: Some("checking".to_string()), additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -843,6 +848,7 @@ fn user_disablement_filters_non_managed_hooks_but_not_managed_hooks() { r#async: false, status_message: Some("checking".to_string()), additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -1087,6 +1093,7 @@ fn requirements_managed_hooks_load_when_managed_dir_is_missing() { r#async: false, status_message: Some("checking".to_string()), additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -1812,6 +1819,7 @@ fn bundled_cleanup_trust_does_not_extend_to_other_handlers() { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }, ]); source.hooks.stop.push(MatcherGroup { @@ -1974,6 +1982,7 @@ fn disabled_hooks_feature_keeps_builtin_cleanup_but_not_trusted_plugin_hooks() { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }); let stack = trusted_plugin_hook_stack(cwd().join("config.toml"), &[source.clone()]); let discovered = super::discovery::discover_handlers( @@ -2039,6 +2048,7 @@ print(json.dumps({ r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -2160,6 +2170,7 @@ fn plugin_hook_sources_expand_plugin_placeholders() { r#async: false, status_message: None, additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() @@ -2318,6 +2329,7 @@ fn executor_stop_hook_fixture() -> ( timeout_sec: 5, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: HandlerSourcePath::ExecutorScoped { plugin_id: PluginId::parse("computer-use@openai-bundled").expect("valid plugin ID"), environment_id: "executor-a".to_string(), @@ -2407,6 +2419,7 @@ async fn executor_stop_hooks_run_unless_regular_hooks_block_without_stopping() { timeout_sec: 30, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: cwd().join("hooks.json").into(), source: HookSource::User, display_order: 0, @@ -2442,6 +2455,7 @@ async fn executor_stop_hooks_run_unless_regular_hooks_block_without_stopping() { timeout_sec: 30, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: cwd().join("hooks.json").into(), source: HookSource::User, display_order: 1, diff --git a/codex-rs/hooks/src/events/compact.rs b/codex-rs/hooks/src/events/compact.rs index 82bd6c6cf55d..0a123b933816 100644 --- a/codex-rs/hooks/src/events/compact.rs +++ b/codex-rs/hooks/src/events/compact.rs @@ -529,6 +529,7 @@ mod tests { timeout_sec: 5, status_message: Some("running compact hook".to_string()), additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: codex_protocol::protocol::HookSource::User, display_order: 0, diff --git a/codex-rs/hooks/src/events/interrupt_tests.rs b/codex-rs/hooks/src/events/interrupt_tests.rs index 3d8642c8457b..dc255e03b282 100644 --- a/codex-rs/hooks/src/events/interrupt_tests.rs +++ b/codex-rs/hooks/src/events/interrupt_tests.rs @@ -104,6 +104,7 @@ fn handler() -> ConfiguredHandler { timeout_sec: 600, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: codex_protocol::protocol::HookSource::User, display_order: 0, diff --git a/codex-rs/hooks/src/events/post_tool_use.rs b/codex-rs/hooks/src/events/post_tool_use.rs index 0ca0f6c673d8..69ccffc22203 100644 --- a/codex-rs/hooks/src/events/post_tool_use.rs +++ b/codex-rs/hooks/src/events/post_tool_use.rs @@ -595,6 +595,7 @@ mod tests { timeout_sec: 5, status_message: Some("running post tool use hook".to_string()), additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: codex_protocol::protocol::HookSource::User, display_order: 0, diff --git a/codex-rs/hooks/src/events/pre_tool_use.rs b/codex-rs/hooks/src/events/pre_tool_use.rs index e57b823a1c86..a0881025bacd 100644 --- a/codex-rs/hooks/src/events/pre_tool_use.rs +++ b/codex-rs/hooks/src/events/pre_tool_use.rs @@ -292,6 +292,26 @@ fn parse_completed( }, } + // `failClosed` turns every failure into a block the model sees. A handler + // without the flag keeps failing open, so the tool still runs. + if handler.fail_closed + && handler.can_apply_control_effects() + && status == HookRunStatus::Failed + { + status = HookRunStatus::Blocked; + should_block = true; + let reason = entries + .iter() + .find(|entry| entry.kind == HookOutputEntryKind::Error) + .map(|entry| format!("hook failed closed: {}", entry.text)) + .unwrap_or_else(|| "hook failed closed".to_string()); + block_reason = Some(reason.clone()); + entries.push(HookOutputEntry { + kind: HookOutputEntryKind::Feedback, + text: reason, + }); + } + let completed = HookCompletedEvent { turn_id, run: dispatcher::completed_summary(handler, &run_result, status, entries), @@ -333,6 +353,7 @@ mod tests { use super::PreToolUseHandlerData; use super::command_input_json; use super::latest_updated_input; + use super::dispatcher; use super::parse_completed; use super::preview; use crate::engine::ConfiguredHandler; @@ -779,6 +800,7 @@ mod tests { timeout_sec: 5, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: codex_protocol::protocol::HookSource::User, display_order: 0, @@ -802,6 +824,141 @@ mod tests { } } + fn run_result_error(error: &str) -> HandlerRunResult { + HandlerRunResult { + started_at: 1, + completed_at: 2, + duration_ms: 1, + exit_code: None, + stdout: String::new(), + stderr: String::new(), + error: Some(error.to_string()), + } + } + + fn assert_failed_open(parsed: &dispatcher::ParsedHandler) { + assert!(!parsed.data.should_block); + assert_eq!(parsed.data.block_reason, None); + assert_eq!(parsed.completed.run.status, HookRunStatus::Failed); + } + + fn assert_failed_closed( + parsed: &dispatcher::ParsedHandler, + reason_contains: &str, + ) { + assert!(parsed.data.should_block); + let reason = parsed.data.block_reason.as_deref().unwrap_or_default(); + assert!( + reason.contains(reason_contains), + "block reason {reason:?} should mention {reason_contains:?}" + ); + assert!(reason.starts_with("hook failed closed: ")); + assert_eq!(parsed.completed.run.status, HookRunStatus::Blocked); + assert!( + parsed + .completed + .run + .entries + .iter() + .any(|entry| entry.kind == HookOutputEntryKind::Feedback + && entry.text.contains(reason_contains)) + ); + } + + #[test] + fn fail_closed_blocks_nonzero_exit_other_than_two() { + let mut handler = handler(); + handler.fail_closed = true; + let parsed = parse_completed(&handler, run_result(Some(1), "", "boom"), None); + assert_failed_closed(&parsed, "hook exited with code 1"); + } + + #[test] + fn fail_closed_blocks_exit_two_without_a_reason() { + let mut handler = handler(); + handler.fail_closed = true; + let parsed = parse_completed(&handler, run_result(Some(2), "", " "), None); + assert_failed_closed(&parsed, "did not write a blocking reason"); + } + + #[test] + fn fail_closed_blocks_missing_status_code() { + let mut handler = handler(); + handler.fail_closed = true; + let parsed = parse_completed(&handler, run_result(None, "", ""), None); + assert_failed_closed(&parsed, "exited without a status code"); + } + + #[test] + fn fail_closed_blocks_spawn_failure() { + let mut handler = handler(); + handler.fail_closed = true; + let parsed = parse_completed( + &handler, + run_result_error("No such file or directory (os error 2)"), + None, + ); + assert_failed_closed(&parsed, "No such file or directory"); + } + + #[test] + fn fail_closed_blocks_timeout() { + let mut handler = handler(); + handler.fail_closed = true; + let parsed = parse_completed( + &handler, + run_result_error("hook timed out after 5s"), + None, + ); + assert_failed_closed(&parsed, "timed out"); + } + + #[test] + fn fail_closed_blocks_crash_or_signal() { + let mut handler = handler(); + handler.fail_closed = true; + let parsed = parse_completed( + &handler, + run_result_error("wait_error: process terminated by signal"), + None, + ); + assert_failed_closed(&parsed, "terminated by signal"); + } + + #[test] + fn fail_closed_blocks_invalid_json() { + let mut handler = handler(); + handler.fail_closed = true; + let parsed = parse_completed(&handler, run_result(Some(0), "{not json", ""), None); + assert_failed_closed(&parsed, "invalid pre-tool-use JSON"); + } + + #[test] + fn fail_closed_blocks_unreadable_command_output() { + let mut handler = handler(); + handler.fail_closed = true; + let parsed = parse_completed( + &handler, + run_result_error("stream did not contain valid UTF-8"), + None, + ); + assert_failed_closed(&parsed, "valid UTF-8"); + } + + #[test] + fn handler_without_fail_closed_still_fails_open() { + for result in [ + run_result(Some(1), "", ""), + run_result(Some(2), "", ""), + run_result(None, "", ""), + run_result(Some(0), "{not json", ""), + run_result_error("No such file or directory (os error 2)"), + run_result_error("hook timed out after 5s"), + ] { + assert_failed_open(&parse_completed(&handler(), result, None)); + } + } + fn request_for_tool_use(tool_use_id: &str) -> super::PreToolUseRequest { super::PreToolUseRequest { session_id: ThreadId::new(), diff --git a/codex-rs/hooks/src/events/session_end_tests.rs b/codex-rs/hooks/src/events/session_end_tests.rs index 05fa107d4fa9..dc6c378b3f8a 100644 --- a/codex-rs/hooks/src/events/session_end_tests.rs +++ b/codex-rs/hooks/src/events/session_end_tests.rs @@ -67,6 +67,7 @@ fn handler(matcher: Option<&str>) -> ConfiguredHandler { timeout_sec: 2, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: HookSource::User, display_order: 0, diff --git a/codex-rs/hooks/src/events/session_start.rs b/codex-rs/hooks/src/events/session_start.rs index 3aff0fe946eb..95bc42cf274c 100644 --- a/codex-rs/hooks/src/events/session_start.rs +++ b/codex-rs/hooks/src/events/session_start.rs @@ -548,6 +548,7 @@ mod tests { timeout_sec: 600, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: codex_protocol::protocol::HookSource::User, display_order: 0, diff --git a/codex-rs/hooks/src/events/stop.rs b/codex-rs/hooks/src/events/stop.rs index be2be9100e35..32802fd9705b 100644 --- a/codex-rs/hooks/src/events/stop.rs +++ b/codex-rs/hooks/src/events/stop.rs @@ -698,6 +698,7 @@ mod tests { timeout_sec: 600, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: codex_protocol::protocol::HookSource::User, display_order: 0, diff --git a/codex-rs/hooks/src/events/user_prompt_submit.rs b/codex-rs/hooks/src/events/user_prompt_submit.rs index 9124431bc194..65a9f252f3c2 100644 --- a/codex-rs/hooks/src/events/user_prompt_submit.rs +++ b/codex-rs/hooks/src/events/user_prompt_submit.rs @@ -467,6 +467,7 @@ mod tests { timeout_sec: 5, status_message: None, additional_context_limit: Default::default(), + fail_closed: false, source_path: test_path_buf("/tmp/hooks.json").abs().into(), source: codex_protocol::protocol::HookSource::User, display_order: 0, From 0f45beb014893bfea87e1b7c499a77cf44a7bf0b Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 11:47:33 +0000 Subject: [PATCH 16/30] hooks: close the failClosed gaps the review found An async handler that sets failClosed now runs synchronously, with a warning, instead of failing open silently. The block can only be applied before the tool starts, so skipping the hook would leave no guard. A non-empty write_stdin payload now carries the exec process's start cwd as workdir, looked up by session_id, or null when the process is gone. A cd typed into the shell is not tracked, and the hook config documents that MCP tool hooks and hooks that never run cannot fail closed. --- codex-rs/config/src/hook_config.rs | 9 +++- .../handlers/unified_exec/write_stdin.rs | 33 +++++++++++- .../src/tools/handlers/unified_exec_tests.rs | 3 +- .../core/src/unified_exec/process_manager.rs | 11 ++++ .../src/unified_exec/process_manager_tests.rs | 49 ++++++++++++++++++ codex-rs/hooks/src/engine/discovery.rs | 50 +++++++++++++++++++ 6 files changed, 150 insertions(+), 5 deletions(-) diff --git a/codex-rs/config/src/hook_config.rs b/codex-rs/config/src/hook_config.rs index 3b56a62fbc1c..8fbcd7ac79bd 100644 --- a/codex-rs/config/src/hook_config.rs +++ b/codex-rs/config/src/hook_config.rs @@ -182,8 +182,13 @@ pub enum HookHandlerConfig { skip_serializing_if = "Option::is_none" )] additional_context_limit: Option, - /// When true, a hook that fails for any reason blocks the tool instead of - /// letting it run. Defaults to false so existing handlers keep failing open. + /// When true, a failure of this command hook blocks the tool instead of + /// failing open. Defaults to false, so existing handlers are unchanged. + /// Only command hooks carry this field; MCP tool hooks always fail open. + /// It also has no effect on a hook that never runs, such as an untrusted + /// user or project hook, or when the hooks feature is disabled. An async + /// handler that sets it runs synchronously, because a block can only be + /// applied before the tool starts. #[serde(default, rename = "failClosed")] fail_closed: bool, }, diff --git a/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs b/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs index 8186e528db58..c6a749fb89e9 100644 --- a/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs +++ b/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs @@ -1,3 +1,5 @@ +use std::sync::Arc; + use crate::function_tool::FunctionCallError; use codex_features::Feature; @@ -153,9 +155,14 @@ impl CoreToolRuntime for WriteStdinHandler { if args.chars.is_empty() { return None; } + // The directory the shell was started in, not its current directory: a + // `cd` typed into the shell is not tracked. Null when the process is gone. + let workdir = exec_process_start_cwd(invocation, args.session_id) + .map(serde_json::Value::String) + .unwrap_or(serde_json::Value::Null); Some(PreToolUsePayload { tool_name: HookToolName::bash(), - tool_input: serde_json::json!({ "command": args.chars }), + tool_input: serde_json::json!({ "command": args.chars, "workdir": workdir }), }) } @@ -169,3 +176,27 @@ impl CoreToolRuntime for WriteStdinHandler { post_unified_exec_tool_use_payload(invocation, result) } } + +/// The payload hook is synchronous, while the process store is behind an async +/// lock. The caller runs on the session runtime, so the lookup is spawned there +/// and reported back to this thread. +fn exec_process_start_cwd(invocation: &ToolInvocation, process_id: i32) -> Option { + let session = Arc::clone(&invocation.session); + let (tx, rx) = std::sync::mpsc::channel(); + tokio::spawn(async move { + let cwd = session + .services + .unified_exec_manager + .start_cwd_for_process(process_id) + .await; + let _ = tx.send(cwd); + }); + // Receiving on the runtime thread would deadlock the spawned lookup, so the + // wait happens on a worker thread and gives up rather than stalling the tool. + std::thread::spawn(move || rx.recv_timeout(std::time::Duration::from_secs(2))) + .join() + .ok() + .and_then(Result::ok) + .flatten() + .map(|cwd| cwd.to_string()) +} diff --git a/codex-rs/core/src/tools/handlers/unified_exec_tests.rs b/codex-rs/core/src/tools/handlers/unified_exec_tests.rs index 7c37345c2989..f4903e7e7bea 100644 --- a/codex-rs/core/src/tools/handlers/unified_exec_tests.rs +++ b/codex-rs/core/src/tools/handlers/unified_exec_tests.rs @@ -632,7 +632,6 @@ async fn exec_command_pre_tool_use_payload_resolves_workdir() { } #[tokio::test] -async fn exec_command_pre_tool_use_payload_skips_write_stdin() { async fn write_stdin_pre_tool_use_payload_reviews_nonempty_input_as_bash() { let payload = ToolPayload::Function { arguments: serde_json::json!({ "session_id": 1, "chars": "git reset --hard\n" }).to_string(), @@ -655,7 +654,7 @@ async fn write_stdin_pre_tool_use_payload_reviews_nonempty_input_as_bash() { }), Some(crate::tools::registry::PreToolUsePayload { tool_name: HookToolName::bash(), - tool_input: serde_json::json!({ "command": "git reset --hard\n" }), + tool_input: serde_json::json!({ "command": "git reset --hard\n", "workdir": null }), }) ); } diff --git a/codex-rs/core/src/unified_exec/process_manager.rs b/codex-rs/core/src/unified_exec/process_manager.rs index 2940235c6a3b..b810a6be0c81 100644 --- a/codex-rs/core/src/unified_exec/process_manager.rs +++ b/codex-rs/core/src/unified_exec/process_manager.rs @@ -1820,6 +1820,17 @@ impl UnifiedExecProcessManager { .map(|entry| entry.environment_id.clone()) } + /// The directory the exec process was started in. This is the start cwd, + /// not the shell's current directory: a `cd` typed into the shell is not tracked. + pub(crate) async fn start_cwd_for_process(&self, process_id: i32) -> Option { + self.process_store + .lock() + .await + .processes + .get(&process_id) + .map(|entry| entry.cwd.clone()) + } + pub(crate) async fn list_processes(&self) -> Vec { let store = self.process_store.lock().await; let mut entries = store diff --git a/codex-rs/core/src/unified_exec/process_manager_tests.rs b/codex-rs/core/src/unified_exec/process_manager_tests.rs index ce56681e68b4..7bd3f21056d4 100644 --- a/codex-rs/core/src/unified_exec/process_manager_tests.rs +++ b/codex-rs/core/src/unified_exec/process_manager_tests.rs @@ -678,3 +678,52 @@ async fn pruning_does_not_evict_live_process_while_exited_process_is_finalizing( (None, MAX_UNIFIED_EXEC_PROCESSES) ); } + +#[tokio::test] +async fn start_cwd_for_process_returns_the_spawn_directory() { + let (_, turn) = crate::session::tests::make_session_and_context().await; + let manager = UnifiedExecProcessManager::default(); + let process_id = manager.allocate_process_id().await; + let cwd = PathUri::parse("file:///tmp/other-repo").expect("cwd"); + let process = Arc::new( + crate::unified_exec::process_tests::remote_process( + codex_exec_server::WriteStatus::Accepted, + /*terminate_error*/ None, + codex_sandboxing::SandboxType::None, + ) + .await, + ); + manager.process_store.lock().await.processes.insert( + process_id, + ProcessEntry { + process, + plugin_metrics_sidecar: None, + call_id: "call".to_string(), + process_id, + cwd: cwd.clone(), + initial_exec_command_active: Arc::new(std::sync::atomic::AtomicBool::new(false)), + hook_command: "bash".to_string(), + tty: true, + environment_id: codex_exec_server::LOCAL_ENVIRONMENT_ID.to_string(), + permissions: super::super::TerminalPermissions::for_launch( + turn.initial_environments + .primary() + .expect("turn environment"), + &turn, + super::super::TerminalSandboxSource::Native, + crate::sandboxing::SandboxPermissions::UseDefault, + /*additional_permissions*/ None, + /*internal_permissions*/ None, + ), + network_approval: None, + session: std::sync::Weak::new(), + last_used: Instant::now(), + }, + ); + + assert_eq!( + manager.start_cwd_for_process(process_id).await.as_ref(), + Some(&cwd) + ); + assert_eq!(manager.start_cwd_for_process(process_id + 1).await, None); +} diff --git a/codex-rs/hooks/src/engine/discovery.rs b/codex-rs/hooks/src/engine/discovery.rs index e3a928c05107..820c2a8da43a 100644 --- a/codex-rs/hooks/src/engine/discovery.rs +++ b/codex-rs/hooks/src/engine/discovery.rs @@ -540,6 +540,19 @@ fn append_matcher_groups( source.path.display() )); } + // `failClosed` only takes effect on a synchronous handler, so an + // async handler that asks for it runs synchronously. Skipping it + // would let the tool run with no guard at all. + let runs_async = if runs_async && fail_closed { + warnings.push(format!( + "running async {} hook synchronously in {} because failClosed is set", + hook_event_name_label(event_name), + source.path.display() + )); + false + } else { + runs_async + }; let additional_context_limit = if matches!( event_name, codex_protocol::protocol::HookEventName::PreToolUse @@ -1489,6 +1502,43 @@ mod tests { ); } + #[test] + fn fail_closed_forces_an_async_handler_to_run_synchronously() { + let source_path = source_path(); + let hook_states = std::collections::HashMap::new(); + let mut handlers = Vec::new(); + let mut warnings = Vec::new(); + + append_matcher_groups( + &mut handlers, + &mut Vec::new(), + &mut warnings, + &mut 0, + &mut hook_handler_source(&source_path, &hook_states), + HookEventName::PreToolUse, + vec![MatcherGroup { + matcher: Some("Bash".to_string()), + hooks: vec![HookHandlerConfig::Command { + command: "echo guard".to_string(), + command_windows: None, + timeout_sec: None, + r#async: true, + status_message: None, + additional_context_limit: None, + fail_closed: true, + }], + }], + ); + + assert_eq!(handlers.len(), 1); + assert!(handlers[0].fail_closed); + assert_eq!(handlers[0].execution_mode(), HookExecutionMode::Sync); + assert!( + warnings.iter().any(|warning| warning.contains("failClosed")), + "expected a warning about the async/failClosed combination, got {warnings:?}" + ); + } + #[test] fn bypass_hook_trust_allows_enabled_untrusted_handlers() { let mut handlers = Vec::new(); From 674c84189cc73354bedebf0bad880c54be8f4339 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 12:07:49 +0000 Subject: [PATCH 17/30] hooks: look up the exec start cwd without blocking The write_stdin hook reads the process store with try_lock, so a busy store reports workdir as null instead of blocking a runtime worker. The previous lookup spawned a task and joined it from another thread, which deadlocked on a current-thread runtime and panicked outside one. Also fills the two HookHandlerConfig literals CI found in the tui and app-server tests. --- .../app-server/tests/suite/v2/hooks_list.rs | 1 + .../handlers/unified_exec/write_stdin.rs | 34 ++++--------------- .../core/src/unified_exec/process_manager.rs | 8 +++-- .../src/unified_exec/process_manager_tests.rs | 17 ++++++++-- codex-rs/tui/src/debug_config.rs | 1 + 5 files changed, 28 insertions(+), 33 deletions(-) diff --git a/codex-rs/app-server/tests/suite/v2/hooks_list.rs b/codex-rs/app-server/tests/suite/v2/hooks_list.rs index beebe306a148..fb7c05bc06df 100644 --- a/codex-rs/app-server/tests/suite/v2/hooks_list.rs +++ b/codex-rs/app-server/tests/suite/v2/hooks_list.rs @@ -67,6 +67,7 @@ fn command_hook_hash( r#async, status_message: status_message.map(ToOwned::to_owned), additional_context_limit, + fail_closed: false, }], }, }; diff --git a/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs b/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs index c6a749fb89e9..dd894604139a 100644 --- a/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs +++ b/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs @@ -1,5 +1,3 @@ -use std::sync::Arc; - use crate::function_tool::FunctionCallError; use codex_features::Feature; @@ -157,8 +155,12 @@ impl CoreToolRuntime for WriteStdinHandler { } // The directory the shell was started in, not its current directory: a // `cd` typed into the shell is not tracked. Null when the process is gone. - let workdir = exec_process_start_cwd(invocation, args.session_id) - .map(serde_json::Value::String) + let workdir = invocation + .session + .services + .unified_exec_manager + .start_cwd_for_process(args.session_id) + .map(|cwd| serde_json::Value::String(cwd.to_string())) .unwrap_or(serde_json::Value::Null); Some(PreToolUsePayload { tool_name: HookToolName::bash(), @@ -176,27 +178,3 @@ impl CoreToolRuntime for WriteStdinHandler { post_unified_exec_tool_use_payload(invocation, result) } } - -/// The payload hook is synchronous, while the process store is behind an async -/// lock. The caller runs on the session runtime, so the lookup is spawned there -/// and reported back to this thread. -fn exec_process_start_cwd(invocation: &ToolInvocation, process_id: i32) -> Option { - let session = Arc::clone(&invocation.session); - let (tx, rx) = std::sync::mpsc::channel(); - tokio::spawn(async move { - let cwd = session - .services - .unified_exec_manager - .start_cwd_for_process(process_id) - .await; - let _ = tx.send(cwd); - }); - // Receiving on the runtime thread would deadlock the spawned lookup, so the - // wait happens on a worker thread and gives up rather than stalling the tool. - std::thread::spawn(move || rx.recv_timeout(std::time::Duration::from_secs(2))) - .join() - .ok() - .and_then(Result::ok) - .flatten() - .map(|cwd| cwd.to_string()) -} diff --git a/codex-rs/core/src/unified_exec/process_manager.rs b/codex-rs/core/src/unified_exec/process_manager.rs index b810a6be0c81..c650702111d1 100644 --- a/codex-rs/core/src/unified_exec/process_manager.rs +++ b/codex-rs/core/src/unified_exec/process_manager.rs @@ -1822,10 +1822,12 @@ impl UnifiedExecProcessManager { /// The directory the exec process was started in. This is the start cwd, /// not the shell's current directory: a `cd` typed into the shell is not tracked. - pub(crate) async fn start_cwd_for_process(&self, process_id: i32) -> Option { + /// Returns `None` when the process is gone or the store is busy, so the caller + /// never blocks on the lock. + pub(crate) fn start_cwd_for_process(&self, process_id: i32) -> Option { self.process_store - .lock() - .await + .try_lock() + .ok()? .processes .get(&process_id) .map(|entry| entry.cwd.clone()) diff --git a/codex-rs/core/src/unified_exec/process_manager_tests.rs b/codex-rs/core/src/unified_exec/process_manager_tests.rs index 7bd3f21056d4..9f4e2ef12fe1 100644 --- a/codex-rs/core/src/unified_exec/process_manager_tests.rs +++ b/codex-rs/core/src/unified_exec/process_manager_tests.rs @@ -722,8 +722,21 @@ async fn start_cwd_for_process_returns_the_spawn_directory() { ); assert_eq!( - manager.start_cwd_for_process(process_id).await.as_ref(), + manager.start_cwd_for_process(process_id).as_ref(), Some(&cwd) ); - assert_eq!(manager.start_cwd_for_process(process_id + 1).await, None); + assert_eq!(manager.start_cwd_for_process(process_id + 1), None); +} + +#[tokio::test] +async fn start_cwd_for_process_returns_none_without_blocking_while_locked() { + let manager = UnifiedExecProcessManager::default(); + let _guard = manager.process_store.lock().await; + + let started = Instant::now(); + assert_eq!(manager.start_cwd_for_process(1), None); + assert!( + started.elapsed() < Duration::from_millis(200), + "lookup blocked on the held lock" + ); } diff --git a/codex-rs/tui/src/debug_config.rs b/codex-rs/tui/src/debug_config.rs index 2840e99609fd..929a81d49723 100644 --- a/codex-rs/tui/src/debug_config.rs +++ b/codex-rs/tui/src/debug_config.rs @@ -1395,6 +1395,7 @@ approval_policy = "never" r#async: false, status_message: Some("checking".to_string()), additional_context_limit: None, + fail_closed: false, }], }], ..Default::default() From 5beae3a8bf64bd2380c19ce9306a158792eb5170 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 12:15:51 +0000 Subject: [PATCH 18/30] hooks: format the write_stdin hook changes cargo fmt wants the HookToolName import grouped with the other tool imports and the long json! argument wrapped. --- codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs | 2 +- codex-rs/core/src/tools/handlers/unified_exec_tests.rs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs b/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs index dd894604139a..1dbec8ddfcec 100644 --- a/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs +++ b/codex-rs/core/src/tools/handlers/unified_exec/write_stdin.rs @@ -6,10 +6,10 @@ use crate::tools::context::ToolPayload; use crate::tools::context::boxed_tool_output; use crate::tools::handlers::parse_arguments; use crate::tools::handlers::resolve_tool_environment; +use crate::tools::hook_names::HookToolName; use crate::tools::registry::CoreToolRuntime; use crate::tools::registry::PostToolUsePayload; use crate::tools::registry::PreToolUsePayload; -use crate::tools::hook_names::HookToolName; use crate::tools::registry::ToolExecutor; use crate::tools::sandboxing::ToolError; use crate::unified_exec::UnifiedExecContext; diff --git a/codex-rs/core/src/tools/handlers/unified_exec_tests.rs b/codex-rs/core/src/tools/handlers/unified_exec_tests.rs index f4903e7e7bea..6729a5fd79c6 100644 --- a/codex-rs/core/src/tools/handlers/unified_exec_tests.rs +++ b/codex-rs/core/src/tools/handlers/unified_exec_tests.rs @@ -634,7 +634,8 @@ async fn exec_command_pre_tool_use_payload_resolves_workdir() { #[tokio::test] async fn write_stdin_pre_tool_use_payload_reviews_nonempty_input_as_bash() { let payload = ToolPayload::Function { - arguments: serde_json::json!({ "session_id": 1, "chars": "git reset --hard\n" }).to_string(), + arguments: serde_json::json!({ "session_id": 1, "chars": "git reset --hard\n" }) + .to_string(), }; let (session, turn) = make_session_and_context().await; let turn = Arc::new(turn); From 487b16248aa713914a17a59b0c454dbd19546c76 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 12:25:22 +0000 Subject: [PATCH 19/30] hooks: format the failClosed changes cargo fmt reflows the fail-closed condition, the async warning assertion, and the timeout test call, and orders the test imports. --- codex-rs/hooks/src/engine/discovery.rs | 4 +++- codex-rs/hooks/src/events/pre_tool_use.rs | 12 +++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/codex-rs/hooks/src/engine/discovery.rs b/codex-rs/hooks/src/engine/discovery.rs index 820c2a8da43a..a5a8709a9d4a 100644 --- a/codex-rs/hooks/src/engine/discovery.rs +++ b/codex-rs/hooks/src/engine/discovery.rs @@ -1534,7 +1534,9 @@ mod tests { assert!(handlers[0].fail_closed); assert_eq!(handlers[0].execution_mode(), HookExecutionMode::Sync); assert!( - warnings.iter().any(|warning| warning.contains("failClosed")), + warnings + .iter() + .any(|warning| warning.contains("failClosed")), "expected a warning about the async/failClosed combination, got {warnings:?}" ); } diff --git a/codex-rs/hooks/src/events/pre_tool_use.rs b/codex-rs/hooks/src/events/pre_tool_use.rs index a0881025bacd..1c57b192bbf4 100644 --- a/codex-rs/hooks/src/events/pre_tool_use.rs +++ b/codex-rs/hooks/src/events/pre_tool_use.rs @@ -294,9 +294,7 @@ fn parse_completed( // `failClosed` turns every failure into a block the model sees. A handler // without the flag keeps failing open, so the tool still runs. - if handler.fail_closed - && handler.can_apply_control_effects() - && status == HookRunStatus::Failed + if handler.fail_closed && handler.can_apply_control_effects() && status == HookRunStatus::Failed { status = HookRunStatus::Blocked; should_block = true; @@ -352,8 +350,8 @@ mod tests { use super::PreToolUseHandlerData; use super::command_input_json; - use super::latest_updated_input; use super::dispatcher; + use super::latest_updated_input; use super::parse_completed; use super::preview; use crate::engine::ConfiguredHandler; @@ -905,11 +903,7 @@ mod tests { fn fail_closed_blocks_timeout() { let mut handler = handler(); handler.fail_closed = true; - let parsed = parse_completed( - &handler, - run_result_error("hook timed out after 5s"), - None, - ); + let parsed = parse_completed(&handler, run_result_error("hook timed out after 5s"), None); assert_failed_closed(&parsed, "timed out"); } From 385bef2bebdcd10702bbd5416666a305477c344b Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 15:38:41 +0000 Subject: [PATCH 20/30] Regenerate the hook handler schema fixtures for failClosed ConfiguredHookHandler gained failClosed, so the vendored TypeScript, JSON schema, precomputed export and Python SDK type are regenerated from it. --- .../codex_app_server_protocol.schemas.json | 5 +++++ .../codex_app_server_protocol.v2.schemas.json | 5 +++++ .../v2/ConfigRequirementsReadResponse.json | 5 +++++ .../app-server-exports-stable.json.zst | Bin 158034 -> 158145 bytes .../typescript/v2/ConfiguredHookHandler.ts | 6 +++++- .../src/openai_codex/generated/v2_all.py | 7 +++++++ 6 files changed, 27 insertions(+), 1 deletion(-) diff --git a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json index c105c371955a..8a4919d25773 100644 --- a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json +++ b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json @@ -10375,6 +10375,11 @@ "null" ] }, + "failClosed": { + "default": false, + "description": "When true, a failure of this hook blocks the tool instead of failing open.", + "type": "boolean" + }, "statusMessage": { "type": [ "string", diff --git a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json index 1a38e4fe91b7..5e4aa94961ba 100644 --- a/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json +++ b/codex-rs/app-server-protocol/schema/json/codex_app_server_protocol.v2.schemas.json @@ -6211,6 +6211,11 @@ "null" ] }, + "failClosed": { + "default": false, + "description": "When true, a failure of this hook blocks the tool instead of failing open.", + "type": "boolean" + }, "statusMessage": { "type": [ "string", diff --git a/codex-rs/app-server-protocol/schema/json/v2/ConfigRequirementsReadResponse.json b/codex-rs/app-server-protocol/schema/json/v2/ConfigRequirementsReadResponse.json index f2faa534962d..f8f730eb3b19 100644 --- a/codex-rs/app-server-protocol/schema/json/v2/ConfigRequirementsReadResponse.json +++ b/codex-rs/app-server-protocol/schema/json/v2/ConfigRequirementsReadResponse.json @@ -652,6 +652,11 @@ "null" ] }, + "failClosed": { + "default": false, + "description": "When true, a failure of this hook blocks the tool instead of failing open.", + "type": "boolean" + }, "statusMessage": { "type": [ "string", diff --git a/codex-rs/app-server-protocol/schema/precomputed/app-server-exports-stable.json.zst b/codex-rs/app-server-protocol/schema/precomputed/app-server-exports-stable.json.zst index eb2ee812b34f4418a3ceb5590289f6d3974482f5..e72125317d444142b55179cc129954952f7753d8 100644 GIT binary patch delta 142275 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 z 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 Date: Fri, 9 Oct 2026 16:54:29 +0000 Subject: [PATCH 21/30] Regenerate the experimental app-server export for failClosed The experimental precomputed export embeds ConfiguredHookHandler and still omitted failClosed. --- .../app-server-exports-experimental.json.zst | Bin 162901 -> 163011 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/codex-rs/app-server-protocol/schema/precomputed/app-server-exports-experimental.json.zst b/codex-rs/app-server-protocol/schema/precomputed/app-server-exports-experimental.json.zst index eef430182091bfc6f120c98dda3a3246771de8d1..4ff8f33dd72c53e0ea36d6f6e0c240efe7a8fa82 100644 GIT binary patch delta 147718 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%0ApRwm8#prvu4 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
JzI~ddN#tt6H?1lRwf!=a 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 QDiXUiGR=47-14Bc%5I!t0RR91 From bffff761ac29c1f92ceb48a94569b5af89eeb0ed Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 17:49:57 +0000 Subject: [PATCH 22/30] Regenerate the config schema fixture for failClosed The config.toml schema embeds the command hook handler, which now carries failClosed. --- codex-rs/core/config.schema.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/codex-rs/core/config.schema.json b/codex-rs/core/config.schema.json index c5def4a021a8..a73a5b92e50b 100644 --- a/codex-rs/core/config.schema.json +++ b/codex-rs/core/config.schema.json @@ -2110,6 +2110,11 @@ "default": null, "type": "string" }, + "failClosed": { + "default": false, + "description": "When true, a failure of this command hook blocks the tool instead of failing open. Defaults to false, so existing handlers are unchanged. Only command hooks carry this field; MCP tool hooks always fail open. It also has no effect on a hook that never runs, such as an untrusted user or project hook, or when the hooks feature is disabled. An async handler that sets it runs synchronously, because a block can only be applied before the tool starts.", + "type": "boolean" + }, "statusMessage": { "default": null, "type": "string" From 28a3aee629912d57e68acf8541dbb97b0a6cafeb Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:12:32 +0000 Subject: [PATCH 23/30] Let spawn_agent carry an output schema for the child's first turn An optional output_schema on spawn_agent v1 and v2 is copied into the child's TurnStartOptions.final_output_json_schema. The tool schema accepts any JSON value and the child is not re-validated here. --- codex-rs/core/src/agent/control/spawn.rs | 1 + codex-rs/core/src/agent/types.rs | 3 +++ .../src/tools/handlers/multi_agents/spawn.rs | 4 ++++ .../src/tools/handlers/multi_agents_spec.rs | 20 +++++++++++++++++++ .../tools/handlers/multi_agents_spec_tests.rs | 11 ++++++++++ .../tools/handlers/multi_agents_v2/spawn.rs | 4 ++++ 6 files changed, 43 insertions(+) diff --git a/codex-rs/core/src/agent/control/spawn.rs b/codex-rs/core/src/agent/control/spawn.rs index 20e28a8bfed7..8c51f05a5c23 100644 --- a/codex-rs/core/src/agent/control/spawn.rs +++ b/codex-rs/core/src/agent/control/spawn.rs @@ -925,6 +925,7 @@ impl LocalAgentControl { turn_trigger: options.turn_trigger, root_turn_id: options.root_turn_id, cyber_access_program: options.cyber_access_program, + final_output_json_schema: options.final_output_json_schema, ..Default::default() }; let input_admission_started_at = Instant::now(); diff --git a/codex-rs/core/src/agent/types.rs b/codex-rs/core/src/agent/types.rs index 852a51671364..7b80eeae9395 100644 --- a/codex-rs/core/src/agent/types.rs +++ b/codex-rs/core/src/agent/types.rs @@ -36,6 +36,9 @@ pub struct SpawnAgentOptions { pub environments: Option, pub multi_agent_v2_usage_hints: Option, pub cyber_access_program: Option, + /// JSON schema the child's first turn must satisfy as its final output. + /// Plumbed into `TurnStartOptions::final_output_json_schema`; not re-validated here. + pub final_output_json_schema: Option, } /// Identity and status observed from a loaded agent, without a handle to its runtime. diff --git a/codex-rs/core/src/tools/handlers/multi_agents/spawn.rs b/codex-rs/core/src/tools/handlers/multi_agents/spawn.rs index 94079e0ebad4..0efe9c56e7f2 100644 --- a/codex-rs/core/src/tools/handlers/multi_agents/spawn.rs +++ b/codex-rs/core/src/tools/handlers/multi_agents/spawn.rs @@ -134,6 +134,7 @@ async fn handle_spawn_agent( environments: Some(step_context.environments.clone()), multi_agent_v2_usage_hints: None, cyber_access_program: turn.cyber_access_program, + final_output_json_schema: args.output_schema, }, }) .await @@ -224,6 +225,9 @@ struct SpawnAgentArgs { reasoning_effort: Option, #[serde(default)] fork_context: bool, + /// JSON schema the child's first turn must satisfy as its final output. + #[serde(default)] + output_schema: Option, } #[derive(Debug, Serialize)] diff --git a/codex-rs/core/src/tools/handlers/multi_agents_spec.rs b/codex-rs/core/src/tools/handlers/multi_agents_spec.rs index edc9467b4d02..0b895a94579c 100644 --- a/codex-rs/core/src/tools/handlers/multi_agents_spec.rs +++ b/codex-rs/core/src/tools/handlers/multi_agents_spec.rs @@ -643,6 +643,16 @@ fn spawn_agent_common_properties_v1(agent_type_description: &str) -> BTreeMap BTreeMap, fork_turns: Option, fork_context: Option, + /// JSON schema the child's first turn must satisfy as its final output. + #[serde(default)] + output_schema: Option, } impl SpawnAgentArgs { From bcbcf142cc3a97fd2e3d59dc9966bb1efb67a49a Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Fri, 9 Oct 2026 13:30:21 +0000 Subject: [PATCH 24/30] Drop the fail_closed literal from the session test fail_closed belongs to the fail-closed hook change and is not on fork/main, so this branch must build without it. --- codex-rs/core/src/session/tests.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/codex-rs/core/src/session/tests.rs b/codex-rs/core/src/session/tests.rs index 6683dcb766b3..496114a113a6 100644 --- a/codex-rs/core/src/session/tests.rs +++ b/codex-rs/core/src/session/tests.rs @@ -1997,7 +1997,6 @@ async fn refresh_runtime_config_refreshes_hooks() -> anyhow::Result<()> { r#async: false, status_message: None, additional_context_limit: None, - fail_closed: false, }], }, }; From 52badca95ffba7531ce3d0e596dcc8ec097a7e2c Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Sat, 10 Oct 2026 11:30:19 +0000 Subject: [PATCH 25/30] Fill fail_closed in the session hook fixture HookHandlerConfig::Command gained fail_closed in the fail-closed work. The session test built the command variant without it, so cargo check failed with E0063. The field's serde default is false (fail open), so the fixture uses that. Also drop the two unused imports cargo check warned about. --- codex-rs/core/src/session/tests.rs | 2 ++ codex-rs/core/tests/suite/openai_file_mcp.rs | 1 - codex-rs/core/tests/suite/scenarios.rs | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/codex-rs/core/src/session/tests.rs b/codex-rs/core/src/session/tests.rs index 496114a113a6..a793afea8c49 100644 --- a/codex-rs/core/src/session/tests.rs +++ b/codex-rs/core/src/session/tests.rs @@ -1997,6 +1997,8 @@ async fn refresh_runtime_config_refreshes_hooks() -> anyhow::Result<()> { r#async: false, status_message: None, additional_context_limit: None, + // serde default for failClosed: unset means fail open. + fail_closed: false, }], }, }; diff --git a/codex-rs/core/tests/suite/openai_file_mcp.rs b/codex-rs/core/tests/suite/openai_file_mcp.rs index 2a18b1c8540d..43dad210a093 100644 --- a/codex-rs/core/tests/suite/openai_file_mcp.rs +++ b/codex-rs/core/tests/suite/openai_file_mcp.rs @@ -44,7 +44,6 @@ use serde_json::json; use wiremock::Mock; use wiremock::MockServer; use wiremock::ResponseTemplate; -use wiremock::matchers::body_json; use wiremock::matchers::body_partial_json; use wiremock::matchers::header; use wiremock::matchers::method; diff --git a/codex-rs/core/tests/suite/scenarios.rs b/codex-rs/core/tests/suite/scenarios.rs index 53369836b060..6021db642432 100644 --- a/codex-rs/core/tests/suite/scenarios.rs +++ b/codex-rs/core/tests/suite/scenarios.rs @@ -39,7 +39,6 @@ use codex_protocol::items::TurnItem; use codex_protocol::models::ImageReference; use codex_protocol::models::ResponseItem; use codex_protocol::openai_models::CodeModeToolMessages; -use codex_protocol::openai_models::ReasoningEffort; use codex_protocol::openai_models::ToolMessage; use codex_protocol::openai_models::ToolMode; use codex_protocol::protocol::EnvironmentConfigState; From 477f7d13f8c14e27e3df00543541550675c498cc Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Sat, 10 Oct 2026 15:07:23 +0000 Subject: [PATCH 26/30] fork-ci: read the base lock unlocked when HEAD's manifests add edges cargo 1.95 --locked rejects fork/main's Cargo.lock as soon as a member manifest depends on a package the base lock already resolves but that member did not list. The comparison only diffs the resolve, and --offline keeps it from moving a version. --- .github/workflows/fork-ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/fork-ci.yml b/.github/workflows/fork-ci.yml index 82b02ffdbdbe..1b8e0a0e1601 100644 --- a/.github/workflows/fork-ci.yml +++ b/.github/workflows/fork-ci.yml @@ -158,7 +158,12 @@ jobs: # every later cargo invocation would compile against it. trap 'mv /tmp/Cargo.lock.head Cargo.lock' EXIT git show "$base:codex-rs/Cargo.lock" > Cargo.lock - cargo metadata --format-version 1 --locked > "$base_meta" + # Not --locked. The base lock describes the base manifests, and + # reading it against HEAD's manifests (a new edge on an existing + # package) makes cargo 1.95 call the lock stale even though the + # resolve is identical. --offline keeps it from moving a version; + # the copy above is discarded either way. + cargo metadata --format-version 1 --offline > "$base_meta" mv /tmp/Cargo.lock.head Cargo.lock trap - EXIT mapfile -t locked < <(python3 "${GITHUB_WORKSPACE}/.github/scripts/fork-lock-affected.py" "$base_meta" "$head_meta") From 7d861cdae2e37ae6f360e557fa902e9a2181ce8c Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Sat, 10 Oct 2026 21:20:48 +0000 Subject: [PATCH 27/30] Accept scenario snapshots for the spawn_agent schema The combined branch's spawn_agent/collaboration schema changes the catalog namespace hashes the scenario snapshots render, and adds project_doc_mode to the config schema. Regenerated config.schema.json with codex-write-config-schema and updated the 22 snapshots from the gha-spot-1 nextest output. --- codex-rs/core/config.schema.json | 5 +++++ ...te__scenarios__astra_active_environment_selection.snap | 4 ++-- ...suite__scenarios__astra_async_question_and_answer.snap | 4 ++-- ...ll__suite__scenarios__astra_code_mode_call_timing.snap | 4 ++-- ..._suite__scenarios__astra_disabled_executor_skills.snap | 4 ++-- ...suite__scenarios__astra_input_interrupts_response.snap | 4 ++-- ...ite__scenarios__astra_input_yields_code_mode_cell.snap | 4 ++-- ...cenarios__astra_kickoff_remote_compaction_windows.snap | 8 ++++---- .../all__suite__scenarios__astra_plugin_refresh.snap | 4 ++-- ...enarios__astra_settings_release_check_tool_shapes.snap | 4 ++-- ...all__suite__scenarios__code_mode_catalog_messages.snap | 4 ++-- ...enarios__code_mode_catalog_messages_ranked_search.snap | 4 ++-- ...ll__suite__scenarios__code_mode_mcp_schema_limits.snap | 4 ++-- ...e_mode_settled_helpers__code_mode_settled_helpers.snap | 4 ++-- ...uite__scenarios__compaction__remote_slash_compact.snap | 8 ++++---- ...ios__incremental_tools__incremental_tool_removals.snap | 4 ++-- ...ace_prefixes__catalog_indirect_namespace_prefixes.snap | 8 ++++---- ...ios__mcp_resource_messages__mcp_resource_messages.snap | 4 ++-- ...model_catalog_refresh_preserves_tools_and_history.snap | 4 ++-- ..._suite__scenarios__multi_agent_catalog_parameters.snap | 4 ++-- ...ovider_capabilities__custom_provider_capabilities.snap | 4 ++-- ...rios__skill_catalog_dedup__dedup_before_budgeting.snap | 4 ++-- ...ios__strict_3p_cache__strict_3p_mcp_catalog_cache.snap | 2 +- 23 files changed, 54 insertions(+), 49 deletions(-) diff --git a/codex-rs/core/config.schema.json b/codex-rs/core/config.schema.json index a73a5b92e50b..5eee067c89b9 100644 --- a/codex-rs/core/config.schema.json +++ b/codex-rs/core/config.schema.json @@ -7839,6 +7839,11 @@ "minimum": 0.0, "type": "integer" }, + "project_doc_mode": { + "default": null, + "description": "Fork (WI-1132): how a directory's project docs are chosen. `first` (the default) keeps the upstream behaviour of the first matching filename per directory. `all` loads every matching filename, plus `.claude/rules/*.md` in sorted order, and expands `@path` imports confined to the project root. An unrecognised value falls back to `first`.", + "type": "string" + }, "project_root_markers": { "default": null, "description": "Markers used to detect the project root when searching parent directories for `.codex` folders. Defaults to [\".git\"] when unset.", diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_active_environment_selection.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_active_environment_selection.snap index 2c899e4a82ba..49a7a1a1ec1d 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_active_environment_selection.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_active_environment_selection.snap @@ -6,7 +6,7 @@ Scenario: Astra starts in one workspace, switches for the next step of the activ ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=62160ed28e692c35): +00:additional_tools/developer (3; hash=299a25860327c501): - namespace/functions; hash=4261ffb241688b3d - custom/exec - function/wait @@ -14,7 +14,7 @@ Scenario: Astra starts in one workspace, switches for the next step of the activ - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_question_and_answer.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_question_and_answer.snap index 815d076e4f2f..50ee5c00eeab 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_question_and_answer.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_async_question_and_answer.snap @@ -7,7 +7,7 @@ Scenario: Astra uses the catalog question schema to ask who a launch update is f ## Window 1 -- request 1 (request) -- -00:additional_tools/developer (3; hash=f181967456befa67): +00:additional_tools/developer (3; hash=4bdada565c53ed1b): - namespace/functions; hash=7e611b8ddd5621cf - custom/exec - function/wait @@ -15,7 +15,7 @@ Scenario: Astra uses the catalog question schema to ask who a launch update is f - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_code_mode_call_timing.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_code_mode_call_timing.snap index 63afb9950a21..bc483984d11b 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_code_mode_call_timing.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_code_mode_call_timing.snap @@ -6,7 +6,7 @@ Scenario: Astra receives host and handler timings on completed and failed code-m ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -14,7 +14,7 @@ Scenario: Astra receives host and handler timings on completed and failed code-m - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_disabled_executor_skills.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_disabled_executor_skills.snap index ce4690a6d0d3..3063cf6ad2bb 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_disabled_executor_skills.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_disabled_executor_skills.snap @@ -16,7 +16,7 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (request) -- -00:additional_tools/developer (3; hash=5e8370540461db70): +00:additional_tools/developer (3; hash=832399eb45cc415c): - namespace/functions; hash=7d26e086c1dbba28 - custom/exec - function/wait @@ -24,7 +24,7 @@ Settings: - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_interrupts_response.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_interrupts_response.snap index b81315dda0b1..41ce44f825a4 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_interrupts_response.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_interrupts_response.snap @@ -6,7 +6,7 @@ Scenario: Astra receives new user input after its unfinished response is interru ## Window 1 -- request 1 (request) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -14,7 +14,7 @@ Scenario: Astra receives new user input after its unfinished response is interru - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_yields_code_mode_cell.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_yields_code_mode_cell.snap index cb8ed17bf835..bd8688b12bfd 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_yields_code_mode_cell.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_input_yields_code_mode_cell.snap @@ -6,7 +6,7 @@ Scenario: Astra continues after new user input yields a running code cell, then ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=69c8f596545517aa): +00:additional_tools/developer (3; hash=f905819a4ad6047e): - namespace/functions; hash=13a36c9bc9ada856 - custom/exec - function/wait @@ -14,7 +14,7 @@ Scenario: Astra continues after new user input yields a running code cell, then - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_kickoff_remote_compaction_windows.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_kickoff_remote_compaction_windows.snap index 29a6122a3924..70db6d67b7c3 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_kickoff_remote_compaction_windows.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_kickoff_remote_compaction_windows.snap @@ -16,7 +16,7 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -24,7 +24,7 @@ Settings: - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents @@ -187,7 +187,7 @@ Settings: ## Window 2 (after request 3: input diverged at item 02) Settings: same as window 1 -- request 4 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -195,7 +195,7 @@ Settings: same as window 1 - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh.snap index 5f76c13704db..e3170ce7d9ac 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_plugin_refresh.snap @@ -16,7 +16,7 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -24,7 +24,7 @@ Settings: - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_settings_release_check_tool_shapes.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_settings_release_check_tool_shapes.snap index ed6a215e264b..07ddab2823d5 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_settings_release_check_tool_shapes.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__astra_settings_release_check_tool_shapes.snap @@ -16,7 +16,7 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -24,7 +24,7 @@ Settings: - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages.snap index bcf207e89d85..401accdb3215 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages.snap @@ -15,14 +15,14 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=7916dd640b46ec6e): + tools (7; hash=cbfcb9f48729810a): - custom/exec: Catalog exec instructions. Default yield: 1234 ms. `image(imageUrlOrItem: string | { image_url: s...; hash=a49b91fd82908e18 - function/wait: Catalog wait instructions: resume the yielded cell.; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=67bc0f04da3505b3 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/request_user_input_async: Ask the user one or more questions during ongoing work. Use this tool only to request missing inf...; args=[questions]; hash=d6d74f33db330162 - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages_ranked_search.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages_ranked_search.snap index 5c669886321f..7de726034fb9 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages_ranked_search.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_catalog_messages_ranked_search.snap @@ -15,14 +15,14 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=40e072f613a5e3eb): + tools (7; hash=89b8f928161a14ef): - custom/exec: Catalog exec instructions. Default yield: 1234 ms. `image(imageUrlOrItem: string | { image_url: s...; hash=1b186fc5b7e14af3 - function/wait: Catalog wait instructions: resume the yielded cell.; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=67bc0f04da3505b3 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/request_user_input_async: Ask the user one or more questions during ongoing work. Use this tool only to request missing inf...; args=[questions]; hash=d6d74f33db330162 - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_mcp_schema_limits.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_mcp_schema_limits.snap index 5f527de1474a..e43e807a79c7 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_mcp_schema_limits.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_mcp_schema_limits.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (4; hash=95b65d00fe586b7d): - - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=e02c9856c9cd8430 + tools (4; hash=2231df5ae7e36647): + - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=36e8a7ff542e3082 - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - web_search; hash=e214d4db1bc49e89 diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_settled_helpers__code_mode_settled_helpers.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_settled_helpers__code_mode_settled_helpers.snap index f72b39e0b51a..f04e8011313e 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_settled_helpers__code_mode_settled_helpers.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__code_mode_settled_helpers__code_mode_settled_helpers.snap @@ -6,7 +6,7 @@ Scenario: Settlement helpers deliver fulfilled and rejected records with input i ## Window 1 -- request 1 (turn) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -14,7 +14,7 @@ Scenario: Settlement helpers deliver fulfilled and rejected records with input i - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__compaction__remote_slash_compact.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__compaction__remote_slash_compact.snap index 4e78cadff514..c6aaccfa8e05 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__compaction__remote_slash_compact.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__compaction__remote_slash_compact.snap @@ -16,7 +16,7 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn; Before /compact) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -24,7 +24,7 @@ Settings: - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents @@ -164,7 +164,7 @@ Settings: unavailable (items only) ## Window 3 (after request 3: input diverged at item 00) Settings: same as window 1 -- request 4 (turn; First turn after /compact) -- -00:additional_tools/developer (3; hash=bf2e30605ff5dc17): +00:additional_tools/developer (3; hash=82ca56c2b440b56b): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -172,7 +172,7 @@ Settings: same as window 1 - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tool_removals.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tool_removals.snap index a57a69ff96c6..52d07eb9da40 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tool_removals.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__incremental_tools__incremental_tool_removals.snap @@ -16,7 +16,7 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=7748a53142f449b7): +00:additional_tools/developer (3; hash=f37fcca6131a95d3): - namespace/functions; hash=124fee69a69ed6b2 - function/exec_command - function/write_stdin @@ -26,7 +26,7 @@ Settings: - function/request_user_input - custom/apply_patch - function/view_image - - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=2327142bda177c50 + - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=3d94ea231ad8147c - function/close_agent - function/resume_agent - function/send_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__indirect_namespace_prefixes__catalog_indirect_namespace_prefixes.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__indirect_namespace_prefixes__catalog_indirect_namespace_prefixes.snap index c7761cf2936c..de829565f836 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__indirect_namespace_prefixes__catalog_indirect_namespace_prefixes.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__indirect_namespace_prefixes__catalog_indirect_namespace_prefixes.snap @@ -15,8 +15,8 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (4; hash=7707adf4d5cde816): - - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=66e0c24dd8b9010d + tools (4; hash=928fbf82e0d338d0): + - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=082164ed597e87db - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - web_search; hash=e214d4db1bc49e89 @@ -49,8 +49,8 @@ Settings: ## Window 2 (after request 2) Settings: relative to window 1 model: "prefixes-cleared" - tools (4; hash=d878b195101dccae): - ~ custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=881b443f5068d3fb + tools (4; hash=a67435a0067d399c): + ~ custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=285b60ac075c51c9 -- request 3 (turn) -- 00:message/developer: diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_resource_messages__mcp_resource_messages.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_resource_messages__mcp_resource_messages.snap index 2ec353f71daa..7c00009b0835 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_resource_messages__mcp_resource_messages.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__mcp_resource_messages__mcp_resource_messages.snap @@ -15,14 +15,14 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (7; hash=dac6a853a6177003): + tools (7; hash=a1883c6617990737): - custom/exec: Run JavaScript code to orchestrate/compose tool calls - Evaluates the provided JavaScript code in...; hash=9ad48dbb5eac1f9b - function/wait: Waits on a yielded `exec` cell and returns new output or completion. - Use `wait` only after `exe...; args=[cell_id, max_tokens, terminate, yield_time_ms]; hash=6692d8f6c55be489 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/request_user_input_async: Ask the user one or more questions during ongoing work. Use this tool only to request missing inf...; args=[questions]; hash=d6d74f33db330162 - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__model_catalog_refresh_preserves_tools_and_history.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__model_catalog_refresh_preserves_tools_and_history.snap index e7d2ffa51ee7..1df05913d656 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__model_catalog_refresh_preserves_tools_and_history.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__model_catalog_refresh_preserves_tools_and_history.snap @@ -14,12 +14,12 @@ Settings: store: false stream: true tool_choice: "auto" - tools (6; hash=1ea0fa9abde186d4): + tools (6; hash=cfc3c98a78e70ca0): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[path]; hash=1908de9c0be7118a - - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=94c598b3c6ca141b + - namespace/multi_agent_v1: Tools for spawning and managing sub-agents.; hash=3600df73976fc1a7 - function/close_agent - function/resume_agent - function/send_input diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_catalog_parameters.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_catalog_parameters.snap index 5fb3ec889e96..3426e88f57de 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_catalog_parameters.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__multi_agent_catalog_parameters.snap @@ -16,7 +16,7 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=2b84850bc279e5ed): +00:additional_tools/developer (3; hash=29ec89a35debc3c9): - namespace/functions; hash=fada4a476a3754dd - custom/exec - function/wait @@ -24,7 +24,7 @@ Settings: - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=7e156cf57f85af87 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=c9dc64d781a79893 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__provider_capabilities__custom_provider_capabilities.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__provider_capabilities__custom_provider_capabilities.snap index ade1be5bcfe3..f5897fd28e24 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__provider_capabilities__custom_provider_capabilities.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__provider_capabilities__custom_provider_capabilities.snap @@ -15,12 +15,12 @@ Settings: stream: true text: {"verbosity":"low"} tool_choice: "auto" - tools (6; hash=dde875513b2c7cff): + tools (6; hash=7034b0984ef6658b): - function/exec_command: Runs a command in a PTY, returning output or a session ID for ongoing interaction.; args=[cmd, justification, login, max_output_tokens, prefix_rule, sandbox_permissions, shell, tty, workdir, yield_time_ms]; hash=c04108e51a8548c5 - function/write_stdin: Writes characters to an existing unified exec session and returns recent output.; args=[chars, max_output_tokens, session_id, yield_time_ms]; hash=7fb62d8a3e2df4e2 - function/request_user_input: Request user input for one to three short questions and wait for the response. This tool is only ...; args=[questions]; hash=64a729b25c424fc6 - function/view_image: View a local image file from the filesystem when visual inspection is needed. Use this for images...; args=[detail, path]; hash=3b766d5bdec5d50e - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=3cbf715dc154e1b7 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=9cb3fe3bf82d4343 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_before_budgeting.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_before_budgeting.snap index 3dcc2d2c8ab8..050b4509ac42 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_before_budgeting.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__skill_catalog_dedup__dedup_before_budgeting.snap @@ -16,7 +16,7 @@ Settings: text: {"verbosity":"low"} tool_choice: "auto" -- request 1 (turn) -- -00:additional_tools/developer (3; hash=e80da11342c6e6dd): +00:additional_tools/developer (3; hash=11140157658710d9): - namespace/functions; hash=bd9e182b4235cdc1 - custom/exec - function/wait @@ -24,7 +24,7 @@ Settings: - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents diff --git a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__strict_3p_cache__strict_3p_mcp_catalog_cache.snap b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__strict_3p_cache__strict_3p_mcp_catalog_cache.snap index a4dc574b7dce..27c72b5eb330 100644 --- a/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__strict_3p_cache__strict_3p_mcp_catalog_cache.snap +++ b/codex-rs/core/tests/suite/snapshots/all__suite__scenarios__strict_3p_cache__strict_3p_mcp_catalog_cache.snap @@ -24,7 +24,7 @@ Settings: - function/request_user_input_async - namespace/clock: Tools for reading and waiting on time.; hash=f402e8c5e9b5e317 - function/sleep - - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=2c8d6295978dbe63 + - namespace/collaboration: Tools for spawning and managing sub-agents.; hash=48f7a334813023a7 - function/followup_task - function/interrupt_agent - function/list_agents From 2b9e28d13f7afeab69abd79d640a8ab00d7c7bb8 Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Sat, 10 Oct 2026 22:03:50 +0000 Subject: [PATCH 28/30] Refuse instruction imports that cannot be shown to be inside a root expand_imports treated a path canonicalize could not find as "not an import", so the confinement never saw it. On a host without /etc/hostname the @/etc/hostname import in imports_outside_the_allowed_roots_are_refused was dropped instead of refused. A missing path is now resolved through its nearest existing ancestor and refused unless that lands inside an allowed root. --- .../codex-home/src/instructions/imports.rs | 47 ++++++++++++++++++- .../src/instructions/imports_tests.rs | 23 +++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/codex-rs/codex-home/src/instructions/imports.rs b/codex-rs/codex-home/src/instructions/imports.rs index 2cfb8c97ba9c..1cdcb07b5163 100644 --- a/codex-rs/codex-home/src/instructions/imports.rs +++ b/codex-rs/codex-home/src/instructions/imports.rs @@ -178,11 +178,56 @@ impl Expander { self.files[index].text = body; } + /// Whether `path` resolves inside an allowed root. + /// + /// Walks up to the nearest ancestor that exists and canonicalizes that, so a + /// reference to a file that has not been created yet is still confined. With + /// no roots configured nothing is confined. + async fn within_allowed_roots(&self, path: &Path) -> bool { + let Some(roots) = &self.allowed_roots else { + return true; + }; + let mut ancestor = path; + let mut rest = PathBuf::new(); + let canonical = loop { + if ancestor.as_os_str().is_empty() { + return false; + } + match tokio::fs::canonicalize(ancestor).await { + Ok(canonical) => break canonical, + Err(_) => match ancestor.parent() { + Some(parent) => { + if let Some(name) = ancestor.file_name() { + rest = Path::new(name).join(&rest); + } + ancestor = parent; + } + None => return false, + }, + } + }; + let resolved = canonical.join(rest); + roots.iter().any(|root| resolved.starts_with(root)) + } + /// Reads a regular file within the remaining budget. async fn read(&mut self, path: &Path) -> Option<(PathBuf, String)> { let canonical = match tokio::fs::canonicalize(path).await { Ok(path) => path, - Err(err) if err.kind() == io::ErrorKind::NotFound => return None, + Err(err) if err.kind() == io::ErrorKind::NotFound => { + // A missing file is normally not an import. Once confinement is + // on it is also the way past it: a path that cannot be + // canonicalized cannot be shown to fall inside a root, and + // returning None would leave it unreported. Only a path that + // resolves inside a root may be treated as absent. + if self.allowed_roots.is_some() && !self.within_allowed_roots(path).await { + self.warnings.push(format!( + "Refused instructions from `{}`: it is outside the allowed project roots", + path.display() + )); + } + return None; + } Err(err) => { self.warnings.push(format!( "Failed to read instructions from `{}`: {err}", diff --git a/codex-rs/codex-home/src/instructions/imports_tests.rs b/codex-rs/codex-home/src/instructions/imports_tests.rs index dd12c684c0fc..67e4b13c56b2 100644 --- a/codex-rs/codex-home/src/instructions/imports_tests.rs +++ b/codex-rs/codex-home/src/instructions/imports_tests.rs @@ -191,3 +191,26 @@ async fn imports_outside_the_allowed_roots_are_refused() { expansion.warnings ); } + +/// A reference to a file that does not exist must still be confined. Treating +/// "not found" as "not an import" would let `@/etc/hostname` through on a host +/// where that file is absent, which is exactly where the confinement matters. +#[tokio::test] +async fn a_missing_file_outside_the_roots_is_refused() { + let project = tempfile::tempdir().expect("temp dir"); + write( + &project.path().join("CLAUDE.md"), + "@missing.md\n@/no/such/file.md\n", + ); + let roots = vec![project.path().to_path_buf()]; + + let expansion = + expand_imports(&project.path().join("CLAUDE.md"), None, 1024, Some(&roots)).await; + + assert_eq!(expansion.warnings.len(), 1, "{:?}", expansion.warnings); + assert!(expansion.warnings[0].contains("/no/such/file.md")); + assert_eq!( + expansion.bytes_read, + fs::read(project.path().join("CLAUDE.md")).unwrap().len() + ); +} From f8bd4189b201f2198d7541221ef38bd37776f52f Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Sat, 10 Oct 2026 23:13:21 +0000 Subject: [PATCH 29/30] fork-ci: ignore the daemon and shell-snapshot failures that fork/main shares fork-ci run 38089490933 ran unmodified fork/main on gha-spot-1 with codex-cli, codex-core, codex-exec-server and codex-app-server forced, and these 24 tests failed there too. They are the runner, not the branch. --- .github/fork-ci-known-failures.txt | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/fork-ci-known-failures.txt b/.github/fork-ci-known-failures.txt index 12e9ba2b0ee6..64bfd94796b8 100644 --- a/.github/fork-ci-known-failures.txt +++ b/.github/fork-ci-known-failures.txt @@ -5,3 +5,30 @@ test(pending_input_persistence::background_user_input) # timing flake: fails on test(pending_input_persistence::synchronous_store) # timing flake: fails on PR #6/#12 in files the PR does not touch; green on the fork/main baseline test(remote_env::future_pending_environment) # timing flake: fails on PR #6/#12 in files the PR does not touch; green on the fork/main baseline test(hooks::permission_request_hook_allows_exec_command_without_user_approval) # timing flake: fails on PR #6/#12 in files the PR does not touch; green on the fork/main baseline +# Fail on unmodified fork/main on gha-spot-1 (fork-ci run 38089490933, workflow_dispatch +# with these packages forced). Environmental, not caused by a fork branch. +test(auto_daemon_start_attaches_to_shared_server) # fails on unmodified fork/main, fork-ci run 38089490933 +test(bedrock_onboarding_leaves_a_running_daemon_untouched) # fails on unmodified fork/main, fork-ci run 38089490933 +test(daemon_worktree_start_and_fork_bind_owner_before_turn) # fails on unmodified fork/main, fork-ci run 38089490933 +test(fresh_daemon_requires_confirmation_to_disable_shared_features) # fails on unmodified fork/main, fork-ci run 38089490933 +test(incompatible_daemon_can_cancel) # fails on unmodified fork/main, fork-ci run 38089490933 +test(incompatible_daemon_can_restart_with_confirmed_settings) # fails on unmodified fork/main, fork-ci run 38089490933 +test(incompatible_daemon_can_run_embedded) # fails on unmodified fork/main, fork-ci run 38089490933 +test(managed_daemon_restarts_from_deleted_working_directory) # fails on unmodified fork/main, fork-ci run 38089490933 +test(managed_identity_survives_locale_and_timezone_changes) # fails on unmodified fork/main, fork-ci run 38089490933 +test(managed_start_keeps_updater_on_marker_mismatch_but_stops_it_for_pin) # fails on unmodified fork/main, fork-ci run 38089490933 +test(managed_start_succeeds_when_updater_record_is_invalid) # fails on unmodified fork/main, fork-ci run 38089490933 +test(managed_starts_ensure_one_updater_and_recover_a_missing_one) # fails on unmodified fork/main, fork-ci run 38089490933 +test(packaged_daemon_bootstrap_seeds_local_package) # fails on unmodified fork/main, fork-ci run 38089490933 +test(packaged_daemon_explicit_replacement_migrates_running_legacy) # fails on unmodified fork/main, fork-ci run 38089490933 +test(packaged_daemon_restart_seeds_local_package) # fails on unmodified fork/main, fork-ci run 38089490933 +test(packaged_daemon_start_and_explicit_replacement) # fails on unmodified fork/main, fork-ci run 38089490933 +test(restart_applies_saved_updater_preference) # fails on unmodified fork/main, fork-ci run 38089490933 +test(stopped_daemon_requires_confirmation_to_disable_persisted_features) # fails on unmodified fork/main, fork-ci run 38089490933 +test(wall_clock_shift_keeps_server_and_updater_managed) # fails on unmodified fork/main, fork-ci run 38089490933 +test(remote_process_preserves_empty_workspace_roots) # fails on unmodified fork/main, fork-ci run 38089490933 +test(shell_snapshot::shell_snapshot_concurrent_replays_keep_independent_readers::blocked_descriptor_path) # fails on unmodified fork/main, fork-ci run 38089490933 +test(shell_snapshot_v2_capture_failure_falls_back_and_retries::remote_pipe_recovery) # fails on unmodified fork/main, fork-ci run 38089490933 +test(shell_snapshot_v2_capture_failure_falls_back_and_retries::remote_tty_recovery) # fails on unmodified fork/main, fork-ci run 38089490933 +test(shell_snapshot_v2_filters_profile_exports_and_stays_in_memory::remote_sandbox) # fails on unmodified fork/main, fork-ci run 38089490933 + From 222490f496d29f2a0267188216f12c1cfa4e894e Mon Sep 17 00:00:00 2001 From: thedancingdeveloper <306930456+thedancingdeveloper@users.noreply.github.com> Date: Mon, 12 Oct 2026 01:58:02 +0000 Subject: [PATCH 30/30] fork-ci: stop ignoring flaky and hook tests without a baseline failure The six daemon/remote tests were FLAKY in run 38089490933 and passed on retry, so nextest retries=1 already covers them. The hooks permission test was green on the baseline and this branch changes hook semantics, so it must run. The other three timing-flake lines had no baseline failure behind them. Co-Authored-By: Claude Opus 5.5 --- .github/fork-ci-known-failures.txt | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.github/fork-ci-known-failures.txt b/.github/fork-ci-known-failures.txt index 64bfd94796b8..35c9bbaf3c55 100644 --- a/.github/fork-ci-known-failures.txt +++ b/.github/fork-ci-known-failures.txt @@ -1,19 +1,11 @@ # Tests that fail on unmodified fork/main. One nextest filterset per line, # with a `#` reason that cites the baseline run showing it fail. A line is # only added after that evidence exists; the file starts empty. -test(pending_input_persistence::background_user_input) # timing flake: fails on PR #6/#12 in files the PR does not touch; green on the fork/main baseline -test(pending_input_persistence::synchronous_store) # timing flake: fails on PR #6/#12 in files the PR does not touch; green on the fork/main baseline -test(remote_env::future_pending_environment) # timing flake: fails on PR #6/#12 in files the PR does not touch; green on the fork/main baseline -test(hooks::permission_request_hook_allows_exec_command_without_user_approval) # timing flake: fails on PR #6/#12 in files the PR does not touch; green on the fork/main baseline # Fail on unmodified fork/main on gha-spot-1 (fork-ci run 38089490933, workflow_dispatch # with these packages forced). Environmental, not caused by a fork branch. test(auto_daemon_start_attaches_to_shared_server) # fails on unmodified fork/main, fork-ci run 38089490933 -test(bedrock_onboarding_leaves_a_running_daemon_untouched) # fails on unmodified fork/main, fork-ci run 38089490933 -test(daemon_worktree_start_and_fork_bind_owner_before_turn) # fails on unmodified fork/main, fork-ci run 38089490933 -test(fresh_daemon_requires_confirmation_to_disable_shared_features) # fails on unmodified fork/main, fork-ci run 38089490933 test(incompatible_daemon_can_cancel) # fails on unmodified fork/main, fork-ci run 38089490933 test(incompatible_daemon_can_restart_with_confirmed_settings) # fails on unmodified fork/main, fork-ci run 38089490933 -test(incompatible_daemon_can_run_embedded) # fails on unmodified fork/main, fork-ci run 38089490933 test(managed_daemon_restarts_from_deleted_working_directory) # fails on unmodified fork/main, fork-ci run 38089490933 test(managed_identity_survives_locale_and_timezone_changes) # fails on unmodified fork/main, fork-ci run 38089490933 test(managed_start_keeps_updater_on_marker_mismatch_but_stops_it_for_pin) # fails on unmodified fork/main, fork-ci run 38089490933 @@ -24,9 +16,7 @@ test(packaged_daemon_explicit_replacement_migrates_running_legacy) # fails on un test(packaged_daemon_restart_seeds_local_package) # fails on unmodified fork/main, fork-ci run 38089490933 test(packaged_daemon_start_and_explicit_replacement) # fails on unmodified fork/main, fork-ci run 38089490933 test(restart_applies_saved_updater_preference) # fails on unmodified fork/main, fork-ci run 38089490933 -test(stopped_daemon_requires_confirmation_to_disable_persisted_features) # fails on unmodified fork/main, fork-ci run 38089490933 test(wall_clock_shift_keeps_server_and_updater_managed) # fails on unmodified fork/main, fork-ci run 38089490933 -test(remote_process_preserves_empty_workspace_roots) # fails on unmodified fork/main, fork-ci run 38089490933 test(shell_snapshot::shell_snapshot_concurrent_replays_keep_independent_readers::blocked_descriptor_path) # fails on unmodified fork/main, fork-ci run 38089490933 test(shell_snapshot_v2_capture_failure_falls_back_and_retries::remote_pipe_recovery) # fails on unmodified fork/main, fork-ci run 38089490933 test(shell_snapshot_v2_capture_failure_falls_back_and_retries::remote_tty_recovery) # fails on unmodified fork/main, fork-ci run 38089490933