Repository navigation
Scout 0.4.0 is the terminal-only core. This repository holds the runtime, protocol, harness adapters, session observation and extraction, CLI, TUI, and the host side of phone pairing (@openscout/pairing, bundled into the CLI and not published separately). The Mac, iOS, Android, and web apps are the separate Scout apps.
Before you upgrade
- Keep 0.3.9 while you use Mac app 0.3.9. That app loads its views and sends messages through the web server that the 0.3.9 npm package starts on port 43120. 0.4.0 does not include that server. Upgrade the CLI together with a Mac app release that supplies its own web server. Until then, install
@openscout/scout@0.3.9. - Bun 1.4.4 or newer is required. An older Bun exits 1 with
Scout requires Bun 1.4.4 or newer; installed: <version>. Upgrade: bun upgrade. A remote host with an older Bun refusesscout updateand keeps its existing installation. - The npm package contains no web app.
scout serverandscout webserve a web client only when the separate Scout apps supply one. Without one, they explain where the web app comes from. scout setupandscout doctorcheck the core only. They report runtime health, not app health. Their JSON schemas are nowscout.setup.v2,scout.doctor.core/v1andscout.doctor.core.node/v1.- The journal format moves forward. After 0.4.0 creates or compacts the runtime journal, an earlier runtime cannot load it.
- Hosts with the mesh bridge enabled must pass
openscout-runtime mesh-bridge-preflight(exit 0), run from 0.4.0 as the service user, before the service restarts. See the bridge cutover guide. - A Tailscale Serve or Funnel handler that forwards to the runtime's loopback port or socket removes local trust from that listener. Local-tier requests on it fail with
tailscale_runtime_listener_guarded. - Changed output.
scout session touchedandscout diff sessiontake the exact<native-session-id> --node <node-id> --harness <claude|codex|pi>tuple.scout providersJSON isscout.provider-usage/v1.
What changes
- Tailnet guests.
scout mesh guests list|grant|revokegives a guest key access to exact agents for up to 30 days.grant --jsonprints the bootstrap thatscout-tailscale connectimports. - Mesh management. Local runtime APIs configure approval sharing, read Tailscale diagnostics, ping a pinned peer, configure the bridge and collect consent-gated reports. SSH enrollment applies
--tieron both hosts. Dormant hosts stay hidden unless you pass--all. - CLI extensions.
scout extensions install|update|removeinstalls trusted local extensions with rollback. Built-in commands always win.scout completion zsh|bash|fishandscout help <verb>cover installed extensions. - Phone pairing. A relay handshake no longer grants trust. A phone pairs only in an explicit window of at most five minutes, or in a window bound to a request the host approved. A phone that finds the host through your account waits for
scout pair requests approve. Pairing authority can move to a verified capsule store through an explicit local cutover. Revoking a phone does not close a session that is already connected. - Agent replies. ACP agents keep their messages apart across tool calls and plan updates. A failed Codex turn no longer takes a live session offline. The MCP server keeps one reply waiter per flight across retries.
scout watchno longer holds message bodies. - No web server needed.
scout role,scout diff,scout providers,scout runtimes, and the MCP session and attachment reads use the runtime directly. - The host stays awake. On macOS, the runtime holds off idle sleep while local agents work.
OPENSCOUT_KEEP_AWAKE=0turns it off. - Operator images.
scout notify --imageandscout operator --imagestore images as runtime blobs, without the six-hour expiry.
Full notes: docs/releases.md
Full Changelog: v0.3.9...v0.4.0