A developer named Jonathan went to bed with one open terminal and one instruction to Claude Code: "Do whatever it takes to get this game to run on this OS." By morning, the game worked.
The game was Celeste 64, a free 3D spinoff from the original Celeste developers at EXOK Games. It requires macOS 12 (Monterey, released 2021). Jonathan runs OS X 10.9.5 (Mavericks, released 2013) on a Mac Pro with an NVIDIA GeForce GTX TITAN Black. That is a 13-year gap in operating system evolution.
He launched Claude Code with the --dangerously-skip-permissions flag, which lets the AI run commands and modify files without asking for approval at each step. His only other intervention was a single hint: pointing Claude toward the MacPorts Legacy Support library for writing polyfills (compatibility shims that fill in missing system functions). Then he went to sleep.
What Claude Built While He Slept
The published repository shows the scope of what Claude produced autonomously. The codebase is 85.5% C, and the core piece is a custom Mach-O binary patcher (patch_macho.c) that rewrites the game's compiled libraries to work with the older OS.
The specific technical work included:
- Converting modern binary formats to legacy ones. macOS 10.9's dynamic linker cannot understand chained fixups (a linking format introduced in 10.15). Claude decoded the chained fixup data and rewrote it into the traditional rebase and bind format, extending the binary's
__LINKEDITsegment. - Rewriting Objective-C method tables. Modern compilers output 12-byte relative method lists. The 10.9 ObjC runtime only understands 24-byte absolute method lists. Claude converted all 20 method lists and placed them in a new binary segment.
- Building a compatibility shim library with 18+ missing function implementations, including a
mmapwrapper that strips a flag added in macOS 10.14, no-op stubs for JIT write protection (added in macOS 11.0), and a cryptographic random function that reads from/dev/urandominstead of calling a system API that does not exist on Mavericks. - Stubbing out entire frameworks that did not exist in 2013, including CryptoKit and parts of the Swift runtime.
- Patching a specific conditional jump in SDL2's controller code to skip a function call added in macOS 10.15, falling back to HID-based joystick handling.
Two bugs remained after the initial overnight session: a crash when connecting a controller and a crash on save. Claude fixed both when asked.
What This Actually Demonstrates
This is not a case of Claude writing a simple script or generating boilerplate. Mach-O binary patching, ObjC runtime internals, and .NET hosting compatibility are the kind of low-level systems work that most experienced developers would need days to research, let alone implement.
The --dangerously-skip-permissions flag is doing a lot of heavy lifting here. In normal operation, Claude Code stops and asks for permission before running shell commands or writing files. Removing that guardrail is what made the autonomous overnight session possible, but it also means Claude had unrestricted access to the filesystem and shell. That is a real tradeoff.
The writeup documenting everything Claude did was also authored by Claude when Jonathan asked it to "create a writeup of everything you did." The project is published on GitHub under the WTFPL license for the compatibility code, with the game binaries under the original Celeste 64 license.
As a proof of what Claude Code can do when given free rein on a well-defined but deeply technical problem, this is one of the more impressive public examples so far. The overnight turnaround on work that spans binary formats, runtime internals, and API compatibility across 13 years of OS changes is hard to dismiss.