Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Install

Install Starweaver from GitHub Release artifacts, use crates.io packages for SDK code, or run from a checkout while developing inside this repository. For native application packages, see Install and Update Starweaver Desktop, including verification and unsigned-app warnings.

From source

git clone https://github.com/Wh1isper/starweaver.git
cd starweaver
make check
make cli -- -p "hello" --output text

Useful source commands:

make sw -- version
make cli
make cli -- -p "hello" --output text

From GitHub Releases

curl -fsSL https://raw.githubusercontent.com/Wh1isper/starweaver/main/scripts/install.sh | sh

Pinned install:

curl -fsSL https://raw.githubusercontent.com/Wh1isper/starweaver/main/scripts/install.sh \
  | STARWEAVER_VERSION=vX.Y.Z sh

Custom install directory:

curl -fsSL https://raw.githubusercontent.com/Wh1isper/starweaver/main/scripts/install.sh \
  | STARWEAVER_INSTALL_DIR="$HOME/bin" sh

Installer environment variables:

VariablePurpose
STARWEAVER_VERSIONInstall a full or binary-component tag, such as vX.Y.Z or cli-vX.Y.Z.
STARWEAVER_INSTALL_DIRChoose an install directory.
STARWEAVER_EXCLUDE_COMPONENTSComma-separated components to omit, such as macOS-only computer-use.
STARWEAVER_COMPONENTSCompatibility-only explicit component selection. New usage should prefer exclusions.
STARWEAVER_NO_MODIFY_PATHSet to 1 to skip shell profile updates.
STARWEAVER_GITHUB_REPOOverride the release repository for forks.

By default the installer follows GitHub’s latest full stable release and installs every component available for the detected platform. The CLI component installs starweaver, starweaver-cli, sw, and starweaver-rpc. On macOS, the default also installs the external-harness starweaver-computer-use-mcp binary. Linux and Windows currently have no Computer Use release component and therefore install only the CLI component. A component tag defaults to that one component; explicit STARWEAVER_COMPONENTS can override the selection.

The bootstrap installer requires checksums.txt, requires an entry for every selected archive, and verifies SHA-256 before extraction. Missing checksum metadata, a missing expected binary, or a digest mismatch fails installation.

To omit the macOS MCP binary:

curl -fsSL https://raw.githubusercontent.com/Wh1isper/starweaver/main/scripts/install.sh \
  | STARWEAVER_EXCLUDE_COMPONENTS=computer-use sh

Installing that binary does not enable the default-denied Computer Use Toolset in CLI or RPC. See Computer Use for Screen Recording and Accessibility/post-event permissions, CLI/RPC in-process configuration, the full macOS observe/pointer/keyboard surface, and the unsigned/not-notarized binary warning. Default installation does not enable the CLI/RPC Toolset; launching the installed standalone MCP server is a separate explicit opt-in.

Crates

[dependencies]
starweaver-agent = "X.Y.Z"
# Optional provider-neutral current-desktop service and MCP binary package:
starweaver-computer-use = "X.Y.Z"

Use the workspace path while developing inside this repository:

[dependencies]
starweaver-agent = { path = "crates/starweaver-agent" }

Update

Installed components update through the launcher:

starweaver update
starweaver update cli
starweaver cli update
starweaver update --dry-run
starweaver update --force
STARWEAVER_VERSION=cli-vX.Y.Z starweaver update cli
STARWEAVER_UPDATE_CHANNEL=beta starweaver update

The default update selects all components available for the current platform and honors STARWEAVER_EXCLUDE_COMPONENTS; starweaver update cli and starweaver update computer-use select one component explicitly. The stable channel compares full and matching component Releases and picks the highest semantic version, preferring a component-specific tag when versions are equal. The beta/prerelease channel also considers prereleases. An explicit STARWEAVER_VERSION may pin or downgrade to a full version, a full tag, or the matching component tag.

Updates are implemented by the native launcher; they never download or execute a mutable installer script. For each selected component the launcher downloads the exact tag’s starweaver-release.json, verifies its tag, scope, channel, source revision, target, archive size, and SHA-256, then safely extracts an archive with exact binary inventory. All selected components are downloaded and verified before installation starts. One install-directory lock serializes replacement. Installation writes an in-progress marker, stages replacements, replaces the running executable before committing JSON state containing the exact tag, source revision, target, and version, then removes the marker. A normal error restores old files or removes newly created files; process termination leaves the marker so the next update retries instead of trusting partial state.

Updates preserve configuration and session data under ~/.starweaver. The command returns status=up-to-date only when every selected path is a file and its immutable component identity matches the selected Release. A missing, stale, interrupted, or equal-version-but-different-tag installation is therefore repaired. Use --force or STARWEAVER_UPDATE_FORCE=1 to reinstall the selected release.