Skip to main content
A Harnest release bundles three matching parts: the native CLI, the Python runtime wheel, and uv. Script installers verify the release checksum before installation. Native Windows installers are also listed in the release checksum manifest. Harnest requires Python 3.11 or newer. New agents and the managed fallback runtime use Python 3.12.

Install

On x64 Windows, use the native MSI installer. Verify the CLI and managed runtime:

Windows installer

Download the MSI from Harnest releases for your system type and double-click it: The wizard installs harnest.exe under %LOCALAPPDATA%\Programs\Harnest for your user, adds that directory to your user PATH, and prepares the managed runtime. Runtime setup may download Python and dependencies. Open a new terminal after installation, then run harnest doctor. Use the newer MSI to upgrade. Windows Installer also supports repair. Uninstall through Windows Settings → Apps → Installed apps → Harnest. Uninstall removes the CLI and its PATH entry, while the managed runtime and authored agent projects remain on disk. For automated deployment, Windows Installer accepts msiexec /i <installer.msi> /qn /norestart. The installer runs under the installing user’s account. A failed runtime setup fails the installation and rolls back the MSI-managed files and PATH changes. On managed devices, follow your organization’s software approval process if installation is blocked. Release checksums.txt includes the MSI’s SHA-256 hash. The optional legacy install.ps1 entry point verifies this checksum and launches the same MSI when available. For ZIP-only releases it verifies and installs the matching ZIP. It requires a policy that permits scripts.

Windows ZIP installation

Use this method when your device permits the Harnest executable but blocks downloaded PowerShell scripts. On managed devices, follow your organization’s software approval process.
  1. Open Harnest releases. Download checksums.txt and the ZIP for your Windows system type from the same release. Choose harnest_<version>_windows_amd64.zip for x64 or harnest_<version>_windows_arm64.zip for ARM64. Windows Settings → System → About lists your system type.
  2. In PowerShell, calculate the archive hash, replacing the filename with the one you downloaded:
    Compare the result with the entry for that exact filename in checksums.txt. Continue only if the full SHA-256 values match.
  3. Extract the verified ZIP with File Explorer and place harnest.exe in a directory you own, such as $HOME\.local\bin.
  4. Run these commands in PowerShell, using the directory you chose:
    After installation succeeds, verify both layers:
  5. Add the executable’s directory to your user PATH in Windows Environment Variables and open a new terminal to use harnest directly.

Diagnose an agent

From your agent folder:
doctor checks the configured framework and an existing managed environment without changing dependencies. Run harnest env sync . if the environment is missing or stale. With no directory argument, doctor detects an agent in the current folder; otherwise it checks core packages only. --framework adk or --framework langgraph explicitly adds that framework’s checks. --python and HARNEST_PYTHON select an explicit interpreter for diagnosis, and the output shows which interpreter was checked. A missing framework in the shared core runtime does not mean it is missing from an agent’s isolated environment.

Installer properties

You run harnest; you do not activate the private runtime or call python -m harnest.cli.
If no Python 3.11 or newer is available, embedded uv installs a pinned CPython 3.12 under the Harnest data directory. It does not modify the system Python.

Upgrade

Run the installer again to replace the CLI and its matching managed runtime. Then upgrade each project separately:
The first upgrade is a read-only plan. Apply handles supported source and Python-version migrations, verifies the planned source hashes, and writes backups before changing project files.

Compatibility

Each release supports specified ADK and LangGraph versions. Sync resolves project and extension dependencies into separate hash-verified runtime, development, and evaluation locks.

Run examples from a source checkout

Keep the installed framework aligned with each example’s committed harnest.lock. For the desktop MCP example, run this from the repository root after creating a Python 3.12 .venv:
The example’s provisioner uses the same pin when installing its extra dependencies, including when reusing an existing environment. Update the constraint and framework lock together when deliberately changing ADK versions.

Publish a release

Release publishing is a maintainer workflow:
1

Run the complete gate

2

Prepare release notes and version metadata

Keep the native CLI, embedded wheel, and compatibility metadata on the same version.
3

Tag the release

The release workflow builds the supported macOS and Linux tarballs and Windows ZIP archives, creates checksums.txt, and publishes the artifacts.
4

Verify a clean install

Test the public installer and run harnest doctor on at least one supported platform.
Do not publish a CLI with a wheel from another version. The executable rejects mismatched embedded metadata.