install.sh checksum lookup fails on systems using mawk

Resolved 💬 5 comments Opened May 23, 2026 by preference-kim Closed Jun 18, 2026

What version of Codex CLI is running?

codex-cli 0.132.0

What subscription do you have?

Pro 5x

Which model were you using?

_No response_

What platform is your computer?

Linux 6.8.0-85-generic x86_64 x86_64

What issue are you seeing?

The installer fails to find the SHA-256 digest for the Linux x64 package:

Could not find SHA-256 digest for codex-package-x86_64-unknown-linux-musl.tar.gz in codex-package_SHA256SUMS.

Full output:

Updating Codex via `sh -c 'curl -fsSL https://chatgpt.com/codex/install.sh | sh'`...
==> Updating Codex CLI from 0.132.0 to 0.133.0
==> Detected platform: Linux (x64)
==> Resolved version: 0.133.0
==> Downloading Codex CLI
Could not find SHA-256 digest for codex-package-x86_64-unknown-linux-musl.tar.gz in codex-package_SHA256SUMS.
Error: `sh -c 'curl -fsSL https://chatgpt.com/codex/install.sh | sh'` failed with status exit status: 1

What steps can reproduce the bug?

Run the standalone installer on a Linux x64 system where the default awk is mawk:

$ awk -W version
mawk 1.3.4 20200120
...

$ curl -fsSL https://chatgpt.com/codex/install.sh | sh
... # Same error as shown above

This appears to match the error path reported in #24035.

What is the expected behavior?

The standalone installer should find the matching SHA-256 digest in codex-package_SHA256SUMS and should work with the system default awk on common Linux distributions, including systems where that default is mawk.

Additional information

The failure appears to come from package_archive_digest() in the currently served install.sh:

$2 == asset && $1 ~ /^[0-9a-fA-F]{64}$/ {

mawk's internal regex engine does not match the {64} interval expression here, so the checksum line is not matched even though it is present in codex-package_SHA256SUMS.

One portable way to express the same check would be:

$2 == asset && length($1) == 64 && $1 ~ /^[0-9a-fA-F]+$/ {

This preserves the SHA-256 length check while avoiding awk interval syntax. If this diagnosis looks correct, I would be happy to open a small PR.

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