Body-less POSTs (resume, close) sent content-type: application/json with no body, so Fastify rejected them with FST_ERR_CTP_EMPTY_JSON_BODY (400) and clicking an existing session never reopened it. apiFetch now adds the header only when init.body is set. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>