{"version":"2.1.246","anchor":"self-hosted-runner-rejects-malformed-work-poll-responses","canonical_anchor":"self-hosted-runner-rejects-malformed-work-poll-responses","heading":"Self-hosted runner rejects malformed work-poll responses","tier":"notice","area":"Self-Hosted Runner","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246\/e\/self-hosted-runner-rejects-malformed-work-poll-responses","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.246","markdown":"### Self-hosted runner rejects malformed work-poll responses\n\nThe self-hosted runner validates work-poll responses and blames an intercepting proxy when they're malformed.\n\n**What**\n\nThe self-hosted runner now checks the shape of each work-poll response before using it, and the errors name an intercepting proxy as the likely cause rather than failing obscurely later.\n\n**Details**\n\n- Non-object bodies, non-array assignment lists and malformed session ids each throw.\n- A lease expiry is accepted only if it is a string, and session assignments only if they are an array.\n- Unconditional on the self-hosted runner path.\n\n**Evidence**\n\n`PollWork: response body is not a JSON object (an intercepting proxy may have answered)`\n\n- Area: Self-Hosted Runner\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 2\/5"}