Skip to content

Clipboard sharing does not work with macOS 14 (Sonoma) guests (works on Sequoia/Tahoe with the same agent) #1337

Description

@AlexandrPkhm

Summary

Host↔guest clipboard sharing is completely non-functional when the guest is macOS 14 (Sonoma), while the same host and the same tart-guest-agent version work fine with a macOS 26 (Tahoe) guest. This extends the observation in #1167 (comment) ("clipboard sharing does not work … unlikely an agent issue because macos-sequoia-xcode works and has the same agent version") with byte-level evidence that the failure is at the SPICE vdagent layer and is guest-OS-version dependent.

Environment

  • Host: Apple Silicon (arm64), macOS 27.0 (26A428)
  • tart: 2.32.1
  • Guests: ghcr.io/cirruslabs/macos-sonoma-base:latest (macOS 14) and ghcr.io/cirruslabs/macos-tahoe-base:latest (macOS 26), both cloned locally
  • tart-guest-agent 0.14.1 on both guests, installed identically (launchd LaunchAgent org.cirruslabs.tart-guest-agent, --run-agent)

Steps to reproduce

  1. tart run macos14-sonoma
  2. Copy text on the host, paste in the guest → nothing appears.
  3. Copy text in the guest, paste on the host → nothing appears.
  4. Repeat with macos26-tahoe → both directions work.

Diagnostics

The guest side is healthy in every way we could check:

  • agent running, --run-vdagent active, RPC on AF_VSOCK:8080 up
  • SPICE port held by the agent: lsof -p <agent> | grep spice/dev/tty.com.redhat.spice.0
  • the guest's own pasteboard works (pbpaste/pbcopy fine inside the guest)

The decisive difference is how much data ever crosses the SPICE channel:

Guest lsof offset on /dev/tty.com.redhat.spice.0 Clipboard
macOS 14 (Sonoma) 0t0 headless / 0t36 windowed — effectively zero dead, both directions
macOS 26 (Tahoe) 0t693 works, both directions

On Sonoma the vdagent protocol never completes — no clipboard data flows in either direction, with identical host, agent binary, launchd setup, and run flags. This matches the finding that macos-sequoia-xcode works while macos-sonoma-xcode does not, with the same agent version.

Restarting the guest agent (launchctl kickstart -k gui/$(id -u)/org.cirruslabs.tart-guest-agent) does not help on Sonoma — the channel stays at zero bytes.

Additional observation (macOS 26, possibly unrelated)

On the Tahoe guest we also intermittently saw the agent log failed to run vdagent: unexpected EOF with backoff retries after repeated VM start/stop cycles; clipboard still worked in a clean boot. Mentioning in case it's related, but the Sonoma failure above is deterministic and the primary issue.

Related

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions