Issue
Litter currently sends explicit approval/sandbox values on thread start/resume/fork, so remote Codex ~/.codex/config.toml does not actually control session permissions by default.
Observed behavior:
- iOS defaults to
never + workspace-write in apps/ios/Sources/Litter/Models/AppState.swift:32
- Android defaults to
never + workspace-write in apps/android/app/src/main/java/com/litter/android/state/AppLaunchState.kt:29
- Those values are forwarded on thread start/resume/fork in
apps/ios/Sources/Litter/Models/AppRpcParams.swift:10 and apps/android/app/src/main/java/com/litter/android/state/RpcParams.kt:37
- Upstream only inherits server config when these fields are omitted; otherwise they become per-thread overrides in
shared/third_party/codex/codex-rs/app-server/src/codex_message_processor.rs:2197
Result: Litter local defaults win over remote server config, which is surprising for remote use.
Suggested change
By default inherit server config permissions of Codex. At the same time allow to switch to permission models provided by litter app per each thread to override the server config.
Nice to have UI changes:
- Show the effective permission level in thread UI (can be in conversation info page)
- Add permission change button in conversation info page (now it's only under
/permissions cmd and thus quite hidden)
Issue
Litter currently sends explicit approval/sandbox values on thread start/resume/fork, so remote Codex ~/.codex/config.toml does not actually control session permissions by default.
Observed behavior:
never+workspace-writeinapps/ios/Sources/Litter/Models/AppState.swift:32never+workspace-writeinapps/android/app/src/main/java/com/litter/android/state/AppLaunchState.kt:29apps/ios/Sources/Litter/Models/AppRpcParams.swift:10andapps/android/app/src/main/java/com/litter/android/state/RpcParams.kt:37shared/third_party/codex/codex-rs/app-server/src/codex_message_processor.rs:2197Result: Litter local defaults win over remote server config, which is surprising for remote use.
Suggested change
By default inherit server config permissions of Codex. At the same time allow to switch to permission models provided by litter app per each thread to override the server config.
Nice to have UI changes:
/permissionscmd and thus quite hidden)