mise install bun passe sans erreur, pourtant bun répond command not found. C’est arrivé en utilisant mise sur Codex Cloud.
En local, les versions étaient figées via .tool-versions et je ne m’en souciais plus. Sur le Cloud, ce fichier n’est pas pris en compte automatiquement.
Symptômes
Les versions de bun et node dérivent sur le Cloud. mise install bun aboutit, mais lancer bun juste après échoue. Les dépendances peuvent aussi se désynchroniser après une restauration de cache.
Si l’un de ces cas se présente, il y a de fortes chances que l’installation et l’activation shell de mise soient confondues.
Cause
Codex Cloud n’applique pas automatiquement .tool-versions ni .mise.toml. Le laisser tel quel comme en local ne fonctionne pas.
Le piège principal est le comportement de mise install. mise install bun ne fait que télécharger le binaire sans l’ajouter au PATH du shell. Il faut appeler mise activate ou mise exec séparément. Sans le savoir, command not found revient indéfiniment.
Écrire dans AGENTS.md d’utiliser bun ne sert que d’indication de politique. Cela ne contrôle pas la mise en place de l’environnement.
Résolution avec setup.sh et maintenance.sh
Passer la configuration de l’environnement Codex Cloud en Manual setup et écrire les scripts soi-même.
.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 enregistre les outils globalement, puis mise activate bash --shims les rend disponibles via les shims dans le PATH. Séparer ces deux étapes est la clé. Tenter de tout faire avec un seul mise install échoue.
.codex/cloud/maintenance.sh
#!/usr/bin/env bash
set -euo pipefail
bun install --frozen-lockfileCe script s’exécute après la restauration du cache. Il suppose que le PATH configuré par setup.sh est toujours en place.
Procédure
Activer Manual setup dans les paramètres d’environnement Codex Cloud, indiquer .codex/cloud/setup.sh comme setup script et .codex/cloud/maintenance.sh comme maintenance script. Réinitialiser et recréer le cache de l’environnement pour appliquer les changements.
En complément, ajouter dans AGENTS.md la mention Use bun for install/run. Do not use npm unless explicitly requested..
Points de vigilance
mise install seul ne rend pas bun exécutable. mise activate ou mise exec est nécessaire. Sans construire la configuration autour de la séparation entre installation et activation shell, on retombe sur le même problème.
Le setup script et les traitements suivants tournent dans des sessions distinctes. Les réglages qui dépendent du PATH ont intérêt à être autonomes dans chaque script. Si bun n’est pas trouvé dans le maintenance script, mise exec -- bun ... contourne le problème.
Conclusion
Pour stabiliser mise sur Codex Cloud, préparer ses propres setup.sh et maintenance.sh en Manual setup, et câbler le PATH avec mise use -g combiné à mise activate. Ne pas chercher à s’en sortir avec mise install seul.
Quand Codex Cloud supportera les images Docker personnalisées, tout ce contournement deviendra peut-être inutile.
hsb.horse