In an announcement on his website explaining his decision, Costello spoke of "intimidation, humiliation or much worse" inflicted by Israel on the Palestinians and said sometimes "merely having your name added to a concert schedule may be interpreted as a political act."
Costello told The Jerusalem Post earlier this month he was against boycotts, saying it would be like avoiding the U.S. or England because he disagreed with the policies of their governments.
But in Thursday's edition of the paper, he explained his change of heart.
"The issues just became too complex and I woke up one day and realized I couldn't go on with the shows," Costello was quoted as saying.
Costello's cancellation drew an angry response from his Israeli fans. "There is an enormous group of people in Israel who are humanists and hunger for peace, who yearn for a normal life and are prepared to make painful concessions. And they are also sworn culture-lovers," one disappointed ticket-holder, Shai Lahav, wrote in the Maariv daily, noting that he had listened to Costello every day since he was 15. "With this miserable decision of yours, it is this group of people you have weakened."
"Sometimes, a musician ought to focus just on music. At least that is a field in which he has some knowledge," Lahav wrote.
Israeli Culture Minister Limor Livnat said a singer who boycotts Israeli fans "is not worthy of performing in front of them."
Many artists choosing to perform in Israel generate protest from Palestinians and their supporters who say their shows amount to support of Israel's policies in the West Bank and the Gaza Strip. But few actually cancel.
After years of concerns over political tensions and violence, more world artists are performing in Israel, including Madonna, Leonard Cohen and Paul McCartney since 2008. Elton John is set to take the stage in June.