iPhoneJailbreakTips & How-to

How To Fix iTunes 1004 Error and Kick iPhone Out of Recovery Mode

September 11, 2010 — by Simon Ng64


iPhoneJailbreakTips & How-to

How To Fix iTunes 1004 Error and Kick iPhone Out of Recovery Mode

September 11, 2010 — by Simon Ng64

Just few hours after Apple released the iOS 4.1 on Wednesday, I launched my iTunes and started to upgrade my iPhone 4 to the new iOS. Like what I did before, I used to do a complete restore to upgrade my iPhone. Everything went really well. With years of experience of upgrading iPhone, I did not expect any usual thing will happen.

But life is full of surprises. Unexpectedly, iTunes showed me an error right after the restoration process completed:

The iPhone “Simon” could not be restored. An unknown error occurred (1004)

Even worse, the iPhone was stuck in recovery mode.

As usual, I tried to search for the possible fix via Google. It turns out that I’m not alone. Some iPhone users also hit the iTunes 1004 error. Fortunately, the error does not do any harm to the iOS restoration process. The iPhone is already restored with iOS 4.1. But for certain reason, the iPhone is just stuck in recovery mode.

In case you also come across the iTunes 1004 error, the fix is pretty simple. What you need to do is simply kick the iPhone out of recovery mode. Apple does not offer any tool to do that but there is a tool called TinyUmbrella that can free the iPhone from recovery mode with just a simple click. TinyUmbrella is available for download at its official website. Both Windows and Mac platform are supported.

Kick iPhone Out of Recovery Mode with TinyUmbrella

Once you have the TinyUmbrella installed on your computer, connect your iPhone with USB and launch the application. TinyUmbrella will automatically detect the iPhone. Simply click the “Kick Device out of Recovery” and the iPhone will boot up normally.

As always, please leave us comment and let us if the How-To works for you.

Simon Ng

