後元六年冬天,匈奴三萬人進入上郡,三萬人進入雲中。文帝以中大夫令勉為車騎將軍,駐紮在飛狐;以從前的楚國丞相蘇意為將軍,駐軍句注;將軍張武屯守北地;以河內郡郡守周亞夫為將軍,駐紮在細柳;以宗正劉禮為將軍,屯兵霸上;祝茲侯駐軍棘門,來共同防備匈奴。過了幾個月,匈奴人撤走了,各路軍隊也撤了回來。
全國發生了旱災,蝗蟲為害。文帝命令諸侯不要向朝廷進貢,廢馳對山林湖澤的禁令,減少文帝的服飾、用具和遊玩的狗馬,裁減郎官的員數,打開糧倉,賑濟貧苦百姓,民間可買爵位。
孝文帝從代國來到都城,在位二十年,官室、苑囿、狗馬、服飾、用具,沒有增加過什麼,有對百姓不方便的地方,就進行改易,以利百姓。曾經打算修建露台,叫工匠計算費用,需要黃金一百斤。文帝說:“一百斤黃金相當於中等百姓十家的產業,我奉守先帝的宮室,常常擔心給它帶來羞辱,修建這露台幹什麼呢!”文帝經常穿著粗絲衣服,他所寵愛的慎夫人,也不準許衣服拖至地麵,幃賬不得織文繡錦,以此來表示敦厚質樸,為天下先做出一個表率。修建霸陵全部采用瓦器,不許使用金、銀、銅、錫作裝飾,不修高大的墳墓,想要節省一些,不去煩擾百姓。南越王尉佗自稱為武帝,然而文帝卻叫來尉佗的兄弟,賜予高官厚祿,以德相報,尉佗取消了帝號,向漢朝稱臣。與匈奴和親,匈奴違背盟約,入邊寇掠,然而文帝隻是命令邊塞加強守備,不出兵深入匈奴腹地,害怕煩擾百姓。吳王假裝有病,不去都城朝見,文帝立刻賞賜他坐幾和手杖。群臣當中如袁盎等人論述事情雖然尖銳而又急切,但文帝常常以寬容的態度采用他們的建議。大臣中間如張武等人接受金錢賄賂,發覺後,文帝就拿出自己府庫中的金錢賞賜給他們,不交給官吏治罪,使他們內心感到慚愧。文帝一心一意地致力於用道德教化百姓,因此,四海之內,殷實富足,興起了講究禮義的風氣。
後元七年六月一日,文帝在未央宮去世。留下一篇很長的遺詔說:“我聽說天下萬物生長,沒有不死亡的。死亡是天地間的常理,萬物的自然現象,何必過分悲哀。現在,世人都好生惡死,大量財物用於安葬,以致傾家蕩產,長期服喪,以致傷害了身體,這些做法我是不讚成的。況且我生前不德,無益於百姓,如今死了,又讓人們長期服喪哭吊,經曆寒暑的變化,使人家的父子悲哀,損傷老幼的心靈,減少飲食,斷絕對鬼神的祭祀,這加重了我的不德,怎麼能對得起天下百姓呢!我能夠奉守宗廟,以一個渺小的人淩駕於天下諸侯王之上,至今已有二十多年了。依賴天地的神靈,社稷的福祉,國內安寧,沒有戰亂。我並不聰敏,常常擔心有錯誤的行為,使先帝的遺德蒙受恥辱;時間長了,更是害怕不能善終。如今幸運地憑著天年能夠供養侍奉高祖於地下,以我這樣的不賢明,而有如此好的結果,還有什麼可悲哀的呢!向天下官吏和百姓下達命令,命令到達後哭喪三天,然後全部脫掉喪服。不要禁止娶妻嫁女、敬祀鬼神和飲酒食肉。應該服喪哭吊的人,都不要穿斬衰的喪服,絰帶之圍不要超過三寸,不要陳設戰車兵器,不要發動男女民眾到宮殿裏哭喪。宮中應當哭喪的人,在每天的早晨和晚上各哭十五聲,盡禮之後就停止;不是早晨和晚上哭喪的時候,不許擅自哭喪。下葬後,穿大功喪服十五天,功小衣服十四天,細布喪服七天,然後脫去喪服。其他沒有規定在遺命中事項,全都根據這一遺命,參照從事。布告天下,使人們明了我的心意。霸陵地方的山川保持原樣,不要有所改變。後宮夫人以下至少使,都遣散回家。”任命中尉周亞夫為車騎將軍,典屬國悍為將屯將軍,郎中令張武為複土將軍,調發附近各縣現有的士卒一萬六千人,調發內史現役士卒一萬五千人,歸將軍張武指揮,負責安葬棺槨,穿壙掩埋。
六月七日,大臣們都叩首至地,對去世的文帝奉上尊號為孝文皇帝。