Give your assistant practical tools

AHH checks incoming text and documents, handles mail and Telegram, monitors services, and asks a human when work needs a decision. One command-line program for macOS, Linux and Windows.

A scan can find a threat or report incomplete checks. It does not give an assistant permission to follow instructions in a document or send a message.

The changelog separates published binaries from upcoming source changes. The upcoming PDF text workflow checks a saved text copy; its result does not approve the original PDF. Check ahh scan --help for options available in your installed version.

Read the getting-started guide for setup and everyday tasks. Contributors can use the repository manual (access required).

macOS and Linux

curl -fsSL https://ahh.limbs.dev/install | bash

Lands in ~/.local/bin/ahh. The installer does not touch your shell startup files; if that directory is not on your PATH, it says so and leaves the change to you:

export PATH="$HOME/.local/bin:$PATH"

Windows

irm https://ahh.limbs.dev/install.ps1 | iex

Lands in %LOCALAPPDATA%\ahh\bin\ahh.exe and adds that folder to your user PATH, so open a new terminal before the first ahh call. Windows has no per-user directory that is already on PATH, so an instruction on screen would leave every reader with the same manual step. Set AHH_NO_PATH_UPDATE=1 to keep PATH untouched. Windows PowerShell 5.1, the version Windows ships with, is enough.

Supported targets

OSArchitectures
macOSarm64, amd64 — ad-hoc signed, runs on Apple Silicon
Linuxarm64, amd64 — static, no libc dependency
Windowsarm64, amd64

Anything else and the installer refuses rather than guessing an architecture.

Try a local check

This example needs no account and makes no model request:

printf 'Planning note for next week.\n' | ahh scan --no-llm -

Expect UNKNOWN and exit code 2: the local checks ran, but the model check was deliberately omitted. Incomplete evidence stays visible.

SAFE means every required check covered the supported input; DANGEROUS means a check found a threat. A result describes the checks, not whether it is wise to act on the content.

Continue with the first-use guide. It explains configuration, ahh doctor and the next action for each result. Automation uses the repository JSON and exit contracts (access required).

What you are trusting

Installing from a URL is trust on first use. Being precise about it:

If you would rather not pipe a URL into a shell: download the binary and its .sha256 from /bin/ yourself, compare them with shasum -a 256, and move the file into place. The installer does nothing you cannot do by hand.

Updates

ahh update check
ahh update apply

check contacts the release origin and may record local update state. apply can replace the installed program after verifying the manifest, target signature, digest and version. On Windows, replacement finishes through a helper after the process exits. Use the update guide for permissions and recovery.

Beta channel

The staging origin provides prerelease builds signed with a separate key. Use it for validation; use the stable origin above for ordinary installation.

curl -fsSL https://staging.ahh.limbs.dev/install | bash

A stable binary will not accept a beta manifest, so switching channels means installing from the other origin — not flipping a flag.

Overrides

VariableEffect
AHH_BIN_DIRInstall somewhere other than the default directory
AHH_BASE_URLPoint at another origin. HTTPS is required, except loopback for tests