The UK looks set for a December general election after Labour leader Jeremy Corbyn announced his party was ready to fight the "most radical campaign ever".
Mr Corbyn said his condition of taking a no-deal Brexit off the table had now been met after the EU agreed to extend the deadline until 31 January 2020.
Prime Minister Boris Johnson can only hold an election with the support of MPs - who have blocked it three times.
The PM will make a fresh attempt to get their backing in Parliament later.
The government bill published ahead of the Commons debate is for an early election on 12 December.
But the Scottish National Party and Liberal Democrats want a 9 December poll, saying it would prevent the prime minister from pushing his Brexit deal through Parliament.
No 10 sources have told the BBC they would accept 11 December to get opposition parties on-board - and they have agreed to put Brexit legislation on hold, for now.
Labour's Shadow Justice Secretary Richard Burgon said Labour wanted Mr Johnson "out before Christmas", but did not confirm his party's preferred poll date.
Mr Corbyn was cheered by members of his top team, as he made his announcement at Labour's campaign headquarters in central London.
He said: "I have consistently said that we are ready for an election and our support is subject to a no-deal Brexit being off the table.
"We have now heard from the EU that the extension of Article 50 to 31 January has been confirmed, so for the next three months, our condition of taking no-deal off the table has now been met.
"We will now launch the most ambitious and radical campaign for real change our country has ever seen."
Mr Burgon said Labour would be pushing to get votes for 16 and 17-year-olds, as well as EU nationals so they can have their say.
But he added: "Even if we don't get those things we want, when push comes to shove, we are going to support an election."
However, not all Labour MPs are on board, with Ben Bradshaw saying it was a "bad mistake" and calling instead for another referendum on Brexit.
His fellow backbench MP, Barry Sheerman tweeted that it was "sheer madness" to hold a December election "on Boris Johnson's agenda".
Mr Johnson will later call on Parliament to support a general election for the fourth time since he took office in July.
The first three times he put forward motion under the Fixed-term Parliament Act, which needs the support of two-thirds of all 650 MPs to pass, but cannot be amended by those wanting to add their own conditions to an election.
This time - at around 13:30 GMT - Mr Johnson and his government will put forward a short bill calling for an election on 12 December and try to pass it through all its Commons' stages in one day.
It will only need a majority of one to win, but unlike his other attempts, MPs could table amendments - such as a proposal to lower the voting age.
Labour has, against the wishes of many of its MPs shifted to supporting a December election and with that, it means we are on for the first December general election in decades.
The prime minister hopes this will give him a victory at the polls that would allow him rapidly to get his Brexit deal through Parliament and the UK out of the EU.
The Labour leader hopes for a souped-up version of his move forward at the 2017 election that would mean, contrary to the view of many of his own MPs, his project can continue and build.
The Lib Dems and SNP hope for a chance to stop Brexit happening, and expand their own political positions at a junction for the country.
But none of the parties can be remotely sure of what will happen next.