apply_patch Tool
apply_patch tool
Section titled “apply_patch tool”Apply file changes using a structured patch format. This is ideal for multi-file
or multi-hunk edits where a single edit call would be brittle.
The tool accepts a single input string that wraps one or more file operations:
*** Begin Patch*** Add File: path/to/file.txt+line 1+line 2*** Update File: src/app.ts@@-old line+new line*** Delete File: obsolete.txt*** End PatchParameters
Section titled “Parameters”input(required): Full patch contents including*** Begin Patchand*** End Patch.
- Patch paths support relative paths (from the workspace directory) and absolute paths.
tools.exec.applyPatch.workspaceOnlydefaults totrue(workspace-contained). Set it tofalseonly if you intentionally wantapply_patchto write/delete outside the workspace directory.- Use
*** Move to:within an*** Update File:hunk to rename files. *** End of Filemarks an EOF-only insert when needed.- Experimental and disabled by default. Enable with
tools.exec.applyPatch.enabled. - OpenAI-only (including OpenAI Codex). Optionally gate by model via
tools.exec.applyPatch.allowModels. - Config is only under
tools.exec.
Example
Section titled “Example”{ "tool": "apply_patch", "input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"}