Like structuredClone(), worker_threads' postMessage() uses the structured clone algorithm under the hood, so it can't send functions, class instances, or open handles across the thread boundary. Pass plain data, or use transferable objects (like ArrayBuffer) for large binary payloads instead of copying them.