I have programmatically replaced an app's icon with the icon from another app (see code below). Now I want the change to propagate (visually) right away™ … But the former app still keeps showing the old icon in Finder, Dock and Application Switcher.

Q: Is there a way to force the system to immediately reflect this icon change? Preferably by means of entering some code in my shell.

Here's an example script showing what I did:

# copy-terminal-app-icon-to-iterm.sh
# ----------------------------------
# First backup original iTerm icon
mv /Applications/iTerm.app/Contents/Resources/iTerm.icns /Applications/iTerm.app/Contents/Resources/iTerm-original.icns    
# Then make iTerm use the same icon as Terminal.app
cp /Applications/Utilities/Terminal.app/Contents/Resources/Terminal.icns /Applications/iTerm.app/Contents/Resources/iTerm.icns

Can I add something in this script to make it "kick in" right away?

I tried killall Finder but that didn't affect anything. And this answer didn't work for me either. (Besides, that question is targeted towards updating Dock whereas mine is Finder-/system-wide).

1 Answer 1


Choose Get Info on both apps.

Click on the little iTerm icon in the upper left, select CMD-C.

Click on the little Terminal icon in the upper left, select CMD-V.

It should immediately replace the application icon.

This feature has been available since at least 10.5.

  • Patrick: thanks for replying. However I feel that I didn't ask the question the right way. It's more of a programmatic question. I've updated it to hopefully make more sense now.
    – Henrik
    Nov 13, 2014 at 17:29

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .