Process execution
process/* is an experimental, explicit process-control API. It requires capabilities.experimentalApi = true and runs outside Codex's sandbox. Use it only when your client intentionally exposes local process control without a sandbox.
Start a process with process/spawn and provide a processHandle, then use that handle for stdin, resize, and kill requests. Output streams through process/outputDelta notifications and completion streams through process/exited.
json
{ "method": "process/spawn", "id": 48, "params": {
"command": ["python3", "-m", "pytest", "-q"],
"processHandle": "pytest-1",
"cwd": "/Users/me/project",
"tty": true
} }
{ "id": 48, "result": {} }
{ "method": "process/outputDelta", "params": {
"processHandle": "pytest-1",
"stream": "stdout",
"deltaBase64": "Li4u"
} }
{ "method": "process/exited", "params": {
"processHandle": "pytest-1",
"exitCode": 0
} }Use process/writeStdin with deltaBase64, closeStdin, or both to send input. Use process/resizePty for PTY resize events and process/kill to terminate a running process.