diff --git a/lua/codecraft/core/keymaps.lua b/lua/codecraft/core/keymaps.lua
index 2db0773ed918c3517fce91cca7afd33bc3ad46d8..e6f965cff99403c68d1586c883ee0152ce0cd21b 100644
--- a/lua/codecraft/core/keymaps.lua
+++ b/lua/codecraft/core/keymaps.lua
@@ -74,4 +74,5 @@ map.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = '[
 map.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' })
 map.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' })
 
-
+-- UNDOTREE
+map.set('n', '<leader><F5>', vim.cmd.UndotreeToggle)
diff --git a/lua/codecraft/plugin-setup.lua b/lua/codecraft/plugin-setup.lua
index e5785b1728bec44a35aa42a3f28a6b4e4ce739ea..88bd444ea2b2a3a9646190e73ddc8e9233b0a083 100644
--- a/lua/codecraft/plugin-setup.lua
+++ b/lua/codecraft/plugin-setup.lua
@@ -67,6 +67,8 @@ require('packer').startup(function(use)
       'folke/neodev.nvim',
     },
   }
+  -- Undotree
+  use 'mbbill/undotree'
 
   -- Formatting & Lintig
   use 'jose-elias-alvarez/null-ls.nvim'