[Feature Request][Windows][Codex Desktop] Expose app-server fs/* as scoped non-shell model tools with no visible process fallback
What variant of Codex are you using?
Codex Desktop on Windows, using a local workspace task.
What feature would you like to see?
Please expose the existing Codex app-server filesystem RPCs as first-class, model-callable built-in tools for narrowly scoped filesystem operations:
fs/readFilefs/writeFilefs/getMetadatafs/readDirectory
The app-server protocol and filesystem implementations already exist. The missing capability is a formal bridge from those RPCs to the model tool registry that does not fall back to a shell, PTY, terminal, or the Windows apply_patch process-launch path.
The capability should be deny-by-default and authorized for an exact canonical path set and exact operation types. It is intended for small, known workspace files where invoking PowerShell, cmd, Python, a terminal, or a general command runner is unnecessary and can disrupt the user's active desktop work.
Required security and UI contract
- The model-visible filesystem tool has a stable tool identity and schema.
- Each authorization binds an exact canonical path set and allowed operation type (
read,write, metadata, or direct-directory listing). - Out-of-scope paths, traversal, alternate-path spellings, symlink/reparse-point escapes, and unsupported operations fail closed before any mutation or process launch.
- The implementation calls the existing filesystem abstraction directly. It must not fall back to PowerShell,
cmd.exe, a PTY, Terminal,conhost.exe,codex.exe --codex-run-as-apply-patch, or an arbitrary command executor. - Filesystem access must not create or activate a visible window, take foreground focus, or interrupt voice input or keyboard input.
- The authoritative responder is unique; a second subscriber or dynamic-tool responder cannot win a race and supply the result.
- Each operation records an audit event containing the tool/provider identity, canonical path, operation, timestamp, result, and SHA-256 of the bytes read or the before/after bytes written.
- Write authority is not inherited by unrelated tool calls or child processes and cannot be self-issued by workspace code.
Acceptance criteria
- The model tool registry contains the documented built-in filesystem tool names and schemas.
- A model can read one explicitly authorized file and write one explicitly authorized file through the built-in filesystem route.
- An out-of-scope path is rejected before filesystem mutation or process creation.
- Audit records contain provider identity, canonical path, operation, timestamp, result, and content hash.
- The responder identity is deterministic and unique.
- Windows verification records zero new
pwsh.exe,powershell.exe,cmd.exe,conhost.exe, Terminal, or PTY processes for the filesystem operation. - Windows verification records zero visible-window creation and zero foreground changes for the filesystem operation.
- No unsupported or nonexistent tool name is counted as a passing implementation.
Why this is separate from existing reports
- #32436 covers Desktop tasks losing workspace tools during capability provisioning.
- #40229 covers sandbox enforcement for the managed file-edit path.
- #35827 covers visible PowerShell/conhost flashes spawned by the Windows Desktop app.
- #13965 documents that the Windows
apply_patchroute can spawncodex.exe --codex-run-as-apply-patch. - #33820 covers app-server/external-exec-server filesystem bridging behavior.
This request is specifically for a first-class, scoped, non-shell model filesystem capability that reuses the existing app-server filesystem implementation and has an explicit no-visible-process contract on Windows.