Build large native dependencies on a 64-CPU container and leave the static library plus manifest in a persistent artifact volume.
$ modal-uv exec -- ./scripts/build-rocksdb.shcpu count: 64PORTABLE=1 make -j"$(nproc)" static_lib/mnt/artifacts/librocksdb.a/mnt/artifacts/rocksdb-build-manifest.txt
Give your agent a GPU lane
Edit, run, read logs, debug, rerun.
`modal-uv` gives coding agents an operational loop they can repeat without asking you to translate every experiment into Modal-specific ceremony.
01
changed files
Sync the delta
src/model.pyupdated
train_mnist.pyupdated
modal-uv.yamlchecked
02
remote run
Spawn work
modal-uv run -- python train_mnist.py --epochs 3fc-82a...
modal-uv logs fc-82a...tail
modal-uv abort fc-82a...stop
03
debug signal
Inspect output
/mnt/volume/runs/exp-41metrics
/mnt/volume/checkpoints/last.ptckpt
edit, then rerunloop
Start with the agent
One copied prompt gives your agent a GPU lane.
Paste this into opencode, Claude Code, Gemini CLI, or another coding agent. The agent gets the setup path, health check, and command shape in one instruction.
Bring your own Modal account: onboarding opens login once, then your agent can spend Modal's $30 in free monthly credits on remote GPU runs.
Install modal-uv globally and set it up:
1. Run: pip install modal-uv
2. Run: modal-uv onboard
- This opens a browser for Modal OAuth authentication
- Complete the auth flow in the browser
- It also installs the use-modal-uv skill to detected coding agents
3. In the project repo, run: modal-uv init
- This creates modal-uv.yaml with defaults if missing
- It creates .modal-uv/ for generated state and adds it to .gitignore
4. Edit modal-uv.yaml to set app_name, runtime.gpu, and volumes[].name for this project
5. Run: modal-uv doctor
- This checks modal-uv health: auth state, volume existence, app deployment, daemon status
- Does not wake the container