Source code can often be adjusted to build and run on Mavericks. When all you have is a binary executable, there's Drydock.
To adapt Claude Code to load and run,
Mavericks Forever's installer
needs a sequence of patch_macho, add_version_min, and change_dylib commands.
Here's the equivalent script in Drydock's little language:
cat >drydock-claude <<EOF
fixups set classic
minos at-most 10.9
load-command delete uuid
load-command delete codesig
dylib replace /usr/lib/libSystem.B.dylib @loader_path/../S.dylib
dylib replace /usr/lib/libicucore.A.dylib @loader_path/../I.dylib
dylib replace /usr/lib/libc++.1.dylib @loader_path/../c++.1.dylib
EOF
drydock-macho-rewrite claude claude-mavericks < drydock-claude
./claude-mavericksGiven instructions on stdin, write a modified copy of a Mach-O executable.
See drydock-macho-rewrite(1) for script syntax, operations, queries, and limitations.
drydock-macho-rewrite incorporates functionality (and sometimes code) from a variety of tools. To aid migration, compatibility wrappers are available:
add_version_min(original)bake-mavericks-shim(original)change_dylib(original)fix_macho(original)insert_dylib(original)patch_macho(original)rename_segment(original)retag_swift_classes(original)
(The wrappers will probably go away at some point, so take their guidance and change your call sites.)
install_name_toolfrom the Mavericks Command Line Toolsllvm-install-name-toolfrom clang