The French government has made a major climbdown in its battle with unions over reforms to the country’s complex pension system, which have led to nationwide strikes and transport chaos for more than a month.

As protesters took to the streets of Paris for a second day of action in a week, the prime minister, Édouard Philippe, wrote to union leaders on Saturday saying he would “provisionally” withdraw an incentive to encourage workers to remain in employment until the age of 64, two years after the official retirement age.

Known as the “pivotal age”, it had alienated even moderate union leaders who until its announcement had shunned the call to demonstrations of more hardline unions, who have demanded the complete withdrawal of the pension reform law.

“I am disposed to remove this measure that I proposed from the law in the short term,” Philippe wrote. The PM stressed he remained committed to some kind of “pivotal age” to be introduced “progressively” between 2022 and 2027.

However, in the letter, which came after another day of negotiations between union leaders and the government on Friday, Philippe expressed the government’s determination to “build a universal pension system” and the end of the “special regimes” that allow certain workers to retire early on full pensions.

Until Saturday, the government had argued the “age pivot” was necessary to ensure the financial stability of the country’s pension system, in which those who work finance the pensions of those who have retired.

It was not immediately clear whether the concession would be enough to halt the protests and strikes that have hit France, mainly targeting public transport in Paris and national train services.

The moderate CFDT union confederation welcomed the concession and said it looked forward to continuing the negotiations. “We have obtained the withdrawal of the age pivot from the law; it’s a victory for the CFDT. This unfair and useless measure was a red line for our organisation. The CFDT will now continue its action for a pension system that is fairer and shows more solidarity,” Laurent Berger, the CFDT’s general secretary tweeted.

The more hardline CGT insisted its members would continue to strike and hold protests until the government withdrew the entire pension law.

Saturday was the 38th day of protests against the pension reforms, which were a key element of president Emmanuel Macron’s 2017 election campaign. Macron wants to transform the country’s 42 different pension funds into a “universal” points system; unions argue the government is trying to remove hard-won rights and privileges and raise the age at which workers retire on full pensions by stealth. It was also the 61st consecutive Saturday of gilets jaunes (yellow vests) protests that began in November 2018.

A pensions demonstration between Place de la Nation and Place de la République – two of Paris’s main squares – was blocked after a number of individuals, who were not in the official union cortege began smashing shop windows and bus shelters and set fire to rubbish bins, advertising hoardings and a disused news kiosk near Bastille. The police, who responded with teargas, advised peaceful protesters to remain with the main demonstration.

The official march passed off mostly without incident. The smashing of shop windows and other incidents of vandalism were blamed on rogue elements linked to “black bloc” activists.

There were other marches in scores of provincial towns and cities. A protest in the city of Nantes was also tense as police used teargas against demonstrators, reported to be a mix of pension protesters and gilets jaunes.

To maintain pressure, unions are planning further demonstrations next Tuesday, Wednesday and Thursday. The national rail network operator, SNCF, and the Paris transport authority, the RATP, announced they would be running the most services since the strikes began on 5 December but that public transport in the capital would remain disrupted next week.