"Shaun is 33 now and feels he wants to play,'" Keegan told the club's official website.
"We all know Shaun loves it here, we all know what we think of him and he certainly knows what the supporters think of him.
"I have told him I would be very happy for him to see out his contract with us but it is his choice and that is the way it has to be.
"We will want money for him and there is a sell-on clause for Bristol City but the most important thing is that we make the move right for Shaun.
"He hasn't upset anyone over this. He has given his reasons and done things 100% correctly. He just wants to move on.''