The Tories claim passing the bill would put the UK in contravention of a 1966 Treaty agreed with the US over the islands and therefore in breach of international law.

Article 1 of the 1966 Treaty says “the territory shall remain under UK sovereignty”.

The Tories have called on ministers to ensure agreement is reached with the US over the 1966 Treaty, before the bill returns to the House of Lords.

Under the terms of the proposed new Chagos deal with Mauritius, the UK will lease back Diego Garcia, the largest of the islands and home to a shared UK-US military base.

The deal sets a 24-mile buffer around Diego Garcia, where nothing can be built without UK consent.

Under the terms of the agreement – which was signed by Sir Keir Starmer last May – Mauritius would gain sovereignty of the islands from the UK, but allow the US and UK to continue operating a military base on one of the islands, Diego Garcia, for an initial period of 99 years.

The government said it would pay Mauritius an average of £101m a year for 99 years, which Sir Keir said amounted to a “net cost” of £3.4bn after adjusting for factors including inflation.

Last May, the prime minister said the UK had to “act now” or face Mauritian legal action that could interfere with the Diego Garcia base.

He said: “If we did not agree this deal the legal situation would mean that we would not be able to prevent China or any other nation setting up their own bases on the outer islands or carrying out joint exercises near our base.

“No responsible government could let that happen.”