Windows Desktop remote SSH task resume sends empty path after reconnect

Open
#33,697 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
rust
Domain
api, desktop

Research direction

Start by reading the linked AbsolutePathBuf implementation and the app-server v2 protocol definitions, then trace the thread/read and thread/resume entry points involved in the reported sequence. Reproduce the reconnect flow with a remote macOS task and confirm completion by selecting it after restart without an empty-path resume warning.

Written by the indexing model from the issue text.

Description

app app-server bug remote windows-os

Windows Desktop remote SSH resume sends an empty path after reconnect

Environment

  • Windows Codex Desktop: Microsoft Store build 26.707.9981.0
  • Bundled Windows app-server: 0.144.2
  • Remote macOS app-server: 0.144.5
  • Transport: Codex Desktop's supported SSH connection and official project/task operations

The Microsoft Store reported no newer signed build on 2026-07-17.

Symptom

A completed remote SSH task opens during its creation session. After a normal
Windows Codex restart or app-server reconnect, selecting that task can emit the
same toast more than once:

Failed to resume task
Invalid request: AbsolutePathBuf deserialized without a base path

Official thread/read still succeeds and returns the intact history, the remote
host, and an absolute macOS working directory. Project enrollment also remains
healthy.

Reproduction

  1. Enroll a macOS project through Codex Desktop's supported SSH connection.
  2. Create a task through the official project/task operations and let it finish.
  3. Normally close and reopen Windows Codex, or reconnect its app-server.
  4. Select the completed remote task.
  5. Observe the resume warning even though official thread/read succeeds.

Sanitized logs show this sequence:

maybe_resume_started previousResumeState=needs_resume
thread/read errorCode=null
thread/resume errorCode=-32600
Invalid request: AbsolutePathBuf deserialized without a base path

Packaged renderer evidence

The signed renderer creates or reloads the remote conversation with
rolloutPath: "". Its metadata read updates the store with the path returned by
thread/read, but the subsequent resume request is built from the stale local
conversation object and effectively sends:

path: localConversation?.rolloutPath ?? null

Because an empty string is not null, the request carries path: "". The
app-server's optional AbsolutePathBuf field correctly rejects that empty path.
The expected client behavior is to omit/null a blank path or use the path from
the successful thread/read result.

Impact and current mitigation

The task transcript is not corrupt. An official read-only same-owner follow-up
can load the task for the current app-server session, but the failure returns
after a later reconnect. Replacement tasks can acquire the same state.

There is no supported permanent local repair in the affected signed build. Do
not patch the ASAR, edit private Codex state, invent a rollout path, rerun project
enrollment, or use a raw transport. Use official read_thread as the
authoritative result path and describe the follow-up only as session-scoped.

Permanent acceptance requires a newer signed OpenAI build. Create and complete
a fresh remote Mac task, normally restart Windows Codex with no active task, and
confirm that selecting the completed task produces no resume warning.

Related official sources

Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

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.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.