Factual error: The detective played by Rory Kinnear is shown in 1951 typing a request for Alan Turing's military records. He changes a name with correcting fluid - unknown in the UK in 1951.
Plot hole: There is no logical reason to switch off the Bombe at midnight when the codes change. Firstly, Turing's proving the concept of automated code breaking, so even if it only finds the right settings days or weeks later, the experiment is worth doing, then you can work out how to speed it up to be operationally useful. Secondly, even in steady state operation, cracking "yesterday's" settings (and thus intercepted signals) is still going to be pretty useful in most cases. Threatening to smash the Bombe up at midnight is good stuff to add some movie tension but, in reality, it's nonsense.
Character mistake: Joan Clarke pronounces the name of the mathematician Euler to rhyme with "ruler", when in fact it is pronounced "oiler."
Factual error: When Denniston introduces Hugh Alexander he says he (Alexander) is a British chess champion. Alexander says "twice." This is not true. Hugh Alexander had only won the British chess championship once by 1940 (in 1938), his second win was in 1956.
Factual error: In the scenes at Kings Cross railway station in London, overhead wires are visible above the train; Kings Cross did not have these until 1975.
Factual error: At the end of the film, the statement that the enigma code breaking was a secret for "over 50 years" is incorrect. The secret was only kept until the 1970s.
Continuity mistake: Towards the end of the movie, when Alan comes out to Joan, there are a number of shots over his right shoulder. On the back of his jacket is a piece of lint that appears and disappears from shot to shot.
Factual error: There is no evidence that Turing was aware that Cairncross was passing Enigma decrypts to the Soviet Union.
Character mistake: In the movie it is stated that "There are 159 million, million, million possible Enigma settings. All we had to do was try each one. But if we had 10 men checking one setting a minute for 24 hours every day and seven days every week, how many days do you think it would take to check each of the settings? Well, it's not days; it's years. It's 20 million years." This is massively understating it - if it would take 10 men only 20 million years to check all the settings of Enigma they would have to each check 251,861 combinations per second. (00:15:04 - 00:16:46)
Factual error: The voice-over incorrectly describes the Post Box as a 'Trash or Garbage can', when an envelope is placed in the box, and later retrieved by someone using a key, towards the end of the film.
Factual error: The opening graphic establishes the year as 1951 when depicting the time Turing's home was robbed and he was arrested for indecency. The robbery and arrest actually occurred in 1952, and strangely enough the correct date is listed on the dispatch about the robbery handed to MI6 boss Menzies moments later. Even if one looks at the film as a work of fiction, the date on the on-screen prop is inconsistent with the on-screen graphic. (00:00:40 - 00:02:40)
Factual error: The railway carriages shown in a wartime scene are post-war British Railways Mark 1 carriages. Inside the train a compartment is labelled 'Standard Class' which did not exist at the time.
Other mistake: In the captions at the end of the film, describing what happened to Alan Turing between the end of the war and his arrest, his name is spelt 'Touring'. In the next caption, it is spelt 'Turing'.
Suggested correction: It's not a plot hole, it's how they operated it in reality.
I have a copy of British Intelligence in the Second World War, by F H Hensley (the official historian and ex-GCCS). I quote page 309 as an example - 'the knowledge of the Tracking Rooms was far from perfect on account of delays in breaking the settings...During the first half of 1943, however, while the traffic was read with delays that were sometimes less than 24 hours, days when the settings proven to be unusual stubborn were not uncommon...Between 10 March Andy the end of June the setting standards for an a further 22 days were either not broken at all or broken only after a long delay.'...'A delay of as much a said three days in learning that U-boats had been ordered to move to new position so could thus mean than intelligence was received too late to be of use in diverting convoys'. So pretty clear that they carried on attempting to crack the settings well after the end of a day so they can process intercepts which might still be relevant.