Claude Code can send tool definitions in two beta ways: inline, or added later in a conversation. A beta is a feature the API offers before it is final, switched on with a header sent with each request. When the API rejects either of these with the reason header_rejected, Claude Code already fell back and cleaned up.
It now also records an extra piece of state in that case. When tools are added later in a conversation, there is a second such record. The warnings you see are unchanged.
Nothing new appears on screen. The change is in what Claude Code keeps track of after the API refuses one of these betas.
It is not clear what the extra state holds or how long it lasts.