The Hannibal Directive (Hebrew: נוהל חניבעל, romanized: Nóhal Khanibaál), also translated as Hannibal Procedure or Hannibal Protocol, is the name of a controversial procedure used by Israel Defense Forces (IDF) to prevent the capture of Israeli soldiers by enemy forces. According to one version, it says that "the kidnapping must be stopped by all means, even at the price of striking and harming our own forces."[2] It was introduced in 1986, after a number of abductions of IDF soldiers in Lebanon and subsequent controversial prisoner exchanges. The full text of the directive was never published, and until 2003, Israeli military censorship forbade any discussion of the subject in the press. The directive has been changed several times,[2] and in 2016 Gadi Eizenkot ordered the formal revocation of the standing directive and the reformulation of the protocol.[3][4]
Two versions of the Hannibal Directive may have existed simultaneously at times: a written version, accessible only to the upper echelon of the IDF, and an "oral law" version for division commanders and lower levels. In the latter version, "by all means" was often interpreted literally, as in "an IDF soldier was 'better dead than abducted'". In 2011, IDF Chief of Staff Benny Gantz stated the directive does not permit killing IDF soldiers to prevent abduction.[5]
In case of the abduction of Gilad Shalit, invocation of the Hannibal Directive occurred too late to have any influence on the course of events.
Israeli newspapers including Haaretz, ABC News and the UN's Commission of Inquiry have pointed out that during the 2023 Hamas-led attack on Israel the IDF ordered the Hannibal Directive to be used. The IDF was ordered to prevent "at all costs" the abduction of Israeli civilians or soldiers, possibly leading to the death of a large number of Israeli hostages.[6][7][8][9][10][11]
nytimesrevoked
was invoked but never defined (see the help page).:5
was invoked but never defined (see the help page).Ynet240111
was invoked but never defined (see the help page).:6
was invoked but never defined (see the help page).