There have been rare chaotic scenes in the French parliament as President Emmanuel Macron used special powers to push through an unpopular pensions bill which aims to raise the retirement age from 62 to 64.
Boos and chants from opposition politicians were heard in the national assembly (the lower house) as left-wing MPs sung lines from the national anthem in reaction to the news that the legislation could pass without the need for a vote.
The move by the government has also sparked fierce reaction by the public. Around 7,000 people demonstrated against the proposed pension changes in an unplanned rally on the Place de la Concorde in Paris - across the river Seine from the assembly.
Police fired tear gas and used a water cannon to disperse protesters, while officers who charged groups of demonstrators had cobble stones thrown at them, according to a Reuters reporter.
One police officer was helped by colleagues after appearing to be injured and falling to the ground.
The decision to invoke the special power - article 49.3 - was made during a cabinet meeting at the presidential palace, just minutes before the scheduled vote, as Mr Macron had no guarantee of securing a majority in the assembly.
He argued the reforms were essential to ensure the pension system does not go bust, as the age and life expectancy of the population increases.
But the move is expected to trigger motions of no-confidence in his government.
Earlier on Thursday, the senate (upper house) adopted the bill by 193 votes to 114, a tally that was largely expected since the conservative majority there backs the reforms.
As the prime minister, Elisabeth Borne, tried to formally announce the special procedure in the assembly, some left-wing politicians held up placards reading "no to 64 years", while far-right leader Marine Le Pen called for her to resign.
Other opposition politicians emerged from parliament to demand the government steps down.
The disruption led to the speaker briefly delaying the parliamentary session to try and restore order.
The move was called "a spectacular failure" by Jean-Luc Melenchon, the leader of left-wing party France Insoumise (France Unbowed).
"This bill has no parliamentary legitimacy, no legitimacy from the street," he said at a protest outside parliament.
Opinion polls show a vast majority of voters oppose the pension reforms, as do trade unions, who argue that there are other ways to balance the pension system account.
Socialist Party leader, Olivier Faure, earlier said the bill could unleash "uncontrollable anger" following weeks of rolling strikes and protests that have affected power production, blocked some shipments from refineries, and seen litter pile up on Paris streets.
For a no-confidence motion to be adopted, it needs to be approved by at least half the seats in the lower house - that is currently 287.
If such a motion was successful, the government would have to resign.