Skip to content

[Bug]: macOS app pairing drops selected permissions, blocking remote image viewing #16856

Description

@LetterXbox

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/desktop

Steps to reproduce

  1. Update the macOS T3 Code desktop app to the latest available release.
  2. In an authorized browser session connected to the remote host, open Settings → Connections and create a fresh pairing link with every permission selected.
  3. In the macOS app, open Settings → Connections → Add environment and pair using that fresh link.
  4. Inspect the resulting client session under Settings → Connections on the host: only four scopes are granted.
  5. Open an existing thread in the macOS app, open the right panel, then Add panel surface → Files.
  6. Observe: "This connection cannot read host files." Host-stored images cannot be accessed through the Files panel.

I have already repeated pairing after updating. Browser sessions on the same host have all 16 permissions.

Expected behavior

The macOS desktop app session should retain all permissions selected on the pairing link, including filesystem:read, and allow viewing images stored in the remote workspace.

Actual behavior

The fresh pairing link contains all 16 permissions, but the resulting macOS desktop app session contains only:

  • orchestration:read
  • orchestration:operate
  • terminal:operate
  • relay:read

filesystem:read and the other selected permissions are missing.

Reproduced in the macOS desktop app: open an existing thread, then the right panel → Add panel surface → Files. The Files panel displays:

This connection cannot read host files.

This prevents browsing remote workspace files to view host-stored images. Uploaded image attachments do display; the observed failure concerns host-file access. A screenshot of the Files error has been captured.

This was verified on the host: the consumed pairing-link record contains 16 permissions, whereas the corresponding macOS app session contains the four scopes above. Browser sessions created against the same host receive all 16.

Related: #16804 reports the same four-scope grant on iOS, with provider management affected. This report concerns macOS desktop pairing and host-file/image access. A shared root cause has not been confirmed.

Impact

Major degradation or frequent failure

Version or commit

Server: 0.0.46-nightly.20261007.2774

Environment

Remote Linux host; macOS desktop app, paired again after updating. Browser clients on the same host receive all selected permissions. The same four-scope restriction was also observed on iPhone. Exact current macOS app version to be confirmed.

Logs or stack traces

Screenshots, recordings, or supporting files

No response

Workaround

Use the browser client, whose session has all 16 permissions including filesystem:read. Updating and pairing again with a fresh full-permission link did not resolve the native app issue.

Activity

  1. added
    bugSomething is broken or behaving incorrectly.
    needs-triageIssue needs maintainer review and initial categorization.
    on Oct 7, 2026
  2. juliusmarminge commented on Oct 7, 2026

    @juliusmarminge
    Member

    Note

    Grok responding on behalf of Julius.

    Thanks for the careful write-up and for checking the host-side records. This is the same bug as #16804, so I'm closing this one as a duplicate and tracking it there.

    The four scopes you're seeing (orchestration:read, orchestration:operate, terminal:operate, relay:read) are exactly what a client gets when it still requests the old, pre-granular scope list during pairing. The server keeps only the scopes that are both requested and granted, so everything added since (filesystem:read, providers:manage, and the rest) gets dropped, no matter what the pairing link allows. On iOS that breaks provider sign-in; on the macOS app it shows up as the Files panel saying it can't read host files. I've noted on #16804 that the fix needs to cover the desktop app and filesystem:read too, not just provider management.

    Until that lands, the browser client (which already gets all 16 permissions) is the way to view host files. Once a fixed build is out, remove and re-add the environment in the macOS app to get a fresh session.

  3. added
    duplicateThis issue or pull request already exists
    and removed
    needs-triageIssue needs maintainer review and initial categorization.
    on Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaving incorrectly.duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions