# TODO ## klaus: self-contained-package exception (approved) - klaus's `@anthropic-ai/claude-agent-sdk` is a large per-platform native binary that cannot bundle and cannot ship as a single prebuilt tree. It is declared `consumeExternals` (pi-ext), so the published package ships no baked `node_modules`; Pi's git-install `npm install` resolves the correct per-platform binary. This deliberately breaks the architecture's "runs without ancestor node_modules / self-contained" rule for klaus only. - Version is derived from the installed SDK (`src/sdk-version.ts`), not pinned; binary checksums were removed (npm lockfile integrity is sufficient). - PENDING VERIFICATION on win32 and android/Termux (built + tested on linux-x64 only). Android now only locates the installed `claude-agent-sdk-linux-arm64` binary and wraps it in a `grun` glibc shim (bionic has neither glibc nor musl); the on-device `npm pack` fallback was removed. Note: npm skips the SDK's `os: linux` packages on an `android` platform, so the arm64 binary may need manual install there; if android breaks, restore the pack path from git history. ## Temporary dependency deviations (revert to `*`/latest when resolved) - `typescript` pinned to `next` (7.1 nightly): stable `7.0.2` panics on `isolatedDeclarations` (native declaration-emit bug). Revert to `*` once TS 7.1 reaches the `latest` tag. - Dropped the `typescript` programmatic compiler API (not shipped in native TS7); structural checks now parse via `oxc-parser` (`scripts/lib/esast.ts`). Reconsider if TS7 publishes a JS API. ## Skills - fix crome-cdp ## Extensions - nushell instead bash: models might be ready - research claudes/codex "run in bg" tools