The EU has agreed to extend Brexit until 31 January 2020, according to a tweet from the European Council president.
Donald Tusk said the bloc would allow for a so-called "flextension" - meaning the UK could leave before the deadline if a deal was approved by Parliament.
It comes as MPs prepare to vote on proposals by Boris Johnson for an early general election on 12 December.
The SNP and Lib Dems have also proposed an election on 9 December.
The draft text of an agreement for the 27 EU ambassadors - seen by the BBC - also included a commitment that the Withdrawal Agreement on the UK's exit from the EU cannot be renegotiated in future.
The UK was due to leave the EU on Thursday, but Prime Minister Boris Johnson must accept the delay under a law passed last month by MPs.