diff --git a/.tool-versions b/.tool-versions
index 5aa8e0c30b8d6f71a35c4206c10900af243c3b05..041df9aa68dbbab58f579db4d7adfb8e162aeabd 100644
--- a/.tool-versions
+++ b/.tool-versions
@@ -1 +1 @@
-ruby 3.3.6
+ruby 3.4.1
diff --git a/Dockerfile b/Dockerfile
index b444c054df79f7902c1bdcb74d77792d82965aa8..92c9be613d269bb031094c323241a86e79654fa0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -2,7 +2,7 @@
 
 # Make sure RUBY_VERSION matches the Ruby version in .ruby-version and Gemfile
 # renovate: datasource=docker depName=registry.docker.com/library/ruby
-ARG RUBY_VERSION=3.3.6
+ARG RUBY_VERSION=3.4.1
 FROM registry.docker.com/library/ruby:$RUBY_VERSION-slim AS base
 
 # Rails app lives here
diff --git a/Gemfile b/Gemfile
index 627bf93855fa0ba97620bbf84c2852c4a2e72dd6..c345bc36f9c3ed91ca901f342b8e97745c0149ba 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,6 +1,6 @@
 source "https://rubygems.org"
 
-ruby "3.3.6"
+ruby "3.4.1"
 
 gem "rails", "~> 8.0.1"
 
diff --git a/Gemfile.lock b/Gemfile.lock
index 4cc6dc45bcdd43fb8a9ce518ecd33e9848ebf7f7..b28f0437c752985aa183423a98af504d84503c4f 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -356,7 +356,7 @@ DEPENDENCIES
   web-console (> 0)
 
 RUBY VERSION
-   ruby 3.3.6p108
+   ruby 3.4.1p0
 
 BUNDLED WITH
    2.6.2