Repro (100% consistent)
Any invocation crashes before the LLM is ever called, e.g.:
./evil-opencode run "Reply with exactly: PONG and nothing else"
# -> {"name":"UnknownError","data":{"message":"Unexpected server error...","ref":"err_..."}}
Server log:
level=ERROR message=failed error="TypeError: undefined is not an object (evaluating 'a.name')"
cause="... at resolve (chunk-gckn5ywb.js:2:1659) at a (2:936) at map (native)
at SystemPrompt.environment ..."
The crash lands ~9ms after init count=147, before fff/watcher/location-services boot lines that the official build prints.
Affected / not affected
- BROKEN:
opencode-linux-arm64 from v1.18.28-unguarded and v1.18.29-unguarded (sha256 verified, interpreter repointed for Termux glibc — binary starts and prints --version fine).
- WORKS: official sst/opencode v1.18.29 and v1.18.25 with the identical environment, config, skills, agents, commands (official returns PONG).
- An older evil 1.18.25 build worked in this same setup on 2026-08-31, so this looks like a regression in the unguarded builds between 1.18.25 and 1.18.28.
Ruled out (each re-tested, still crashes)
- ~/.agents/skills, ~/.claude/skills, ~/.config/opencode/skills hidden (all 147 inits pass; also fixed one dangling symlink, not the cause)
- commands/, agents/ hidden
- minimal config (
{model only} via OPENCODE_CONFIG, no MCPs, empty project dir)
--pure flag
Environment
- Termux (aarch64, Android), glibc prefix with repointed PT_INTERP, LD_PRELOAD stripped
--version prints 1.18.29 correctly; only session runs crash
Suspect: the guardrail-stripping step changed more than prompt text, or prompt .txt edits desync from code that maps over prompt/structure entries (the minified trace maps 3 levels deep ending in a.name), while upstream's environment function only sorts references by name.
Repro (100% consistent)
Any invocation crashes before the LLM is ever called, e.g.:
Server log:
The crash lands ~9ms after
init count=147, before fff/watcher/location-services boot lines that the official build prints.Affected / not affected
opencode-linux-arm64from v1.18.28-unguarded and v1.18.29-unguarded (sha256 verified, interpreter repointed for Termux glibc — binary starts and prints --version fine).Ruled out (each re-tested, still crashes)
{model only}via OPENCODE_CONFIG, no MCPs, empty project dir)--pureflagEnvironment
--versionprints 1.18.29 correctly; only session runs crashSuspect: the guardrail-stripping step changed more than prompt text, or prompt .txt edits desync from code that maps over prompt/structure entries (the minified trace maps 3 levels deep ending in
a.name), while upstream's environment function only sorts references by name.