You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
v1.18.28/1.18.29-unguarded (linux-arm64): every run crashes with TypeError in SystemPrompt.environment #3
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.
Activity
M1noa commentedon Sep 11, 2026
+1