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 dd87ab2649b5fa3cd4c17dadc7b6a65a0d69e0a1..e1634ec61de427bd12fe8318b8d5d426352ff688 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 d111a79b57033156c52663d38b7d2c783f197ce8..62560a54a73d625a851d3189895ed39f8c5fda4c 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -353,7 +353,7 @@ DEPENDENCIES
   web-console (> 0)
 
 RUBY VERSION
-   ruby 3.3.6p108
+   ruby 3.4.1p0
 
 BUNDLED WITH
    2.6.2