agyn-runtime-codex
August 9, 2026 · View on GitHub
The agent runtime image
for the Codex CLI: one agent CLI, the helpers it resolves by name, and the
config.json that describes it.
agynd and the agyn CLI are not in this image. They ship with the
platform and arrive in the same /agyn/bin volume from their own init images,
which is what lets this repository pin only its own CLI version — and what makes
its tags mean something in a version picker.
Contents
/agyn/
├── bin/
│ ├── codex # the agent CLI
│ ├── codex-code-mode-host # Code Mode host, spawned from beside the CLI
│ ├── bwrap # bubblewrap, the sandbox the CLI shells out to
│ └── rg # ripgrep, what the CLI searches the workspace with
└── config.json # {"sdk": "codex", "bin": "bin/codex"}
agynd reads config.json at startup to learn which SDK module to use and
where the binary is. The Orchestrator sets none of it.
The helpers all come out of the same codex-package tarball as the CLI, so they
are one matched set rather than four independent pins. Codex looks for the Code
Mode host in the directory its own binary is in, and for bubblewrap and ripgrep
on PATH — /agyn/bin is both — falling back for bubblewrap to a bundled copy
beside the CLI whose digest it verifies against the one it was built with.
Releasing
Bump CODEX_VERSION in VERSION, then tag. Tags correspond to Codex versions,
so v0.47.0 publishes ghcr.io/agynio/agyn-runtime-codex:0.47.0.
The other runtimes
agyn-runtime-claude and agyn-runtime-agn are the same shape: a Dockerfile, a
config.json, a version pin, and this release workflow. Claude Code's musl
build additionally needs libgcc and libstdc++ bundled alongside the binary.