dune utop should read libraries in (subdir ..) $ cat >dune-project < (lang dune 3.6) > EOF $ cat >dune < (data_only_dirs foo) > (subdir foo > (library > (modules foolib) > (name foolib))) > EOF $ mkdir foo $ cat >foo/foolib.ml < let hw () = print_endline "foolib" > EOF $ cat >foo.ml < Foolib.hw () > EOF $ dune utop . -- foo.ml foolib