Labour has U-turned over its support for the government's plans to force future governments to keep a budget surplus.

Jeremy Corbyn's party had planned to support the law in a Parliament vote, but shadow chancellor John McDonnell has now told MPs that Labour will oppose the law.

He said it would "underline our position as an anti-austerity party". But it has prompted a backlash among some Labour MPs.

In a statement, Mr McDonnell said: “As the nature and scale of the cuts Osborne is planning are emerging there is a growing reaction not just in our communities but even within the Conservative Party. The divisions over the cuts in tax credits to working families are just the first example of what we can expect as the cuts in other departments are exposed and the failure to find additional resources to bridge the growing expenditure gap in service areas like the NHS is revealed."

Former shadow chancellor Chris Leslie told the BBC that Labour should not have reversed its stance on the vote, but called for the party to set out its own motion.

He said: "To go from one extreme to the other is wrong in economic terms but also it sends the wrong message to the general public as well.

"I think to be fair to John McDonnell this is a very difficult balancing act, it's a very difficult topic, but it's incredibly important that he is clear and consistent and explains fully not just what Labour's position is but also why he backed George Osborne's surplus a couple of weeks ago and is now against it apparently."

Shadow international development secretary Diane Abbott, one of Jeremy Corbyn's allies, said the party was "only slowly coming to terms with the fact that Jeremy won" the leadership race.

She added that the majority of those at the Parliamentary Labour Party meeting, where much of the anger is reported to have occurred, were supportive of the U-turn.