Thanks Ed for pointing out what I missed in steps 8 and 22. I've simplified step 8 but just added a note after step 22.
Prelims
a) R1C23 = {29/38/47/56}, no 1
b) R1C89 = {29/38/47/56}, no 1
c) R3C12 = {18/27/36/45}, no 9
d) R4C12 = {16/25/34}, no 7,8,9
e) R4C67 = {17/26/35}, no 4,8,9
f) R6C56 = {15/24}
g) R7C56 = {49/58/67}, no 1,2,3
h) R8C56 = {49/58/67}, no 1,2,3
i) R89C7 = {49/58/67}, no 1,2,3
j) R9C34 = {29/38/47/56}, no 1
k) R9C56 = {13}
l) R9C89 = {69/78}
m) 40(8) cage at R4C3 = {12346789}, no 5
n) 41(8) cage at R5C1 = {12356789}, no 4
Steps resulting from Prelims
1a. Naked pair {13} in R9C56, locked for R9, clean-up: no 8 in R9C34
1b. R89C7 = {49/58} (cannot be {67} which clashes with R9C89)
1c. Killer pair 8,9 in R89C7 and R9C89, locked for N9
2. 2 in N8 only in R789C4, locked for C4
2a. 45 rule on N8 3 innies R789C4 = 15 = {249/258/267}
2b. 4 of {249} must be in R9C4 -> no 9 in R9C4, clean-up: no 2 in R9C3
3. 45 rule on R9 3 innies R9C127 = 15 = {249/258/456} (cannot be {267} which clashes with R9C89), no 7
3a. 45 rule on R9 1 innie R9C7 = 1 outie R8C1 + 2 -> R8C1 = {2367}
4. 45 rule on N3 1 innie R1C7 = 1 outie R4C9 + 2, no 1,2 in R1C7, no 8,9 in R4C9
5. 45 rule on N9 1 outie R6C7 = 1 innie R7C9 + 2, no 1,2 in R6C7
5a. 19(5) cage must contain 1 (because {23456} = 20), locked for N9, clean-up: no 3 in R6C7
6. 45 rule on N2 1 outie R1C7 = 1 innie R3C4 + 2, no 4 in R1C7, no 8,9 in R3C4
6a. 45 rule on N23 1 innie R3C4 = 1 outie R4C9, no 2 in R4C9
7. 45 rule on N69 2 innies R4C79 = 6 = [15/24/51], clean-up: no 5,8,9 in R1C7 (step 4), no 3,6,7 in R3C4 (step 6a), no 1,2,5 in R4C6
7a. R4C12 = {16/34} (cannot be {25} which clashes with R4C79), no 2,5 in R4C12
7b. Killer pair 1,4 in R4C12 and R4C79, locked for R4
8. 45 rule on N69 1 outie R4C6 = 1 innie R4C9 + 2 -> R4C69 = [75] (cannot be [31/64] which clash with R4C12), R4C7 = 1, R1C7 = 7 (step 4), R3C4 = 5 (step 6a), clean-up: no 4 in R1C23, no 4,6 in R1C8, no 4 in R1C9, no 4 in R3C12, no 6 in R4C12, no 6 in R7C5, no 3 in R7C9 (step 5), no 6 in R8C5, no 6 in R9C3
no 6 in R4C6, no 4 in R4C9, clean-up: no 6 in R1C7 (step 4), no 4 in R3C4 (step 6a), no 2 in R4C7
8a. Naked pair {34} in R4C12, locked for R4 and N4
[Step 8 has been simplified after Ed pointed out that I’d missed that [31] also clashes with R4C12. Strange that I’d spotted that [64] clashed with R4C12 but missed that [31] also clashes.]
[This is probably the easy start which Ed referred to.]
9. 5 in N5 only in R6C56 = {15}, locked for R6 and N5
9a. 45 rule on N5 2 remaining innies R56C4 = 7 = {34} (only remaining combination), locked for C4, N5 and 40(8) cage at R4C3, no 3,4 in R7C3, clean-up: no 7 in R9C3
9b. R789C4 (step 2a) = {267} (only remaining combination), locked for C4 and N8
9c. 1 in C4 only in R12C4, locked for N2
10. R5C1 = 5 (hidden single in N4)
10a. 3 in 41(8) cage at R5C1 only in R7C12 + R8C23, locked for N7, clean-up: no 5 in R9C7 (step 3a), no 8 in R8C7
11. R9C127 (step 3) = {249/258/456}
11a. 9 of {249} must be in R9C7 (because 13(3) cage at R8C1 cannot be 2{29}), no 9 in R9C12
11b. 8 of {258} must be in R9C8 -> no 8 in R9C12
11c. 5 of {456} must be in R9C2 -> no 6 in R9C2
12. 13(3) cage at R8C1 = {247/256}, 2 locked for N7
13. 2 in 40(8) cage at R4C3 only in R4C3 + R56C23, locked for N4
14. 2 in 41(8) cage at R5C1 only in R78C4, locked for C4, clean-up: no 9 in R9C3
15. Killer pair 6,7 in R9C4 and R9C89, locked for R9
15a. Naked triple {245} in R9C123, locked for R9, 2 also locked for N7, clean-up: no 9 in R8C7
15b. Killer pair 4,5 in R8C56 and R8C7, locked for R8
16. 20(4) cage at R1C5 contains 7 = {2378/3467}, no 9, 3 locked for N2
17. 15(3) cage at R2C7 = {168/249/348/456} (cannot be {159} which clashes with R89C7, cannot be {258} which clashes with R1C89)
17a. 17(4) cage at R2C8 contains 5 = {1259/1358} (cannot be {2456} which clashes with 15(3) cage), no 4,6, 1 locked for N3
17b. 15(3) cage = {249/348/456}
17c. 3,6 of {348/456} must be in R23C7 (R23C7 cannot be {45/48} which clash with R89C7), no 3,6 in R3C8
18. Hidden killer pair 3,4 in R6C4 and R6C789 for R6, R6C4 = {34} -> R6C789 must contain one of 3,4
18a. 45 rule on N9 3 outies R6C789 = 17 = {368/467} (cannot be {269/278} which don’t contain 3 or 4), no 2,9, 6 locked for R6 and N6, clean-up: no 7 in R7C9 (step 5)
18b. 8 of {368} must be in R6C89 (R6C89 cannot be {36} because 15(3) cage at R6C8 cannot be {36}6), no 8 in R6C7, clean-up: no 6 in R7C9 (step 5)
18c. 4 of {467} must be in R6C7 (R6C89 cannot be {47} because 15(3) cage at R6C8 cannot be {47}7), no 4 in R6C89
19. 1,6 in N4 only in R4C3 + R56C23, locked for 40(8) cage at R4C3, no 1,6 in R7C3
19a. 2,9 in R6 only in R6C23, locked for N4
20. 1 in R1 only in R1C14
20a. 45 rule on R1 2 innies R1C14 = 1 outie R2C6 + 3 -> the other one of R1C14 must be 2 more than R2C6, no 2,3,9 in R1C14, no 3,8 in R2C6
[At this stage I spotted 9 in R1 only in R1C23 = {29} or R1C89 = {29} -> one of R1C23 and R1C89 = {29} (locking cages), 2 locked for R1. However the next step makes this unnecessary.]
21. 20(4) cage at R1C5 (step 16) = {2378/3467}, 3 locked for R1, clean-up: no 8 in R1C23, no 8 in R1C89
21a. Naked quad {2569} in R1C2389, locked for R1
21b. 2,6 of 20(4) cage only in R2C6 -> R2C6 = {26}
22. R6C7 = R7C9 + 2 (step 5) = [42/64], CPE no 4 in R7C78
[Ed pointed out that this CPE also applies to R8C7. However in this case I’ve left this and the next step as I originally wrote them.]
23. 19(5) cage at R6C7 = {12367} (only remaining combination, cannot be {12457/13456} which clash with R8C7) -> R6C7 = 6, 7 locked for N9, R7C9 = 4 (step 5), R8C7 = 5, R9C7 = 8, clean-up: no 9 in R7C56, no 8 in R8C56
24. R9C4 = 7 (hidden single in R9), R9C3 = 4, R9C12 = [25], R8C1 = 6 (step 12), R78C4 = [62], clean-up: no 6 in R1C3, no 3,7 in R3C2
25. R1C8 = 5 (hidden single in N3), R1C9 = 6, R9C89 = [69]
25a. Naked pair {29} in R1C23, locked for N1, clean-up: no 7 in R3C1
25b. R2C3 = 5 (hidden single in N1)
26. Naked pair {58} in R7C56, locked for R7
26a. Naked pair {49} in R8C56, locked for R8
26b. 8 in N7 only in R8C23, locked for 41(8) cage at R5C1, no 8 in R6C1
26c. 8 in C1 only in R123C1, locked for N1, clean-up: no 1 in R3C1
27. R6C789 (step 18a) = {368} (only remaining combination) -> R6C89 = {38}, locked for R6 and N6 -> R56C4 = [34]
27a. Naked triple {279} in R6C123, locked for N4
28. Naked triple {279} in R167C3, locked for C3, 7 also locked for 40(8) cage at R4C3, no 7 in R6C2
28a. Naked pair {29} in R16C2, locked for C2
28b. R3C5 = 7 (hidden single in R3)
29. Consider permutations for R3C12 = [36/81]
R3C12 = [36] -> R3C3 = 1
or R3C12 = [81]
-> R3C23 must contain 1, locked for R3 and N1
29a. R1C4 = 1 (hidden single in R1)
30. R7C1 = 1 (hidden single in C1), R6C1 = 9 (hidden single in C1), R6C23 = [27], R7C3 = 9
30a. R2C1 = 7 (hidden single in C1)
31. 17(4) cage at R2C8 (step 17a) = {1259/1358}
31a. 2 of {1259} must be in R3C9 -> no 2 in R2C89
31b. Consider combinations for 17(4) cage
17(4) cage = {1259} => R2C89 = [91]
or 17(4) cage = {1358} => R236C9 = {138} => R2C9 = 1
-> R2C9 = 1, R8C8 = 1 (hidden single in R8)
32. 17(4) cage at R2C8 (step 17a) = {1259/1358}
Consider combinations for 17(4) cage
17(4) cage = {1259} => R3C8 = 8 (hidden single in N3), R3C1 = 3
or 17(4) cage = {1358} => R2C8 + R3C9 = {38} => R3C19 = {38}
-> R3C189 must contain both of 3,8, locked for R3
32a. Naked pair {16} in R3C23, locked for R3 and N1
32b. Naked pair {34} in R24C2, locked for C2 -> R78C2 = [78], R8C3 = 3, R8C9 = 7, R5C9 = 2, R4C8 = 9, R4C34 = [68], R3C3 = 1, R3C2 = 6, R3C1 = 3
[I wondered afterward whether step 31 could be omitted. One can go straight to step 32 but I think the result from step 31 is still needed to fix R8C9 in step 32b.]
and the rest is naked singles.