What
Implement interactive tool permission approval for the Codex provider, completing Phase 2 of the supervised permission mode feature.
Why
Phase 1 (#156) delivered the full end-to-end permission flow for Claude via the canUseTool SDK callback. Codex uses a different mechanism — approvalPolicy: "on-request" with a JSON-RPC approval handler in codex-app-server. The shared infrastructure (push channels, RPC methods, PermissionRequestCard, store, sidebar indicator) is already in place from Phase 1.
Scope
- Investigate the Codex
codex-app-server approval RPC protocol (see apps/server/src/providers/codex/)
- Implement
resolvePermission and listPendingPermissions on the Codex provider
- Wire the existing
permission_request / permission_resolved EventEmitter events into the Codex approval handler
- Verify the existing
PermissionRequestCard renders correctly for Codex tool calls
Out of scope
Related
Phase 1: #156
What
Implement interactive tool permission approval for the Codex provider, completing Phase 2 of the supervised permission mode feature.
Why
Phase 1 (#156) delivered the full end-to-end permission flow for Claude via the
canUseToolSDK callback. Codex uses a different mechanism —approvalPolicy: "on-request"with a JSON-RPC approval handler incodex-app-server. The shared infrastructure (push channels, RPC methods,PermissionRequestCard, store, sidebar indicator) is already in place from Phase 1.Scope
codex-app-serverapproval RPC protocol (seeapps/server/src/providers/codex/)resolvePermissionandlistPendingPermissionson the Codex providerpermission_request/permission_resolvedEventEmitter events into the Codex approval handlerPermissionRequestCardrenders correctly for Codex tool callsOut of scope
Related
Phase 1: #156