openai / openai/codex

iOS remote: expose host/project named permission profiles in the permissions picker

Open
#42,626 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

config enhancement iOS remote sandbox
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What feature would you like to see?

When using ChatGPT on iOS to remotely control a Codex project running on a Mac, the mobile permissions picker should expose the actual named permission profiles available for that host/project, rather than only the built-in permission choices and Custom (config.toml).

For example, if the connected Mac has:

[permissions.repo-safe]
extends = ":workspace"

[permissions.repo-maintainer]
extends = ":workspace"

the iOS permissions picker should be able to show something like:

Read only
Workspace
Full access
repo-safe
repo-maintainer
Custom (config.toml)

and allow the user to select the named profile for the remote thread/turn.

Why?

Named permission profiles are useful precisely because they can encode more specific authority than the broad built-in presets.

When working remotely from iOS, selecting only:

  • Read only
  • Workspace / approval-based access
  • Full access
  • Custom config.toml

is much less useful than selecting the same named profile that would be used locally for that project.

Custom (config.toml) is also not equivalent. It selects whatever the current/default configuration resolves to; it does not let the remote user explicitly choose among multiple named profiles.

This matters particularly for users who intentionally define several profiles, for example:

repo-readonly
repo-safe
repo-network
repo-maintainer

Remote access should not require collapsing those distinctions into one global/default config.

Proposed behavior

When a Mac/project is selected for a remote Codex session:

  1. Query the connected host for the permission profiles applicable to the selected project's cwd.
  2. Include those named profiles in the iOS permissions picker alongside the built-in presets.
  3. When the user selects one, pass that profile identity through when creating or continuing the remote task.
  4. Show the effective selected profile in the mobile UI so the user can verify which authority profile is active.

Conceptually:

iOS
  ↓
connected Mac + selected project
  ↓
permissionProfile/list(cwd = project)
  ↓
:read-only
:workspace
:danger-full-access
repo-safe
repo-network
repo-maintainer
  ↓
user selects repo-maintainer
  ↓
start/continue thread with permissions = "repo-maintainer"

The app-server already appears to expose the relevant permission-profile discovery machinery, so this seems primarily like remote-client discovery/state/UI plumbing rather than requiring a new permissions model.

Expected behavior

If a project has named permission profiles, I should be able to select one of those profiles directly from ChatGPT iOS while remotely controlling that project.

The selection should be project-aware and should preserve the named profile identity rather than reducing it to a generic built-in permission mode.

Current behavior

The iOS remote permissions UI exposes broad presets / Custom (config.toml), but does not expose the individual named permission profiles available on the connected host/project.

Related issues
  • #24270 — iOS remote permission selection / Custom (config.toml) behavior
  • #31012 — named permissions/approval presets in the permissions UI
  • #38337 — Desktop displaying named permission-profile state
  • #41410 — project-aware permissionProfile/list / named-profile selection plumbing

This request is narrower than those: it is specifically about making the connected host/project's named permission profiles first-class selectable options in the ChatGPT iOS remote permissions picker.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the app-server's existing permission-profile discovery machinery and the project-aware permissionProfile/list flow referenced in the issue, then review related issue #41410. Trace how a connected host and project are represented through remote task creation or continuation. Done means named host/project profiles appear in the iOS picker, retain their identity when selected, and show the effective profile in the UI.

Written by the indexing model from the issue text.

Assessment

Tech stack
ios, rust
Domain
api, mobile
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.