mise install bun lief durch, trotzdem kam bun als command not found zurück. Passiert ist das beim Einsatz von mise auf Codex Cloud.
Lokal hatte ich die Versionen über .tool-versions fixiert und mich darauf verlassen. In der Cloud griff das nicht.
Symptome
Die festgelegten bun- und node-Versionen weichen in der Cloud ab. mise install bun meldet Erfolg, aber direkt danach wird bun nicht gefunden. Nach einer Cache-Wiederherstellung können auch Abhängigkeiten auseinanderlaufen.
Wenn davon etwas zutrifft, wird wahrscheinlich Installieren und Shell-Aktivierung durcheinandergebracht.
Ursache
Codex Cloud wendet .tool-versions und .mise.toml nicht automatisch an. Wer es wie lokal einfach liegen lässt, stellt fest, dass nichts funktioniert.
Die größte Falle ist das Verhalten von mise install. mise install bun lädt nur die Binärdatei herunter, ohne sie dem Shell-PATH hinzuzufügen. mise activate oder mise exec muss separat aufgerufen werden. Ohne dieses Wissen taucht command not found immer wieder auf.
In AGENTS.md den Hinweis „bun verwenden” zu schreiben, dient nur als Richtlinie. Die Umgebung selbst wird damit nicht aufgebaut.
Lösung mit setup.sh und maintenance.sh
Die Codex-Cloud-Environment-Einstellung auf Manual setup umstellen und die Setup-Skripte selbst schreiben.
.tool-versions
bun 1.3.8nodejs 25.6.0.codex/cloud/setup.sh
#!/usr/bin/env bash
set -euo pipefail
mise use -g bun@1.3.8mise use -g node@25.6.0
eval "$(mise activate bash --shims)"bun install --frozen-lockfilemise use -g registriert die Tools global, mise activate bash --shims macht sie über Shims im PATH verfügbar. Die Aufteilung in zwei Schritte ist entscheidend. Versucht man alles mit einem einzigen mise install zu erledigen, schlägt es fehl.
.codex/cloud/maintenance.sh
#!/usr/bin/env bash
set -euo pipefail
bun install --frozen-lockfileDieses Skript läuft nach der Cache-Wiederherstellung. Es setzt voraus, dass der von setup.sh konfigurierte PATH noch aktiv ist.
Ablauf
In den Codex-Cloud-Environment-Einstellungen Manual setup aktivieren, als Setup-Skript .codex/cloud/setup.sh und als Maintenance-Skript .codex/cloud/maintenance.sh angeben. Den Environment-Cache zurücksetzen und neu erstellen, damit die Änderungen greifen.
Ergänzend in AGENTS.md den Hinweis Use bun for install/run. Do not use npm unless explicitly requested. eintragen.
Stolperstellen
mise install allein reicht nicht, um bun ausführbar zu machen. mise activate oder mise exec ist nötig. Wer die Konfiguration nicht auf der Trennung von Installation und Shell-Aktivierung aufbaut, landet immer wieder beim selben Problem.
Setup-Skript und nachfolgende Prozesse laufen in getrennten Sessions. PATH-abhängige Einstellungen sollten in jedem Skript eigenständig abgeschlossen sein. Falls bun im Maintenance-Skript nicht gefunden wird, hilft mise exec -- bun ....
Fazit
Damit mise auf Codex Cloud stabil läuft, eigene setup.sh und maintenance.sh unter Manual setup bereitstellen und den PATH über mise use -g plus mise activate durchschleifen. Nicht versuchen, mit mise install allein auszukommen.
Sobald Codex Cloud eigene Docker-Images unterstützt, wird dieser gesamte Workaround möglicherweise überflüssig.
hsb.horse