{"version":"2.1.309","anchor":"feedback-api-schemas-submit-survey-feedback-and-bundle-mode","canonical_anchor":"feedback-api-schemas-submit-survey-feedback-and-bundle-mode","heading":"Feedback submission gains survey follow-ups, a bundle mode and clearer refusal reasons","tier":"use","area":"SDK","scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309\/e\/feedback-api-schemas-submit-survey-feedback-and-bundle-mode","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.309","markdown":"### Feedback submission gains survey follow-ups, a bundle mode and clearer refusal reasons\n\nFeedback can now include survey follow-ups and a local bundle, and failed submissions say whether the org, the sign-in or the network was the cause\n\n**Unclear.** It is not clear whether these feedback options are switched on for anyone yet.\n\n**What**\n\nThe way Claude Code sends feedback to Anthropic has several new pieces.\n\n- Survey follow-up: a new `submit_survey_feedback` request (`submitSurveyFeedback` in the SDK, the kit for building programs on top of Claude Code) sends the note you write after a survey together with the session transcript. Before any turn has happened it returns `no turn received yet`. Only Pro and Max plans can send it; other plans get \"Only Pro and Max plans can send the conversation with a rating. Nothing was sent.\"\n\n- `transcript_allowed`: a new flag that is true for Pro and Max only.\n\n- `every_rating`: a new field that is true only when transcript sharing is allowed and the remote flag `tengu_curried_sparrow` is on. The flag falls back to off if not set; nothing has been read about it.\n\n- Bundle mode: in 'bundle' feedback mode a redacted zip file is written to your computer, and its location is returned as `bundle_path`. Claude Code shows \"Feedback bundle saved\" and \"Send this file to your Anthropic account representative or attach it to your support request.\"\n\n- Clearer refusals: Claude Code now reads the error code the server returns, such as `feedback_disabled`, `feedback_third_party_blocked`, `oauth_scope_insufficient` and `feedback_check_unavailable`. Organization refusals show the server's own message, such as \"Feedback submission is disabled by your organization's policy.\" Refusals because of your sign-in say that sign-in is not allowed to send feedback. Temporary errors keep your draft queued. Before, only one data-retention refusal was singled out and everything else became a generic \"server returned N ... Try again later.\"\n\n- `unavailable_reason`: the feedback result now carries this field next to `failure_reason`. When the server refuses a report for the organization or its content, both are set.\n\n- Organization policy messages: other messages of the form \"X is disabled by your organization's policy.\" now end with a hint pointing to the public issue tracker. The hint is left off for the feedback refusal and in one other case.\n\n- `survey_followup_box`: a new optional field in the startup response, sent to each session that a VS Code or desktop app starts itself.\n\n**Why**\n\nIf sending feedback fails, you now learn whether your organization blocks it, your sign-in lacks permission, or the problem is temporary, instead of seeing a generic network error. Programs built on Claude Code can tell a server refusal apart from feedback simply being unavailable.\n\n- Area: SDK\n- Tier: Use it now\n- Useful: 4\/5\n- Signal: 4\/5\n- Scope: both\n- Heads-up: no"}