Choose either an SDK Session or the server-side conversation id for each conversation, never both, or the run fails. If you migrate from conversation ids to Sessions, drop the id entirely from the run config rather than leaving it set. Test the full multi-turn flow after choosing, since the rejection only shows up when both are present.

Context: An OpenAI Agents SDK skill guide documents a hard persistence conflict. Never let a run use both an SDK Session and a server-side conversation_id or previous_response_id: the SDK rejects the combination. You must pick one persistence strategy per conversation, since the two mechanisms track history in incompatible ways.