fix(runner): bake unzip, zip, and the python alias into both sandbox runtimes - #5649
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Railway Preview Environment
Updated at 2026-08-02T12:30:13.566Z |
What was broken
Asking an agent to read a file inside a ZIP cost three approval round-trips: the sandbox has no
unzipand no plainpython, so the agent burned two failed bash calls (exit 127) before discoveringpython3. Closes #5637. More broadly, the sandboxes lacked the small set of shell tools every coding agent reaches for first, so ordinary tasks kept paying failed-call and approval overhead.Fix
Both sandbox runtimes get the same additions in their existing package layer:
unzip,zip,python-is-python3(the plainpythonname),ripgrep(rg),fd-find(with a symlink sofdworks; Debian ships it asfdfind),jq,procps(ps),file, andtree.docker/Dockerfile.devanddocker/Dockerfile.gh. Railway and Helm inherit automatically (they wrap the published runner image).images/sandbox/daytona/build_snapshot.py. The snapshot name is pinned, so every account that runs Daytona must rebuild once with--force; that operations step is documented in the recipe README and the self-host Daytona page.Verification
Both runner images were really built and probed from inside: every tool resolves and runs (
rg13.0.0,jq1.6,ps4.0.2,file5.44,tree2.1.0,fd8.6.0 via the symlink chain,python3.11.2,unzip6.00,zip3.0), plus functional smokes (fdfinds a file,rgcounts a match). Theghimage was verified as its runtime non-root user. The Daytona recipe compiles; its package set was proven on the same Debian bookworm base, confirmed against the actual base image config.For reviewers
python3-pipand build tools were left out on purpose (image weight and dependency sprawl deserve their own decision).build_snapshot.py --forceonce, and stages want a runner-image redeploy.https://claude.ai/code/session_01McMogkcDRV7UpSAjfd8VKG