Originally Posted by
Cymro
If not at least OW Ruby, on check-in (the system actually assigns a little before but you can see it then.
24h in advance; BA tries to give everyone the best seat possible. You can't change once the boarding pass is downloaded, including (especially) at the gate, but can otherwise change it when checking in. The rule from 15 years ago is still in force.
You can change your seat after printing/downloading your BP by asking at check in desk, in lounge or at the gate. I've even dont it over the phone. You just can't change it yourself in the app. Just don't do it at the gate in the middle of boarding when the agent is overwhelmed!