Repository navigation
[Remote][Android to macOS] "No project" chat fails with project trust error #39678
Description
What version of Codex CLI is running?
codex-cli 0.148.0-alpha.15 (bundled with ChatGPT desktop 26.814.41407, build 6720)
What subscription do you have?
ChatGPT subscription; exact tier is not shown in the Codex Remote failure UI
Which model were you using?
N/A — the task fails before a model starts
What platform is your computer?
Darwin 25.5.0 arm64 arm; macOS 26.5.2 (build 25F84)
What terminal emulator and version are you using (if applicable)?
N/A — reproduced through ChatGPT Android Codex Remote
Codex doctor report
What issue are you seeing?
Starting a Codex Remote chat from the Android ChatGPT app with No project selected consistently fails before the task starts.
The mobile app displays:
Can't verify project trust for /Users//Documents/Codex/2026-08-20-test-2. Open the repository in Codex on the remote computer and make a trust choice, then select that repository's original directory and try again. You can also start in Read only mode. If this continues, update Codex on the remote computer.
The generated path exists on the connected Mac, but it is empty and is not a Git repository. Selecting an existing trusted local project on the same Mac works, so the Remote connection itself is healthy.
The issue reproduced twice with two separately generated projectless directories, including after fully restarting both the Android and macOS apps.
What steps can reproduce the bug?
- Connect the Android ChatGPT app to a Mac through Codex Remote.
- In Android, open New chat for the connected Mac.
- Leave the project selector set to No project.
- Enter a prompt and try to start the chat.
- Observe that the chat does not start and a project-trust error appears.
Reproduction history:
- 13:22:05 UTC+5: generated
2026-08-20-new-chat-2and failed. - 14:43:57 UTC+5: after restarting both apps, generated
2026-08-20-test-2and failed again. - Both directories were created at failure time, contain no files, and are not Git repositories.
- Frequency: 2/2 attempts.
- Control: selecting an existing trusted project succeeds.
Feedback thread ID: 01a01e93-b36b-7fc3-97f6-909b6c717257 (feedback recorded without logs).
What is the expected behavior?
A projectless Remote chat should start in its newly generated working directory without requiring that disposable directory to have been opened and trusted as an existing repository.
Additional information
This appears to be a trust-routing regression: the projectless flow creates a new disposable directory, but Remote immediately validates it as though it were a pre-existing local repository with an explicit trust decision. The validation fails before projectless-chat initialization can persist trust.
Environment:
- Android ChatGPT app, Codex Remote (mobile version not shown on the failure screen)
- ChatGPT desktop 26.814.41407, build 6720
- Bundled Codex CLI 0.148.0-alpha.15
- macOS 26.5.2, build 25F84
- Connected Mac remained online
- Restarting both apps did not help
Impact: all write-enabled projectless Remote chats are blocked. Existing trusted projects work; Read only mode is the only suggested projectless workaround.
Raw logs and screenshots are intentionally omitted because they contain unrelated private configuration, the local username, and computer name. The full error is transcribed above with PII redacted.
Activity
jMerta commentedon Aug 21, 2026
I can reproduce an adjacent, broader variant on Android Remote → macOS: starting a new task in Worktree mode fails for existing trusted Git projects.
Environment:
26.818.32112(build6933)0.149.0-alpha.4.1Reproduction:
Additional evidence:
~/.codex/config.toml.This looks like the same trust-routing ordering problem as the projectless case, but for Remote-created managed worktrees: the generated target path is checked for exact-path trust before the worktree exists and can be associated with its already trusted source repository.
iamhectorlopez commentedon Aug 23, 2026
Independent reproduction on Android Remote → macOS, still present on a newer host build as of 2026-08-23.
Environment:
Observed behavior:
This confirms the Android-to-macOS projectless trust failure remains reproducible on desktop 26.818.41509 / codex-cli 0.149.0-alpha.4.1.
sdjg113 commentedon Aug 24, 2026
lol. so much for remote. You cannot even start a chat from your phone using remote. Do you openAI vibe coders even bother to test any of these features? Can you at least ask AI to e2e this?
wuseal commentedon Aug 26, 2026
+1
sdjg113 commentedon Aug 26, 2026
It worked for one session by revoking the remote access from desktop app. Then it stopped working. lol.
Superfishintights commentedon Aug 26, 2026
Independent reproduction on Android Remote → Linux, with additional host-side trace evidence.
Environment:
26.810.520440.148.0-alpha.9Behavior:
~/Documents/Codex/2026-08-25-test, then fails with the same project-trust error.~/Documents/Codex/2026-08-25-test-2and fails identically.~and~/Documents/Codexwere already explicitly marked trusted in~/.codex/config.toml.The live host app-server trace identifies the caller as
codex_chatgpt_android_remote. Its request sequence is:process/spawnruns a shell command that creates the uniqueYYYY-MM-DD-<prompt>directory.config/read.As a diagnostic workaround, I installed a narrowly scoped watcher for new, user-owned
YYYY-MM-DD-*directories directly under~/Documents/Codex. It writes the exact generated path to the Codex project trust map. A probe was detected and trusted in 12 ms.With that watcher active, the next brand-new projectless Remote task succeeded. Successful task ID:
01a03aff-acba-7a11-8126-b1be38cd109b.This strongly supports a trust-routing/order regression: Remote creates a disposable projectless workspace, then validates it as though it were a pre-existing repository requiring an earlier explicit trust decision. The generated workspace should either be recorded as trusted during projectless initialization or excluded from the repository trust gate.
The watcher is only a local compatibility workaround, not a proposed long-term fix.
JoolsHattey commentedon Aug 26, 2026
Confirming @Superfishintights’ diagnosis and workaround on Android Remote → Windows Desktop → WSL Ubuntu, using codex-cli/app-server
0.149.1.Initial problem
Neither Remote mode worked:
Workaround
After seeing the watcher approach above, I implemented a narrowly scoped Rust/inotify service.
I first adapted it for managed worktrees. A generated worktree is trusted only when its repository name matches an existing explicitly trusted Git checkout.
I then extended it to projectless chats. It accepts only new, user-owned, date-prefixed direct children of the explicitly trusted projectless root.
Results
config.tomlreplacements are monitored so entries are restored if necessary.This independently confirms the finding above: Remote creates the target and performs an exact-path trust check before that generated path has been recorded.
Credit to @Superfishintights for identifying and proving the watcher approach.
sdjg113 commentedon Aug 27, 2026
there is still problem with
/Users/example/Projects/example-repo/Users/example/Projects/example-repo/apps/webThen security checks used exact execution paths, while the UI and configuration exposed trust mostly at the repository/project level.
evolsb commentedon Aug 27, 2026
Independent Android Remote → macOS reproduction, still present on 2026-08-27 after a full mobile cache/data clear, desktop restart, and fresh re-pair.
Environment:
26.820.60940(build7119)0.150.0-alpha.81.2026.230, Android 17Host controls all pass: the Remote client grant is fresh, existing-thread resume/turn submission works,
project/listreturns the saved Git project, and the original repository path is exactly trusted.A fresh projectless attempt gave unusually precise ordering evidence:
T+0config/batchWrite:T+0.326 msconfig.tomlmtime:T+1.862 msT+2.555 msconfig/readreturnedtrustedThis means an after-creation watcher is not deterministic on this build even when it begins within a third of a millisecond. The Android client appears to take its trust snapshot before/in parallel with target creation, or it does not re-read a successful host write before aborting.
Managed Worktree mode shows the same generated-UUID failure. By contrast, asking the host desktop API to create the same project worktree succeeds immediately, yielding a clean isolated linked worktree. So pairing, Git, host worktree creation, and source-project trust are healthy; the failure boundary is the Android new-task preflight before
thread/start.A robust fix likely needs the mobile flow to defer trust validation until target creation has resolved the linked source repository, or to retry/evaluate effective trust server-side instead of indexing the raw
config.projectsmap by the generated execution path.AwokenSpirit commentedon Aug 28, 2026
Android Remote → Windows reproduction
Revoking and reconfiguring access didnt work, clearing android data didn't work, moving worktrees to the local folder didnt work
Windows version just updated: Chat GPT 26.825.31414
wenjunjin88-alt commentedon Aug 28, 2026
Android remote -〉Can't verify project trust for /Users//Documents/Codex/2026-08-20-test-2. Open the repository in Codex on the remote computer and make a trust choice, then select that repository's original directory and try again. You can also start in Read only mode. If this continues, update Codex on the remote computer.
sdjg113 commentedon Aug 28, 2026
This remote\sand box is a hot mess. With all the watcher patch, it can now start a chat if you prompt text only. However, if you start a conversation with a image and a prompt, the entire chat would be stuck at loading state forever. Also the sandbox block git commit and there is no way around that.
kongjiellx commentedon Sep 1, 2026
Still reproducible on a newer macOS host build, and this is now a complete blocker for creating writable Worktree tasks from Android Remote.
Environment:
26.825.51511(build7377)0.151.0-alpha.7.2Exact reproduction:
trustedin~/.codex/config.toml.~/.codex/worktrees/<generated-UUID>/<repo>path with the same project-trust error before the task starts.Controls:
thread/start.This is not a repository configuration problem and telling users to trust the original directory does not address it. The Remote preflight is checking the generated destination path before it exists and before it can be associated with the already trusted source repository.
This issue has multiple independent reproductions across macOS, Linux, and Windows, but it is still open with no assignee, milestone, maintainer acknowledgement, or linked fix. The regression makes the newly exposed Android Worktree selector unusable for its primary purpose. Please prioritize this, assign an owner, and publish which desktop/mobile build will contain the fix. At minimum, Remote should validate trust using the selected source project identity/root, not require an impossible exact trust decision for a fresh random UUID.
noahlevin commentedon Sep 1, 2026
I can reproduce this on the same current macOS host build, and the failure is broader than “No project” or newly allocated Worktree paths: the Android Workspace option is also being routed to a managed worktree path instead of the saved project’s trusted original directory.
Environment:
26.825.51511(build7377)0.151.0-alpha.7.2Reproduction and controls:
/Users/<user>/Documents/Codex/<generated-chat-directory>.Team. Its original root,/Users/<user>/Documents/ChatGPT/Team, is explicitlytrustedin~/.codex/config.toml./Users/<user>/.codex/worktrees/<generated-worktree-id>/Team; that target did not exist at the time of rejection./Users/<user>/.codex/worktrees/<existing-worktree-id>/Teaminstead of using the originalTeamroot. This worktree exists, andgit rev-parse --git-common-dirresolves to/Users/<user>/Documents/ChatGPT/Team/.git, but Remote still requires an exact trust entry for the worktree cwd.thread/start, so the mobile preflight is failing before the Mac receives a task request.All three writable new-chat routes currently fail:
Trusting a parent directory cannot solve this because trust is exact-path and the generated paths change. The Workspace result is especially useful evidence: selecting Workspace does not use the saved project’s original trusted root.
Expected:
The host is online, existing Remote threads remain available, and the failure occurs before task creation.
hwong103 commentedon Sep 4, 2026
Confirming this is still reproducible on a substantially newer macOS host build, and my case is not projectless: it blocks new managed Worktree tasks for an existing saved Git project.
Environment (2026-09-04):
26.901.22334(build7746)0.153.00.153.2Reproduction:
trustedin~/.codex/config.toml.~/.codex/worktrees/<new-UUID>directory, then rejects the not-yet-created~/.codex/worktrees/<new-UUID>/<repo>path with “Can't verify project trust”.Controls and attempted remediation:
~/.codex/worktrees, and the broader project parent does not help.This confirms the failure boundary is the mobile new-task preflight before normal worktree creation or
thread/start. It appears to validate exact trust against the random destination before associating that destination with the already trusted source repository.The issue title currently says “No project”, but the impact includes existing trusted projects in Worktree mode on current macOS builds. It may be worth broadening the title/triage accordingly.
Additional cross-platform scope: I also encounter the same inability to start new Remote sessions/worktrees when selecting a Windows Mini PC as the host. Existing sessions on that host can still be continued. The Windows desktop/CLI version and host-side trace have not yet been captured, so I am reporting that as a second affected host rather than claiming identical internal ordering without logs.
FoundationDigitalLabs commentedon Sep 5, 2026
Independent reproduction on Android Remote → Linux, still present on the current 26.901 runtime.
Environment:
26.901.319532026.09.04.2055130.153.1Reproduction:
~/Documents/Codex/2026-09-04-<prompt>but rejects it with “Can’t verify project trust”.Host-side verification:
projects/project_rootsrecords and thethreadstable, confirming failure occurs before task persistence.Expected: a writable projectless Remote chat should initialize its generated directory without applying the exact-path trust requirement intended for an existing repository.
This confirms the issue remains present in Codex CLI/app-server
0.153.1, newer than the Linux0.148.0-alpha.9reproduction already reported above.nachocab commentedon Sep 5, 2026
Feedback ID: 01a0995c-0da2-7b71-8cb4-f40f8c834293
I'm also seeing this. Also posted about it in the forum.
What version of the Codex App are you using?
Codex desktop:
26.825.51511(build7377)Bundled codex-cli/app-server:
0.151.0-alpha.7.2What platform is your computer?
macOS
26.5.2, Apple silicon (arm64)What Remote client are you using?
ChatGPT mobile app: Android
Mobile app version: 1.2026.237 (16)
What issue are you seeing?
Creating a new Codex task through Remote fails for some existing Git projects with:
The failure occurs with both Workspace and Worktree selected in the Remote new-task screen. It also occurs when
mainis selected as the branch.The path in the error is not the selected project’s original directory. It is the generated worktree used by the task that is currently open on the desktop host:
After switching to a different desktop task backed by another generated worktree, the error changed from one worktree ID to the new active task’s worktree ID. For example:
This suggests that Remote’s new-task trust preflight is inheriting the currently active task’s runtime
cwdinstead of using the project and environment selected in the new-task form.Steps to reproduce
mainif a branch selection is shown.Expected behavior
When Workspace is selected, Remote should validate and start the task in the selected project’s original trusted directory.
When Worktree is selected, Remote should resolve trust through the selected worktree’s original repository, then create or select the managed worktree.
The currently open desktop task’s
cwdshould not affect a separate new-task request.Actual behavior
Both Workspace and Worktree modes validate the currently active task’s generated worktree path.
The selected project’s original trusted directory is ignored, and the new task does not start.
Additional diagnostics
The original repository has an exact trusted entry in
~/.codex/config.toml:The saved project record points to the original repository path.
The active task is associated with that saved project but has a runtime
cwdunder~/.codex/worktrees/<id>/<repo>.The generated worktree is a valid linked Git worktree sharing metadata with the original repository.
The issue reproduces in multiple repositories, although not every repository is affected.
Restarting Codex Desktop did not resolve it.
Removing and re-pairing the Remote device did not resolve it.
The desktop app is already on the latest available production build.
Pairing succeeds; the failure happens during new-task trust verification.
Suspected cause
Remote appears to perform the trust check against the active task’s runtime
cwd, or an inherited working-directory field, rather than the project ID/root and environment selected in the new-task form.Because generated worktree paths use changing IDs, trusting an individual generated path is not a durable workaround.
wuseal commentedon Sep 5, 2026
Confirmed host-side workaround for saved Git projects
I tested a workaround for the Android Remote → macOS managed Worktree
variant. It bypasses the Android new-task trust preflight by asking an already
running Workspace task to create a separate Worktree task through the host's
native task API.
Environment used for this test:
26.831.215370.152.1Steps:
From Android Remote, start a task for the saved Git project with
Workspace selected. This must be a project whose Workspace route still
starts successfully.
In that task, send a self-contained request such as:
The running host task resolves the saved project and calls its native
create_threadaction once with the task payload and a project target whoseenvironment is
worktree.Open the created-task card from Android.
Observed result:
~/.codex/worktrees/<id>/<repo>successfully.git worktree list --porcelainregistered it as a detached worktree.git rev-parse --git-common-dirresolved to the original repository's Gitdirectory.
conversation. Using
fork_threadinstead copied the parent history, so afork is not equivalent.
route.
There are two important limitations. Worktree setup commonly returns only a
pending
clientThreadId; it must not be passed to APIs that require a realthreadId, and an uncertain create must not be retried because that can createduplicates. Also, a completed agent-created task may later disappear from the
normal task list even after it was initially visible, so open the task card
while it is available. This workaround starts the isolated task, but it does
not fix durable mobile discovery or the underlying trust-routing bug.
No repository-specific identifiers or private source details are included here.
harryshawk commentedon Sep 7, 2026
Independent reproduction on ChatGPT mobile Remote → macOS, still present on 2026-09-07.
Environment:
Observed behavior:
<home>/Documents/Codex/2026-09-07-<prompt-slug>.Can't verify project trustmessage shown in this issue.Host-side checks immediately after the failure:
drwxr-xr-x..gitis absent).config.toml.trusted; none isuntrusted.This rules out an ordinary filesystem ownership/mode problem on this Mac and supports the ordering diagnosis already reported here: the Remote projectless flow creates its destination but reaches exact-path trust validation before projectless initialization records trust and starts the thread.
I have omitted the screenshot and raw logs because they expose the local username, host name, unrelated paths, and thread identifiers. Targeted redacted diagnostics can be provided if useful.
tension-zl commentedon Oct 12, 2026
Additional reproduction: existing saved non-Git projects fail on Android, while desktop creation and remote continuation work
Observed on October 12, 2026 (UTC+8). This is an adjacent variant of the project-trust failure in this issue: an existing saved project in its original directory, rather than a newly generated projectless directory or managed Git worktree.
Environment
Observed behavior and reproduction
The failure was reported across all four saved projects. The captured screenshot identifies the original saved project directory, not a generated worktree.
The Chinese UI states that it cannot verify whether the project is trusted, instructs the user to open the repository on the remote computer and make a trust choice, then select its original directory and retry. It also suggests Read only mode or updating the host app.
Host-side checks and confirmed workaround
For the project used in the controlled test:
~/.codex/config.tomlcontained no[projects...]tables ortrust_levelentries for any of the four projects.This is a before/after confirmation for one existing saved project, not a claim that exact-path trust fixes every projectless/worktree variant in this thread.
Product behavior to investigate
The observable inconsistency is that a saved project can support desktop-created conversations and remote continuation while Android new-conversation creation requires a trust record that normal desktop use has not established.
The workaround supports a missing explicit trust record as the immediate cause in this case. It does not establish the precise mobile/server implementation or whether this shares the same internal cause as the generated-directory reports above.
Expected behavior: desktop and mobile should use consistent effective trust semantics. If an explicit trust decision is required, provide a clear, actionable confirmation flow and persist that decision for subsequent supported clients. Merely opening or using the project on desktop should not leave the user stuck following a recovery instruction that does not produce the required state.
Please preserve explicit user consent and existing sandbox restrictions; the request is for a consistent trust flow, not automatic trust of arbitrary directories.
Private paths, host names, screenshots, full configuration, and unrelated logs have been omitted.