diff --git a/include/lexy_ext/parse_tree_doctest.hpp b/include/lexy_ext/parse_tree_doctest.hpp
index 5affd382..70203bfc 100644
--- a/include/lexy_ext/parse_tree_doctest.hpp
+++ b/include/lexy_ext/parse_tree_doctest.hpp
@@ -6,7 +6,7 @@
 
 #include <cctype>
 #include <cstdio>
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/parse_tree.hpp>
 
 namespace lexy_ext
diff --git a/tests/doctest_main.cpp b/tests/doctest_main.cpp
index 393bec9e..c0185239 100644
--- a/tests/doctest_main.cpp
+++ b/tests/doctest_main.cpp
@@ -4,5 +4,5 @@
 #include <lexy/_detail/config.hpp>
 
 #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
diff --git a/tests/examples/calculator.cpp b/tests/examples/calculator.cpp
index 8b7dc8d3..a25145d5 100644
--- a/tests/examples/calculator.cpp
+++ b/tests/examples/calculator.cpp
@@ -3,7 +3,7 @@
 
 #include "../../examples/calculator.cpp" // NOLINT
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/action/match.hpp>
 #include <lexy/action/parse.hpp>
 #include <lexy/action/parse_as_tree.hpp>
diff --git a/tests/examples/email.cpp b/tests/examples/email.cpp
index ad565d50..ee0fa3bb 100644
--- a/tests/examples/email.cpp
+++ b/tests/examples/email.cpp
@@ -3,7 +3,7 @@
 
 #include "../../examples/email.cpp" // NOLINT
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/action/match.hpp>
 #include <lexy/input/string_input.hpp>
 
diff --git a/tests/examples/ip_address.cpp b/tests/examples/ip_address.cpp
index 8bc66df3..bfb18e4f 100644
--- a/tests/examples/ip_address.cpp
+++ b/tests/examples/ip_address.cpp
@@ -3,7 +3,7 @@
 
 #include "../../examples/ip_address.cpp" // NOLINT
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/action/match.hpp>
 #include <lexy/input/string_input.hpp>
 
diff --git a/tests/examples/json.cpp b/tests/examples/json.cpp
index dd7b0f0e..de85b221 100644
--- a/tests/examples/json.cpp
+++ b/tests/examples/json.cpp
@@ -3,7 +3,7 @@
 
 #include "../../examples/json.cpp" // NOLINT
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/action/match.hpp>
 #include <lexy/action/parse_as_tree.hpp>
 #include <lexy/input/string_input.hpp>
diff --git a/tests/examples/protobuf.cpp b/tests/examples/protobuf.cpp
index c84fa991..15aacffd 100644
--- a/tests/examples/protobuf.cpp
+++ b/tests/examples/protobuf.cpp
@@ -3,7 +3,7 @@
 
 #include "../../examples/protobuf.cpp" // NOLINT
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/string_input.hpp>
 
 TEST_CASE("varint")
diff --git a/tests/examples/shell.cpp b/tests/examples/shell.cpp
index 4b0d0e74..7faf408c 100644
--- a/tests/examples/shell.cpp
+++ b/tests/examples/shell.cpp
@@ -3,7 +3,7 @@
 
 #include "../../examples/shell.cpp" // NOLINT
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/action/match.hpp>
 #include <lexy/input/string_input.hpp>
 
diff --git a/tests/examples/turing.cpp b/tests/examples/turing.cpp
index aa50def7..75f01751 100644
--- a/tests/examples/turing.cpp
+++ b/tests/examples/turing.cpp
@@ -3,7 +3,7 @@
 
 #include "../../examples/turing.cpp" // NOLINT
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/string_input.hpp>
 
 namespace
diff --git a/tests/examples/xml.cpp b/tests/examples/xml.cpp
index 39be3398..1a706ca8 100644
--- a/tests/examples/xml.cpp
+++ b/tests/examples/xml.cpp
@@ -3,7 +3,7 @@
 
 #include "../../examples/xml.cpp" // NOLINT
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/action/match.hpp>
 #include <lexy/input/string_input.hpp>
 
