RISC-V (linux/riscv64) support in Codex CLI (experimental Debian 13 build path, including rusty_v8)

Resolved 💬 0 comments Opened Mar 30, 2026 by spital Closed Mar 30, 2026

What variant of Codex are you using?

Codex CLI

What feature would you like to see?

Official linux/riscv64 support for Codex CLI, including platform detection, a supported install/build path, and ideally release artifacts or documented source-build instructions.

Additional information

Related to #6150, which I had not seen earlier. That issue focused on Ubuntu 24.04 and Node 20 and reported the Unsupported platform: linux (riscv64) startup failure. This is a newer Debian 13 / riscv64 progress report with an experimental working source-build path, including rusty_v8.

Current baseline:

  • npm i -g @openai/codex on linux/riscv64 still fails at startup with:

Error: Unsupported platform: linux (riscv64)

Test environment:

  • Debian 13
  • riscv64
  • container test: docker run -it --rm --platform=linux/riscv64 debian:13
  • Node.js v24.13.1 from:

https://github.com/gounthar/unofficial-builds/releases/download/v24.13.1/nodejs-unofficial_24.13.1-1_riscv64.deb

Repro for the unsupported-platform path:

npm i -g @openai/codex
npx codex --version

Observed error:

file:///opt/nodejs-unofficial/lib/node_modules/@openai/codex/bin/codex.js:70
  throw new Error(`Unsupported platform: ${platform} (${arch})`);
        ^

Error: Unsupported platform: linux (riscv64)
    at file:///opt/nodejs-unofficial/lib/node_modules/@openai/codex/bin/codex.js:70:9
    at ModuleJob.run (node:internal/modules/esm/module_job:430:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:661:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)

Node.js v24.13.1

Experimental progress:

  • Using Codex CLI itself to guide the process, I first obtained a riscv64 Codex build without rusty_v8 from x86_64 while targeting riscv64.
  • Then, from inside a riscv64 Debian environment, that build was able to help produce a new riscv64 build with rusty_v8 included.
  • I have not tested this thoroughly yet, so I am describing it as experimental rather than production-ready.

Example from my experimental build:

target/release/codex --enable collaboration_modes --enable code_mode --enable code_mode_only

Starts ok and can be tested as

````
╭────────────────────────────────────────────╮
│ >_ OpenAI Codex (v0.117.0) │
│ │
│ model: gpt-5.4 high /model to change │
│ directory: /opt/codex_rv64/codex/codex-rs │
╰────────────────────────────────────────────╯

Tip: New 2x rate limits until April 2nd.

› Use the code-mode exec tool only.
Do not use shell, bash, js_repl, exec_command, or any other tool.
Do not explain.
Do not wrap the code.
Do not use markdown fences.
Send exactly this raw JavaScript to exec:
``
text(JSON.stringify({
hasConsole: Object.hasOwn(globalThis, "console"),
hasText: Object.hasOwn(globalThis, "text"),
hasStore: Object.hasOwn(globalThis, "store"),
hasLoad: Object.hasOwn(globalThis, "load"),
hasYieldControl: Object.hasOwn(globalThis, "yield_control"),
hasAllTools: Object.hasOwn(globalThis, "ALL_TOOLS"),
allToolsIsArray: Array.isArray(ALL_TOOLS),
}));
exit();
``

• {"hasConsole":false,"hasText":true,"hasStore":true,"hasLoad":true,"hasYieldControl":true,"hasAllTools":true,"allToolsIsArray":true}

• You ran uname -m
└ riscv64

────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

› Write tests for @filename

gpt-5.4 high · 99% left · /opt/codex_rv64/codex/codex-rs

````

If there is maintainer interest, I can:

  • share exact build notes and environment details
  • test more thoroughly
  • help turn this into a cleaner proposal
  • prepare a PR if that direction matches the intended upstream solution

View original on GitHub ↗