Founder, developer and chief blogger of simonblog.com

  • KOs

    that worked for me. Thanks a lot.

  • Jason

    Thanks so much. That worked perfectly!!! Had tried 3 times the normal restore way and was thinking I’d messed up my new iphone 4!

  • Thank you so much, I was feeling really bad about this issue and all the other solutions coming from other forums were cumbersome and intimidating. Your solution was a breeze and secure.

  • anonymous

    this happened to me and i took my phone in to the apple store. they said it was a common error and gave me a new one. i then tried to restore as a backup. same problem with new phone! i googled it and ti said stuff about modifying a host file. i researched more and it said it couldnt contact apple to receive the firmware. i then realized that i had backed up my SHSH number with tinyumbrella and that it asks cydia instead of apple so i was changing it back to apple when i realized i could just press kick from recovery mode. i then made it ask apple instead of cydia and restored as a backup and it worked djust fine. unfortunately no jailbreak for it until the bootrom exploit is done. :(. but at least it works

    • Kian

      Your SHSH is only good for that specific phone, so when you swap your phone at Apple it’s like not having your SHSH backed up. It happened to me too.

  • emiliano

    thanks so much work for me

  • Sebastian


  • Myron

    OMG thank you I didn’t know I can do it actually you ROCK!

  • Cecilia

    Thank you very much, it worked like a charm!!!

  • Janibek

    worked for me! thank you so much!

  • Kevin

    You’re my hero!!! Thanks to you my iPhone 4 works again. I’ve been busy all day to fix it and couldn’t find a solution. But thanks to Tinyumbrella I got it to work. You’re the best!!!

  • mksap11

    While Tiny Umbrella will “fix” the problem, and did so for me when I used it, what you’ll be left with is an iPhone 4 running iOS 4.1 with an older baseband. This might be fine if you’re planning on jailbreaking or unlocking your phone, but if you want to be using the latest baseband (02.10.04), you can’t use Tiny Umbrella, especially if you used it to grab your shsh blobs.

    What prevented iTunes on my computer from successfully completing the 4.1 update was the face that Tiny Umbrella changed my hosts file (/etc/hosts) to redirect calls to Apple’s server to be routed to Saurik’s server. Specifically, the umbrella app adds the line, “ gs.apple.com” to it which, I believe confuses iTunes when iTunes tries to contact the server gs.apple.com but is instead routed to or nginx.saurik.com.

    Using the Terminal and emacs (vi or pico) to add commenting out the gs.apple.com line by placing a “#” at the beginning of the line effectively resolved the 1004 error I was getting with iTunes (you need to restore again after making the change to the hosts file)

    just my $.02

    • @mksap11, thanks for your tip!

  • ky

    Thank you so FREAKING MUCH!!!!!! I LOVE YOU!!

  • Denny Chaluppe

    u have no idea how much i love u guys
    im up till 6 am tring to fix this error and ur help was lifesaving for me
    im from brazil and i couldn’t get happier
    thank you soooooo much

  • Johnny

    Thank you very much!
    Foolish me didn’t search the error message and downloaded the 4.0.2 ipsw? (i think thats it) to see if that would fix it but same error. I then, after pouring myself a stiff drink, stumbled upon this site and was worried i may have fudged my chances of this working. Alas, it worked!!

    Seriously, thank you. I have an important meeting tomorrow that i would have missed if my phone was not working, so taking it to the store was not an option.

    Keep up the good work. It helps a lot more people than those who comment!

  • Vanessa

    Omg, it works. This is awesome!

  • you good man

    the error 1004 is verey bad


    you verey good man

    thank you

  • Derek

    This worked like a CHARM!!! Thanks a lot.

  • Derek

    This worked like a CHARM!!! Thanks a lot!

  • Andy

    Thanks, worked!!:D

  • Nick

    THANKS DUDE!!!!!!!! I FUCKING LOVE YOU!!! 😀 😀 😀 😀

  • Ben

    This is not working for me with my iPhone 4 (4.0 to 4.1 upgrade with Tiny Umbrella running). I think the problem is my Itunes keeps popping up everytime I connect my phone and it is interfering with Tiny Umbrella being able to kick the device out of recovery. Apple removed the setting in the main option for the user to do this. You can do it under the summary tab for your phone in iTunes, but it is a catch-22 for me because I don’t have that tab because my phone is in recovery mode with the 1004 error. What should I do? I wanted to keep the 1.59 baseband..

    • Ben

      I figured it out.

      If you are in my situation where your iTunes was previously set to start whenever your phone was connected to your USB connector (and unable to change the setting in iTunes because you restored the new iOS and you don’t have the summary tab to uncheck that setting), and your phone is stuck in recovery mode get a program called RecBoot (http://blog.alltechrelated.com/2010/06/29/recboot-put-your-iphone-and-kick-your-iphone-out-of-recovery-mode/)

      I did it in Windows XP. I needed Dotnetframework 4.0 on my PC. I installed the libUSB package first that comes bundled with RecBoot then rebooted and ran Recboot. Simply click the bottom button to kick the device out of recovery mode. My iTunes popped up as I was doing this (as expected due to neglecting the setting in iTunes before I partook on my upgrade endevour today).

      I wish TinyUmbrella worked for me, but I think it was an oversight on my part to have iTunes start whenever my iPhone was plugged into the PC. I am confident that with iTunes set this way it interferes with TinyUmbrella being able to kick the device out of recovery. I’ll mention this to the author (Semaphore) and see if he agrees. It seems to be the case for me. Hope my post helps others that are stuck too.

  • Anthony

    Thank you!! TinyUmbrella worked.. I had backed up my SHSH Files with TinyUmbrella anyway, but I didn’t know about the “Kick iphone out of Recovery Mode” part. You saved me a lot of frustration!

  • Jon

    Thanks so much for this! I thought I was screwed, but you helped me out, big time!

  • CAnemone

    Very kind of you to post the step by step guide, helped me out enormously. Thank you very much!

  • gary

    Worked for me i bricked my Iphone4 installing a version of an app from cydia that wasn’t ios4.1 compatible and when i got home and restored it still had an error and wouldn’t come out of restore mode, thankfully tinyumbrella saved the day.

  • Thanks a lot for sharing this! It solved my problem!
    You are the man! :o)

  • Amal

    I am not getting the kick out of recovery option. My phone isn’t detected by tinyumbrella or itunes. It is stuck in recovery mode. Please help!

  • Ivan

    I just want to kiss you right now! I was at the point of crying because of this! I learned my lesson. Thank you so much!!!

  • LEON


  • Vitomi

    Heyyy Guy!You saved me!!!I spent 3 hours to find something to fix this 1004 error.

  • George


  • Kody

    Dude you rock.. thank you sooo much worked like a charm and the phone is restoring as I type

  • Cool_SJ

    Thanks Mate!!
    I was shitting my self thinking I broke the phone. Thanks and It worked fine.

  • khadijahone

    I was on the phone with Apple tech support for almost an hour. He put me on hold to get more help and I cam across this site. I told him I figured it out by the time he got back and said thanks! Thanks sooo much!

  • iBot

    i have problem with umbrella i have the new version on umbrella and i cant can kick form recovery mode?? i have saved SHSH and if i try the old version(that is provided on pic) umbrella im geting this error
    java.lang.UnsatisfiedLinkError: Unable to load library ‘C:\Program Files (x86)\Common Files\Apple\Mobile Device Support\iTunesMobileDevice.dll’: The specified module could not be found.

  • Ben

    iBot see my post #24

    That’s what worked for me

  • Hi
    Thank u very much guys. I spent more than a day working on this issue. I plugged in my unlocked iphone 4 to my mac and it went off to recovery mode. When I tried to restore the phone it was trying to update the phone to version 4.2 which would kill my unlock. I tried everything from the links but recboot took only couple seconds to kick my iphone 4 out of recovery mode without any upgrades and data loss.


    ONe shot recovery.
    plz forward it ….

  • Danny

    tinyumbrella is a life saver for my iphone. I was struggling since the past 4 days trying to restore my factory unlocked iphone4, but the network was interrupted. Finally tried tinyumbrella and it worked like a charm. Thanks a lot to the entire team of tinyumbrella

  • Joachim

    This application caused my iPhone 4 to be stuck in recovery mode! FML!

  • Ben

    Joachim, try what I did in post #24 above to get out of recovery mode. That’s what worked for me.

  • dmac

    Absolutely legendary
    Nothing else helped but this worked a treat

  • stumped

    No matter how many times I kick my iphone 3g out of recovery mode with tinyumbrella or recboot it just goes right back into recover mode. HELP!

    • I think you need to restore your iPhone via iTunes. If your iPhone was originally jailbroken, you’ll need to jailbreak it again after restore.

      • stumped

        My iphone was jailbroken. I then tried to restore it…it gave me error 1015 I tried to use recboot and tinyumbrella to kick it out of recovery mode. It breifly does something but then goes back into recovery mode…the only screen I see now is the “connect to itunes screen”

  • Kelz

    Hi simon , i have a iphone 4 ios 4.2.1 modem firmware 3.10.01 and its a Mc model . I recently jail break it using green poison 6.1 rc and it was a success . But today i just try to restore to factory settings in case i need to go back to my carrier for warranty but as i restore , it states an unknown error(11) occurs and the iphone cannot be restore . Wat could be the problem ? Pls advise … Many tks in advance . 🙂

  • Pingback: 1004 unknown error!!! - Apple iPhone()

  • Danielle

    Does TinyUmbrella work on OS 4.0 for Iphone 4?

  • Sorry to ruin your winning streak but it didnt work for me. My 2nd gen. “ipod touch” had error 1004 with itunes but it was with itunes over the device “buying apps and music” i dont really know how to fix it?

  • anno0os

    Hay every body

    I had the same error 1004 and I’ve tried hundred ways to solve this problem. Finally, I just correct the time and date in my I phone then every thing has been good .

    good luck ..

  • mikej

    you just saved my life dude. thanks

  • Hello, in our case the solution was simple: Date and time of our ipod were set to wrong values. We just corrected it, and it worked!
    Kind regards Georg

  • Mitchel

    Much more simple :

    settings → Store → logout and login again.

    It works !

  • Melissa

    OMG ur a genius! i wish i could hug you. moments away from just saying screw it and restoring my new iphone. was so frustrated i didnt even care about my contacts or pics… but u saved them! thanks so so much! u put a smile on my face 🙂

  • Woohoo! It worked! Thank you SO much!

    OMG! You would not believe what we have been through for the last 2 days trying to get one of our iPhones working again. We thought it was going to be a brick forever. 🙁

    I actually pulled an all nighter last night. I haven’t done that since college! And I wasn’t even drinking! Although, I should have been. LOL

    Thanks, again…

  • Palmer

    anybody know how to fix an error (1) I cant find anything!!

  • Palmer

    I tried to download the fix recovery for windows and I keep getting “this program cant start because zlib1.dll is missing from your computer………….any ideas??

  • It didnt work for me probably cause I’m to stupid to understand
    I still need help

  • Pingback: iPhone Error 1004 – How to Successfully Restore your iPhone 4 to iOS 4.0.1 | PCCROW.NET()

  • Ipad Repair Ipswich

    it is a useful info…
    good post…
    thanks for the upload…

  • Pingback: Fix Error 1004 Iphone Itunes()

  • ruairidhbruce456

    This blog is really nice and informative….Thanks for the sharing.