diff --git a/tests/lexy/action/match.cpp b/tests/lexy/action/match.cpp
index 2d604954..f07d19b8 100644
--- a/tests/lexy/action/match.cpp
+++ b/tests/lexy/action/match.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/action/match.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl/list.hpp>
 #include <lexy/dsl/literal.hpp>
 #include <lexy/input/string_input.hpp>
diff --git a/tests/lexy/action/parse.cpp b/tests/lexy/action/parse.cpp
index 44d1a74d..32ebe927 100644
--- a/tests/lexy/action/parse.cpp
+++ b/tests/lexy/action/parse.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/action/parse.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/callback.hpp>
 #include <lexy/dsl/ascii.hpp>
 #include <lexy/dsl/brackets.hpp>
diff --git a/tests/lexy/action/parse_as_tree.cpp b/tests/lexy/action/parse_as_tree.cpp
index 65e8d352..d8354452 100644
--- a/tests/lexy/action/parse_as_tree.cpp
+++ b/tests/lexy/action/parse_as_tree.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/action/parse_as_tree.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl.hpp>
 #include <lexy/input/string_input.hpp>
 #include <lexy_ext/parse_tree_doctest.hpp>
diff --git a/tests/lexy/action/scan.cpp b/tests/lexy/action/scan.cpp
index 92ec4cd4..49049c75 100644
--- a/tests/lexy/action/scan.cpp
+++ b/tests/lexy/action/scan.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/action/scan.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/callback/adapter.hpp>
 #include <lexy/callback/fold.hpp>
 #include <lexy/dsl/capture.hpp>
diff --git a/tests/lexy/action/trace.cpp b/tests/lexy/action/trace.cpp
index c64c7f9f..4a23b87a 100644
--- a/tests/lexy/action/trace.cpp
+++ b/tests/lexy/action/trace.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/action/trace.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <iterator>
 #include <lexy/dsl.hpp>
 #include <lexy/input/string_input.hpp>
diff --git a/tests/lexy/action/validate.cpp b/tests/lexy/action/validate.cpp
index 25ca3f4c..8ce57d63 100644
--- a/tests/lexy/action/validate.cpp
+++ b/tests/lexy/action/validate.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/action/validate.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/callback/adapter.hpp>
 #include <lexy/dsl/case_folding.hpp>
 #include <lexy/dsl/list.hpp>
diff --git a/tests/lexy/callback/adapter.cpp b/tests/lexy/callback/adapter.cpp
index a25f24ca..f2f9e5eb 100644
--- a/tests/lexy/callback/adapter.cpp
+++ b/tests/lexy/callback/adapter.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/adapter.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/callback/constant.hpp>
 #include <lexy/callback/fold.hpp>
 
diff --git a/tests/lexy/callback/aggregate.cpp b/tests/lexy/callback/aggregate.cpp
index 54929cf1..ac5988fa 100644
--- a/tests/lexy/callback/aggregate.cpp
+++ b/tests/lexy/callback/aggregate.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/aggregate.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl/option.hpp>
 
 TEST_CASE("as_aggregate")
diff --git a/tests/lexy/callback/bind.cpp b/tests/lexy/callback/bind.cpp
index a1147532..7af5d15c 100644
--- a/tests/lexy/callback/bind.cpp
+++ b/tests/lexy/callback/bind.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/bind.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/action/parse.hpp>
 #include <lexy/callback/adapter.hpp>
 #include <lexy/callback/fold.hpp>
