Pep Guardiola has said Manchester City had no choice but to accept Atlético Madrid's offer for Julián Álvarez because he told the club he wants to leave.
ESPN has reported that Álvarez is set to move to Atletico for a fee which could rise to £82 million ($104.2m).
The Argentina international has been a key player at the Etihad Stadium for the last two years, but Guardiola said the club were not in a position to block the deal.
"I don't like to tell players what they have to do," Guardiola told a news conference on Friday.
"Contracts are nice but they can be broken. If you are not happy, why should you be here?
"He's incredibly loved by the team for his behaviour, but like I said many times of the players, if he wants to leave and wants a new challenge -- Atlético is a top club in Spain and in Europe -- and when they suggested to me through the club that he wanted to leave, I said it was OK. Imagine he stays when he doesn't want to stay?"
Álvarez has scored 36 goals in 103 games since arriving from River Plate in 2022.
He has won two Premier League titles, the Champions League and the FA Cup during his time in Manchester, but Guardiola has suggested the 24-year-old has been motivated to leave because he wants to start more often.
"I don't know the reason why. He said he wants a new challenge and he feels it is what he has to do," Guardiola said.
"Last season he played a lot and in some moments he played with Erling [Haaland] but I understand in some important moments maybe he thought he was going to play. I respect him a lot."
Álvarez's decision leaves City and Guardiola with a dilemma about whether or not to reinvest the money in another striker before the transfer deadline.
"I don't know yet," Guardiola said. "We talk every day and see what happens. I don't know yet. It could happen but it could not happen."