大明八年（464年），因着孝武帝爱子新安王刘子鸾担任南徐州刺史，张永本郡吴郡被划归南徐州，而张永亦获任命为南徐州别驾从事史。同年又调任御史中丞。
义嘉之难.永光元年（465年），张永外任吴兴太守，不久转度支尚书。该年年末，主衣寿寂之杀宋前废帝，宋明帝即位，并以张永为吏部尚书。张永未及拜官，国内大部分州郡都不承认明帝政权，转而支持在寻阳的晋安王刘子勋，明帝终以张永为冠军将军假节、吴郡太守，领兵讨伐反抗自己的扬州各郡。在各军的进攻之下，接连攻取了吴兴郡、义兴郡、吴郡及晋陵郡，明帝遂抽调