Police in Paris have clashed with protesters after the French government decided to force through pension reforms without a vote in parliament.
Crowds converged on Place de la Concorde in response to raising the retirement age from 62 to 64.
The plans had sparked two months of heated political debate and strikes.
Finally, Prime Minister Élisabeth Borne invoked article 49:3 of the constitution – allowing the government to avoid a vote in the Assembly.
The decision was taken minutes before MPs were scheduled to vote on the controversial bill, because there was no guarantee of winning a majority.
The move caused fury among opposition politicians. Many jeered the prime minister, sang La Marseillaise and held up signs of protest in parliament.
A no-confidence motion will be filed against President Emmanuel Macron’s government, far-right opposition leader Marine Le Pen has suggested.
Leader of left-wing party La France Insoumise (LFI), Mathilde Panot, tweeted that Mr Macron had plunged the country into a government crisis, without parliamentary or popular legitimacy.
Thousands of people came out on the streets of Paris and other French cities to reject the move, singing the national anthem and waving trade union flags.
Some protesters clashed with police as evening fell. A fire was lit in the middle of the Place de la Concorde and police with shields and batons fired tear gas and moved to clear the square.
By nightfall, 120 people had been arrested, Paris police told AFP news agency.
But unions vowed to maintain their opposition to the pension changes, with the Confédération Générale du Travail (CGT) saying another day of strikes and demonstrations was being planned for Thursday 23 March.
The constitutional procedure that has prompted all this anger may sound obscure, but it is very much part of the political vocabulary in France.
Even though Mr Macron was re-elected last year on a platform of retirement reforms, his ruling coalition has no majority in the Assembly and would have needed support from the Republicans party to pass the pension changes.
Officials from Mr Macron’s Renaissance party spent the morning desperately whipping members into line in a bid to pass their bill.
They knew some of their MPs could vote against or abstain, faced with the evident unpopularity of the bill, so they resorted to special constitutional powers.
But whenever a government invokes the 49:3, it can be sure it will be accused straight away of riding roughshod over the will of the people.
In fact, it has been used precisely 100 times in the more than 60 years of the Fifth Republic, and by governments of all shades.
Obviously, it tends to be used more frequently by governments that do not have an in-built majority in parliament, such as the socialist Michel Rocard’s in the 1980s and Élisabeth Borne’s today.
She has in fact already used it several times, but those occasions were for public finance bills which were less controversial.
Use of the procedure is a way to bypass a vote which might be lost, but the down side for the government is that the opposition parties can immediately table a vote of no-confidence.
If these are voted through, the government falls. That is a theoretical possibility now, but unlikely, because it would mean the far-right, the left and much of the conservative opposition all coming together.
The dispute once again makes France look unreformable. By comparison with other countries in Europe, the change to the pension age is far from dramatic.
But the bill is regularly described by opponents as “brutal”, “inhuman” and “degrading”.
Morale in France is low and getting lower, and people see retirement as a bright spot in the future. But many feel that this is a rich man’s government taking even that away.