This website requires JavaScript.
Explore
Help
Sign in
core
/
core-agent-ide
Watch
8
Star
0
Fork
You've already forked core-agent-ide
0
Code
Issues
Pull requests
Projects
Releases
Packages
Wiki
Activity
Actions
fb0aaf94de
core-agent-ide
/
codex-rs
/
apply-patch
/
tests
/
suite
/
mod.rs
5 lines
69 B
Rust
Raw
Normal View
History
Unescape
Escape
feat: use the arg0 trick with apply_patch (#2646) Historically, Codex CLI has treated `apply_patch` (and its sometimes misspelling, `applypatch`) as a "virtual CLI," intercepting it when it appears as the first arg to `command` for the `"container.exec", `"shell"`, or `"local_shell"` tools. This approach has a known limitation where if, say, the model created a Python script that runs `apply_patch` and then tried to run the Python script, we have no insight as to what the model is trying to do and the Python Script would fail because `apply_patch` was never really on the `PATH`. One way to solve this problem is to require users to install an `apply_patch` executable alongside the `codex` executable (or at least put it someplace where Codex can discover it). Though to keep Codex CLI as a standalone executable, we exploit "the arg0 trick" where we create a temporary directory with an entry named `apply_patch` and prepend that directory to the `PATH` for the duration of the invocation of Codex. - On UNIX, `apply_patch` is a symlink to `codex`, which now changes its behavior to behave like `apply_patch` if arg0 is `apply_patch` (or `applypatch`) - On Windows, `apply_patch.bat` is a batch script that runs `codex --codex-run-as-apply-patch %*`, as Codex also changes its behavior if the first argument is `--codex-run-as-apply-patch`.
2025-08-24 14:35:51 -07:00
mod
cli
;
chore(apply-patch) scenarios for e2e testing (#7567) ## Summary This PR introduces an End to End test suite for apply-patch, so we can easily validate behavior against other implementations as well. ## Testing - [x] These are tests
2025-12-04 16:20:54 -08:00
mod
scenarios
;
chore: testing on apply_path (#5557)
2025-10-23 17:00:48 +01:00
#[
cfg(not(target_os =
"
windows
"
))
]
mod
tool
;
Reference in a new issue
Copy permalink