Lebanon's parliament Thursday passed a law to lift banking secrecy for public officials, including over corruption or funding "terrorism", a lawmaker said, after months of protests in the crisis-hit country.

But the final text did not allow judges to independently order a disclosure, in a last-minute change that an activist said made the law toothless.

The law concerns "everyone who deals with public affairs, elected or nominated, lawmaker, mayor, judge, officer or adviser," parliament budget committee chairman Ibrahim Kanaan said.

It covers suspected cases of "corruption, as well as funding terrorism, money laundering, and funding electoral campaigns", he told AFP.

Only the central bank's Special Investigation Commission and a still-to-be-formed National Anti-Corruption Commission can implement the law, he said.

Mass protests against perceived government mismanagement and corruption erupted in October last year, as Lebanon hurtled into its worst economic crisis in decades -- now sharply exacerbated by the coronavirus pandemic.

Banks have imposed crippling controls on ordinary depositors, including a ban on transfers abroad and a progressive cap on dollar withdrawals.

But still reports have emerged of mass capital flight, angering campaigners.

Lawyer and activist Nizar Saghieh lambasted the final version of the bill.

The central bank's commission "has always had this ability to be able to lift secrecy as soon as there is the slightest suspicion of money laundering", he said.

But "they haven't done it, for example recently when billions were transferred abroad", he added.

Lebanese protesters have attacked banks during demonstrations against perceived government mismanagement and corruption Lebanese protesters have attacked banks during demonstrations against perceived government mismanagement and corruption Photo: AFP / Ibrahim CHALHOUB

Thursday's session, held in a conference hall to follow coronavirus social distancing measures, was to discuss 38 measures in total.

The speaker adjourned the session before the adoption of two bills -- a controversial general amnesty law and another on capital controls.

Divisions between parties at the last minute hampered an agreement on the amnesty bill, with the departure of former Prime Minister Saad Hariri's Future Movement from the session.

The stumbling block seems to have been the amnesty, called for by some Christian parties, for people accused of collaboration with Israel.

That would allow the return to Lebanon of fighters from the South Lebanon Army (SLA), a Lebanese militia allied to the Jewish state.

Some parliamentary blocs, including the Shiite party Amal, have rejected this provision.

The amnesty was also intended to cover defendants or suspects wanted in connection with drug trafficking or production.

That has been demanded by thousands of families from the eastern Baalbek and Hermel regions -- bastions of the Shiite movement Hezbollah and its ally Amal where illicit cannabis cultivation is widespread.

In addition, the law would include some 1,200 "Islamist detainees", mostly from the northern city of Tripoli, some of them accused of attacks on the army or involvement in deadly clashes.

On Thursday evening, protesters including relatives of detainees affected, closed roads in the northern city of Tripoli and in Baalbek, the official National News Agency reported.

Parliament is expected to continue to study the draft law on capital controls, which aims to regulate the informal restrictions imposed by banks on depositers in recent months.

After defaulting on its ballooning debt in March for the first time, Lebanon last month approved a rescue plan and this month entered talks with the International Monetary Fund in a bid to secure billions in international aid.

"The discussions are constructive and cover many areas including capital controls, financial sector restructuring and structural reforms," an IMF spokesperson said on Wednesday.