Monorepo for Aesthetic.Computer aesthetic.computer

claude: auto-install native binary on oven builds + pin Sonnet 4.7 default master

Fixes two related on-device breakages reported after flash: 1. "claude: command not found" / "install native" prompt ac-os bundles /bin/claude by copying from the builder's local ~/.local/share/claude/versions/<latest>. That works on developer machines but the oven build server doesn't have claude pre-installed, so /bin/claude was silently missing from every OS image. When the user opened the `code` (claude) piece the PTY spawned a binary that didn't exist, and the npm-wrapper stub that DOES exist on some devices printed "install native" prompting them to download the native binary they're already trying to run. Fix: in ac-os, if CLAUDE_BIN isn't found locally, `curl -fsSL https://claude.ai/install.sh | bash` populates the versions dir as a fallback. Output is streamed through the build log so failures are obvious. Non-fatal if install.sh fails — the build still completes and logs "(non-fatal — will ship image without /bin/claude)" so we don't break builds on network flake. 2. Default model wasn't pinned to Sonnet 4.7 Two-layer fix — the CLI resolves model selection from: (a) ANTHROPIC_MODEL env var (set at PTY child spawn in pty.c) (b) `model` key in /tmp/.claude/settings.json (written by init) Both layers now carry `"sonnet"`, the Anthropic alias that resolves to the latest Sonnet family member — currently 4.7. Users who want to pin a specific version can override either source. pty.c setenv uses overwrite=0 so ANTHROPIC_MODEL is preserved if the user has already exported one in their shell session. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>


+28 -3
3 changed files