diff --git a/tests/lexy/callback/bit_cast.cpp b/tests/lexy/callback/bit_cast.cpp
index cd3cd080..bc766e4e 100644
--- a/tests/lexy/callback/bit_cast.cpp
+++ b/tests/lexy/callback/bit_cast.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/bit_cast.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("bit_cast")
 {
diff --git a/tests/lexy/callback/composition.cpp b/tests/lexy/callback/composition.cpp
index 601c3ceb..170f178c 100644
--- a/tests/lexy/callback/composition.cpp
+++ b/tests/lexy/callback/composition.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/composition.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/callback/adapter.hpp>
 #include <lexy/callback/bind.hpp>
 #include <lexy/callback/fold.hpp>
diff --git a/tests/lexy/callback/constant.cpp b/tests/lexy/callback/constant.cpp
index 6a315c9a..52c245d6 100644
--- a/tests/lexy/callback/constant.cpp
+++ b/tests/lexy/callback/constant.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/constant.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("constant")
 {
diff --git a/tests/lexy/callback/container.cpp b/tests/lexy/callback/container.cpp
index 6eb04c07..e4b92180 100644
--- a/tests/lexy/callback/container.cpp
+++ b/tests/lexy/callback/container.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/container.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/callback/adapter.hpp>
 #include <lexy/dsl/option.hpp>
 #include <set>
diff --git a/tests/lexy/callback/fold.cpp b/tests/lexy/callback/fold.cpp
index 08c2c731..370dfba1 100644
--- a/tests/lexy/callback/fold.cpp
+++ b/tests/lexy/callback/fold.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/fold.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("fold")
 {
diff --git a/tests/lexy/callback/forward.cpp b/tests/lexy/callback/forward.cpp
index 735d06bb..4495464a 100644
--- a/tests/lexy/callback/forward.cpp
+++ b/tests/lexy/callback/forward.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/forward.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl/option.hpp>
 
 TEST_CASE("forward")
diff --git a/tests/lexy/callback/integer.cpp b/tests/lexy/callback/integer.cpp
index cad4cc14..8fc70e8d 100644
--- a/tests/lexy/callback/integer.cpp
+++ b/tests/lexy/callback/integer.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/integer.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("as_integer")
 {
diff --git a/tests/lexy/callback/noop.cpp b/tests/lexy/callback/noop.cpp
index d1d5911d..29db7280 100644
--- a/tests/lexy/callback/noop.cpp
+++ b/tests/lexy/callback/noop.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/noop.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("noop")
 {
diff --git a/tests/lexy/callback/object.cpp b/tests/lexy/callback/object.cpp
index f45c3c69..fb63fe2a 100644
--- a/tests/lexy/callback/object.cpp
+++ b/tests/lexy/callback/object.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/object.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <memory>
 
 TEST_CASE("construct")
diff --git a/tests/lexy/callback/string.cpp b/tests/lexy/callback/string.cpp
index c4d564cf..d6f61504 100644
--- a/tests/lexy/callback/string.cpp
+++ b/tests/lexy/callback/string.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/callback/string.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl/case_folding.hpp>
 #include <lexy/dsl/option.hpp>
 #include <lexy/input/string_input.hpp>
diff --git a/tests/lexy/code_point.cpp b/tests/lexy/code_point.cpp
index ad5706a3..9a9850f9 100644
--- a/tests/lexy/code_point.cpp
+++ b/tests/lexy/code_point.cpp
@@ -4,7 +4,7 @@
 #include <lexy/code_point.hpp>
 
 #include <cctype>
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("code_point - classification")
 {
diff --git a/tests/lexy/detail/any_ref.cpp b/tests/lexy/detail/any_ref.cpp
index d4e16fd2..b761b960 100644
--- a/tests/lexy/detail/any_ref.cpp
+++ b/tests/lexy/detail/any_ref.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/any_ref.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 namespace
 {
diff --git a/tests/lexy/detail/buffer_builder.cpp b/tests/lexy/detail/buffer_builder.cpp
index 10f20780..5fca26d1 100644
--- a/tests/lexy/detail/buffer_builder.cpp
+++ b/tests/lexy/detail/buffer_builder.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/buffer_builder.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("_detail::buffer_builder")
 {
diff --git a/tests/lexy/detail/integer_sequence.cpp b/tests/lexy/detail/integer_sequence.cpp
index 2c7b6168..63c39d04 100644
--- a/tests/lexy/detail/integer_sequence.cpp
+++ b/tests/lexy/detail/integer_sequence.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/integer_sequence.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("_detail::integer_sequence")
 {
diff --git a/tests/lexy/detail/invoke.cpp b/tests/lexy/detail/invoke.cpp
index af00ef15..bd3095de 100644
--- a/tests/lexy/detail/invoke.cpp
+++ b/tests/lexy/detail/invoke.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/invoke.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("_detail::invoke")
 {
diff --git a/tests/lexy/detail/lazy_init.cpp b/tests/lexy/detail/lazy_init.cpp
index 96ebeb3e..9355499e 100644
--- a/tests/lexy/detail/lazy_init.cpp
+++ b/tests/lexy/detail/lazy_init.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/lazy_init.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <string>
 
 namespace
diff --git a/tests/lexy/detail/nttp_string.cpp b/tests/lexy/detail/nttp_string.cpp
index 20c53158..e53d2e88 100644
--- a/tests/lexy/detail/nttp_string.cpp
+++ b/tests/lexy/detail/nttp_string.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/nttp_string.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/_detail/string_view.hpp>
 
 TEST_CASE("LEXY_NTTP_STRING")
diff --git a/tests/lexy/detail/stateless_lambda.cpp b/tests/lexy/detail/stateless_lambda.cpp
index 6d3bb2c9..e50ded68 100644
--- a/tests/lexy/detail/stateless_lambda.cpp
+++ b/tests/lexy/detail/stateless_lambda.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/stateless_lambda.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("_detail::stateless_lambda")
 {
diff --git a/tests/lexy/detail/std.cpp b/tests/lexy/detail/std.cpp
index c05ad54b..646ca150 100644
--- a/tests/lexy/detail/std.cpp
+++ b/tests/lexy/detail/std.cpp
@@ -5,7 +5,7 @@
 
 #include <iterator>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("std forward declarations")
 {
diff --git a/tests/lexy/detail/string_view.cpp b/tests/lexy/detail/string_view.cpp
index fa0e3302..88652c0b 100644
--- a/tests/lexy/detail/string_view.cpp
+++ b/tests/lexy/detail/string_view.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/string_view.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("string_view")
 {
diff --git a/tests/lexy/detail/swar.cpp b/tests/lexy/detail/swar.cpp
index cc3d32cb..7b29973a 100644
--- a/tests/lexy/detail/swar.cpp
+++ b/tests/lexy/detail/swar.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/swar.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 using namespace lexy::_detail;
 
diff --git a/tests/lexy/detail/tuple.cpp b/tests/lexy/detail/tuple.cpp
index e9b2f242..85d39e3b 100644
--- a/tests/lexy/detail/tuple.cpp
+++ b/tests/lexy/detail/tuple.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/tuple.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("_detail::tuple")
 {
diff --git a/tests/lexy/detail/type_name.cpp b/tests/lexy/detail/type_name.cpp
index 83296e63..87045eee 100644
--- a/tests/lexy/detail/type_name.cpp
+++ b/tests/lexy/detail/type_name.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/_detail/type_name.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 namespace
 {
diff --git a/tests/lexy/dsl/parse_tree_node.cpp b/tests/lexy/dsl/parse_tree_node.cpp
index d365130f..08422c75 100644
--- a/tests/lexy/dsl/parse_tree_node.cpp
+++ b/tests/lexy/dsl/parse_tree_node.cpp
@@ -4,7 +4,7 @@
 #include <lexy/dsl/parse_tree_node.hpp>
 
 #include "verify.hpp"
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl/any.hpp>
 #include <lexy/dsl/if.hpp>
 
diff --git a/tests/lexy/dsl/verify.hpp b/tests/lexy/dsl/verify.hpp
index 6a10a05c..07cff44a 100644
--- a/tests/lexy/dsl/verify.hpp
+++ b/tests/lexy/dsl/verify.hpp
@@ -4,7 +4,7 @@
 #ifndef TESTS_LEXY_DSL_VERIFY_HPP_INCLUDED
 #define TESTS_LEXY_DSL_VERIFY_HPP_INCLUDED
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/action/base.hpp>
 #include <lexy/action/match.hpp>
 #include <lexy/callback/adapter.hpp>
diff --git a/tests/lexy/encoding.cpp b/tests/lexy/encoding.cpp
index 7660c8c7..d5b88c6c 100644
--- a/tests/lexy/encoding.cpp
+++ b/tests/lexy/encoding.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/encoding.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/callback/string.hpp>
 #include <lexy/input/string_input.hpp>
 #include <string>
diff --git a/tests/lexy/error.cpp b/tests/lexy/error.cpp
index 3b24582d..96f55d33 100644
--- a/tests/lexy/error.cpp
+++ b/tests/lexy/error.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/error.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/lexeme_input.hpp>
 #include <lexy/input/string_input.hpp>
 
diff --git a/tests/lexy/grammar.cpp b/tests/lexy/grammar.cpp
index 459d2100..491d090b 100644
--- a/tests/lexy/grammar.cpp
+++ b/tests/lexy/grammar.cpp
@@ -5,7 +5,7 @@
 
 #include <vector>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/callback/adapter.hpp>
 #include <lexy/callback/bind.hpp>
 #include <lexy/callback/container.hpp>
diff --git a/tests/lexy/input/argv_input.cpp b/tests/lexy/input/argv_input.cpp
index 1d8d2568..84428508 100644
--- a/tests/lexy/input/argv_input.cpp
+++ b/tests/lexy/input/argv_input.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/input/argv_input.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("argv_iterator")
 {
diff --git a/tests/lexy/input/base.cpp b/tests/lexy/input/base.cpp
index 17fcf4ad..4d17317f 100644
--- a/tests/lexy/input/base.cpp
+++ b/tests/lexy/input/base.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/input/base.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/string_input.hpp>
 
 TEST_CASE("partial_input()")
diff --git a/tests/lexy/input/buffer.cpp b/tests/lexy/input/buffer.cpp
index c99efa03..ba48b049 100644
--- a/tests/lexy/input/buffer.cpp
+++ b/tests/lexy/input/buffer.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/input/buffer.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/argv_input.hpp>
 #include <lexy/input/string_input.hpp>
 
diff --git a/tests/lexy/input/file.cpp b/tests/lexy/input/file.cpp
index 9f88b6a6..8fe88ca4 100644
--- a/tests/lexy/input/file.cpp
+++ b/tests/lexy/input/file.cpp
@@ -5,7 +5,7 @@
 #include <lexy/input/file.hpp>
 
 #include <cstdio>
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 #if defined(__has_include) && __has_include(<memory_resource>) && !defined(_LIBCPP_VERSION)
 #    include <memory_resource>
diff --git a/tests/lexy/input/lexeme_input.cpp b/tests/lexy/input/lexeme_input.cpp
index c28c9069..53f6695e 100644
--- a/tests/lexy/input/lexeme_input.cpp
+++ b/tests/lexy/input/lexeme_input.cpp
@@ -4,7 +4,7 @@
 #include <lexy/input/lexeme_input.hpp>
 
 #include <cstring>
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/buffer.hpp>
 #include <lexy/input/string_input.hpp>
 
diff --git a/tests/lexy/input/parse_tree_input.cpp b/tests/lexy/input/parse_tree_input.cpp
index 0f0ac2c7..54484696 100644
--- a/tests/lexy/input/parse_tree_input.cpp
+++ b/tests/lexy/input/parse_tree_input.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/input/parse_tree_input.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl/any.hpp>
 #include <lexy/dsl/capture.hpp>
 #include <lexy/dsl/eof.hpp>
diff --git a/tests/lexy/input/range_input.cpp b/tests/lexy/input/range_input.cpp
index 1bb69cc5..9dad9a40 100644
--- a/tests/lexy/input/range_input.cpp
+++ b/tests/lexy/input/range_input.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/input/range_input.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 namespace
 {
diff --git a/tests/lexy/input/string_input.cpp b/tests/lexy/input/string_input.cpp
index b070a3c8..a8ae52fe 100644
--- a/tests/lexy/input/string_input.cpp
+++ b/tests/lexy/input/string_input.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/input/string_input.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("string_input")
 {
diff --git a/tests/lexy/input_location.cpp b/tests/lexy/input_location.cpp
index a5f37da1..164fc99d 100644
--- a/tests/lexy/input_location.cpp
+++ b/tests/lexy/input_location.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/input_location.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/string_input.hpp>
 
 TEST_CASE("get_input_location()")
diff --git a/tests/lexy/lexeme.cpp b/tests/lexy/lexeme.cpp
index 7ae3a49d..c1affcf1 100644
--- a/tests/lexy/lexeme.cpp
+++ b/tests/lexy/lexeme.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/lexeme.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/string_input.hpp>
 #include <string>
 
diff --git a/tests/lexy/parse_tree.cpp b/tests/lexy/parse_tree.cpp
index b6c97201..6d11490e 100644
--- a/tests/lexy/parse_tree.cpp
+++ b/tests/lexy/parse_tree.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/parse_tree.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl/any.hpp>
 #include <lexy/input/string_input.hpp>
 #include <lexy_ext/parse_tree_doctest.hpp>
diff --git a/tests/lexy/token.cpp b/tests/lexy/token.cpp
index fa464173..ea595387 100644
--- a/tests/lexy/token.cpp
+++ b/tests/lexy/token.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/token.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/dsl/punctuator.hpp>
 #include <lexy/dsl/token.hpp>
 #include <lexy/input/string_input.hpp>
diff --git a/tests/lexy/visualize.cpp b/tests/lexy/visualize.cpp
index abafd3de..a15b75fb 100644
--- a/tests/lexy/visualize.cpp
+++ b/tests/lexy/visualize.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy/visualize.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <iterator>
 #include <lexy/dsl/any.hpp>
 #include <lexy/input/string_input.hpp>
diff --git a/tests/lexy_ext/compiler_explorer.cpp b/tests/lexy_ext/compiler_explorer.cpp
index 446b4c67..8e1a5130 100644
--- a/tests/lexy_ext/compiler_explorer.cpp
+++ b/tests/lexy_ext/compiler_explorer.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy_ext/compiler_explorer.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 TEST_CASE("compiler_explorer_input()")
 {
diff --git a/tests/lexy_ext/parse_tree_algorithm.cpp b/tests/lexy_ext/parse_tree_algorithm.cpp
index 65ff6388..7ee139b4 100644
--- a/tests/lexy_ext/parse_tree_algorithm.cpp
+++ b/tests/lexy_ext/parse_tree_algorithm.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy_ext/parse_tree_algorithm.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <lexy/input/string_input.hpp>
 
 namespace
diff --git a/tests/lexy_ext/report_error.cpp b/tests/lexy_ext/report_error.cpp
index 7ced016f..321ce86b 100644
--- a/tests/lexy_ext/report_error.cpp
+++ b/tests/lexy_ext/report_error.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy_ext/report_error.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 #include <iterator>
 #include <lexy/_detail/nttp_string.hpp>
 #include <lexy/input/string_input.hpp>
diff --git a/tests/lexy_ext/shell.cpp b/tests/lexy_ext/shell.cpp
index e4cc75be..07fc2ced 100644
--- a/tests/lexy_ext/shell.cpp
+++ b/tests/lexy_ext/shell.cpp
@@ -3,7 +3,7 @@
 
 #include <lexy_ext/shell.hpp>
 
-#include <doctest/doctest.h>
+#include "doctest/doctest.h"
 
 #include <lexy/_detail/nttp_string.hpp>
 
