Updating headers for existing schedules

This is a follow-up of sorts to #14271.

We are using client/workflow/activity interceptors to pass user context all the way through the system. This works well including for scheduled workflows. When we create the schedule the ScheduleClientInterceptor adds the user context to the schedule’s headers. And whenever the schedule executes a workflow it automatically passes the headers to the new workflow.

But one problem we found is with existing schedules that were created before this change was introduced. These schedules don’t have the headers and therefore the workflows started by these old schedules also don’t get the required headers.

Is there some way to update the headers of an existing schedule? I was hoping the ScheduleHandle#update function would support this. But it seem the only way to manipulate the headers is through interceptors. And the ScheduleClientInterceptor doesn’t seem to be able to intercept schedule updates. Am I missing something?