@oonacode/linux-x64
v0.3.302
Published
OonaCode native binaries for Linux x64: oona (CLI + headless host service), the pinned oonaclaude engine sidecar, local web UI assets. Installed automatically as an optional dependency of `oonacode`.
Readme
oonacode-linux-x64
Platform package for the oonacode npm wrapper — Linux x64 only
("os": ["linux"], "cpu": ["x64"]). Do not install it directly; npm i -g oonacode pulls it in as
an optional dependency and links its binaries into the wrapper's bin/.
There is no .exe here and no arm64 build: install.sh refuses aarch64 in one sentence for the
same reason — nothing is published for it yet.
Contents (injected at release time — this directory is a skeleton in git)
| File | What |
| ----------------------- | --------------------------------------------------------------------------- |
| oona | the oona CLI + headless host service + local web UI server (single binary) |
| oonaclaude | the pinned Claude Code engine, run through the Claude Agent SDK (sidecar) |
| web-ui/ | the local web UI static assets served by the host service |
| build/, prebuilds/ | native addons (SQLite, node-pty) laid out where the bundle looks for them |
| registry.json | the provider registry — the host refuses to start without it beside oona |
| oonacode-release.json | version / arch / commit / build mode stamp |
oonaclaude is a byte-for-byte copy of the pinned, unmodified native binary from
@anthropic-ai/claude-agent-sdk-linux-x64. OonaCode does not fork or patch Claude Code — it ships
under our own filename only so it can never be confused with, or collide with, a user's own
claude on PATH. It is in the package only when the build bundled the engine
(packaging/build-linux.sh --bundle-engine); otherwise the PC downloads the pinned engine once
into its own store on the first message (docs/engine-once.md).
Both binaries must arrive executable: a copy that loses its exec bit does not fail loudly, it
hangs — the SDK neither answers nor throws when it cannot spawn the engine (see
docs/linux-port.md). The release is packed on Windows, which carries no POSIX mode into the
tarball, so the wrapper's postinstall.mjs sets mode 0755 on them on the user's machine, and the
host repairs the engine's bit before every turn.
Publishing
In the source repository this directory is only a skeleton — package.json and this README; the
payload is git-ignored. The binaries are produced on a Linux machine by packaging/build-linux.sh
— a Windows box cannot build them, because the payload carries a native better-sqlite3 addon.
The package that is published is staged OUTSIDE the repository by packaging/scripts/stage-npm.mjs
from that build's tarball (oonacode-linux-x64.tar.gz, which a stable packaging/release.ps1 run
given -LinuxArtefacts unpacks in step 6b), and the staging refuses a build of another version or
one pinned to another engine than the release publishes. Without -LinuxArtefacts this package is
not published for that version and the wrapper does not name it. release.ps1 never packs
this directory. (Until 0.3.131 it did, as the directory sat on disk, and this package went out
with no binary in it — review C18/C26.)
See docs/release-distribution.md and
docs/linux-app.md.
