达长安，代王任命宋昌为卫将军，指挥南军和北军；任命张武为郎中令，负责管理殿中事务。代王随即即位为汉文帝。前166年，汉文帝任命中尉周舍、郎中令张武为将军，率兵十万、车千辆驻扎在长安附近，防御匈奴进攻。前158年，汉文帝任命将军张武屯守北地郡；命河内郡守周亚夫为将军，驻扎细柳；命宗正刘礼为将军，驻扎霸上；防备匈奴。张武接受贿赂，事发后，文帝反而赏赐他们钱财，使他心中愧咎。汉文帝崩，张武为复土将军。