Skip to content

fix(sdk): surface RemoteConversation.fork() title from ConversationInfo - #4885

Draft
Zsanz3 wants to merge 1 commit into
OpenHands:mainfrom
Zsanz3:cursor/fix-remote-fork-title-2b69
Draft

fix(sdk): surface RemoteConversation.fork() title from ConversationInfo#4885
Zsanz3 wants to merge 1 commit into
OpenHands:mainfrom
Zsanz3:cursor/fix-remote-fork-title-2b69

Conversation

@Zsanz3

@Zsanz3 Zsanz3 commented Sep 7, 2026

Copy link
Copy Markdown

HUMAN:


AGENT:

Why

RemoteConversation.fork(title=...) correctly sends title to the agent-server, and ConversationInfo returns title and tags as separate top-level fields. The client only read tags from that response (with a stale comment that tags "include merged title"), so the returned fork object dropped the server-assigned title. The existing unit test mocked that impossible wire shape by putting title inside tags.

Summary

  • RemoteConversation.fork() now reads top-level title from the fork ConversationInfo response and stores it on the returned client object.
  • Tags remain a separate field; they are no longer treated as if they contain the title.
  • test_remote_fork_uses_server_returned_tags mocks title as a top-level field and asserts fork.title.

Issue Number

Fixes #4847

How to Test

uv run pytest tests/sdk/conversation/remote/test_remote_fork.py -v

SDK client-side mapping fix only (no GUI). Live agent-server E2E would need a running remote conversation plus a fork with an explicit title; the contract under test is that the fork response's top-level title is exposed on the returned RemoteConversation.

Test evidence (ran on this branch)

uv run pytest tests/sdk/conversation/remote/test_remote_fork.py -v --tb=short
# all tests in that file PASSED

Type

  • Bug fix
  • Feature
  • Refactor
  • Breaking change
  • Docs / chore

Notes

Draft until the HUMAN section is filled (≥20 visible characters). Soft claim by @adbcodes had no competing PR at open time.

Read top-level title from the fork response instead of treating it as a
tag, so the returned RemoteConversation matches ConversationInfo.

Co-authored-by: openhands <openhands@all-hands.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: RemoteConversation.fork() ignores title in server response; test mocks wrong server shape

2 participants