Shell tools that run their commands on another machine, such as a plugin tool backed by adb shell or ssh, can now be declared so their commands are analyzed instead of going unchecked.
Added
- Added
--no-cwd-argtocc-safety-net rule tool add, and the equivalent{ "name": "phone_shell", "cwd": false }form incommand_tools, for declaring a shell tool whose working directory is not on this machine. Commands from such a tool are analyzed like a built-in shell command, no working-directory argument is read, and a relative path is judged against the session directory. (#331, #330) - Added an error when
cc-safety-net rule tool addis given both--cwd-argand--no-cwd-arg.
Changed
- Changed the OpenCode and Cursor adapters to ignore the
workdirandworking_directoryarguments for a tool declared withcwd: false, so a remote working directory that does not exist locally no longer makes the call unusable. - Changed the DeepSeek Harness notice about an undeclared shell tool to recommend
rule tool add <name> --no-cwd-argwhen the tool runs its commands on a remote host or the location cannot be determined, instead of advising against declaring it at all. - Changed
cc-safety-net rule tool listto reportCwd argument: nonefor a tool declared withcwd: false. - Changed the published JSON Schema (
assets/cc-safety-net.schema.json) to acceptfalsefor acommand_toolsentry'scwd, and therule.jsonvalidation message for an invalidcwdnow states thatfalseis allowed.