Pinning a conversation with a non-OpenAI provider leaks all pinned OpenAI conversations into the list
Describe the bug
When Codex is configured with a custom provider (e.g. wire_api = "responses" with a custom base_url), the conversation list is correctly scoped to that provider — OpenAI conversations are not visible.
However, as soon as you pin any conversation while on the custom provider, all conversations that were previously pinned on the OpenAI provider suddenly appear in the pinned list.
Steps to reproduce
- Configure Codex with a non-OpenAI provider (custom
base_url,wire_api = "responses") - Start a new conversation — confirm you only see conversations for that provider
- Pin that conversation using the pin action
- Observe: the pinned list now shows the just-pinned conversation plus all conversations previously pinned on the OpenAI account
Expected behavior
Pinning a conversation should not affect visibility of conversations from other providers. The pinned list should remain scoped to the active provider.
Actual behavior
Pinning triggers a full reload of the pinned list that ignores the active provider filter, causing all OpenAI-provider pinned conversations to bleed into the view.
Additional context
If the user then continues one of the leaked OpenAI conversations, requests are sent to the OpenAI API directly (bypassing the custom base_url), silently charging the personal OpenAI account.