agent-tty requires Node >=24 <27.
The recommended install path is the npm package agent-tty.
GitHub Release tarballs are the registry-independent fallback, and direct git dependency installs remain best-effort because they build from source.
After any install, verify the binary and local environment:
agent-tty version --json
agent-tty --home "$(mktemp -d)" doctor --jsonIf doctor --json reports a missing Playwright browser cache on a fresh machine, run:
npx playwright install chromiumnpm install -g agent-tty
agent-tty version --json
agent-tty --home "$(mktemp -d)" doctor --jsonFor automation, pin an exact version:
PACKAGE_VERSION=<version>
npm install -g "agent-tty@${PACKAGE_VERSION}"
agent-tty version --jsonTo follow a prerelease channel, use a dist-tag such as @beta or @rc:
npm install -g agent-tty@betanpm install agent-tty
./node_modules/.bin/agent-tty version --jsonWith an exact version:
PACKAGE_VERSION=<version>
npm install "agent-tty@${PACKAGE_VERSION}"
./node_modules/.bin/agent-tty version --jsonVERSION=<version>
RELEASE_TAG="v${VERSION}"
RELEASE_TGZ="agent-tty-${VERSION}.tgz"
TARBALL_URL="https://github.com/coder/agent-tty/releases/download/${RELEASE_TAG}/${RELEASE_TGZ}"
npm install -g "$TARBALL_URL"
agent-tty version --jsonVERSION=<version>
RELEASE_TAG="v${VERSION}"
RELEASE_TGZ="agent-tty-${VERSION}.tgz"
gh release download "$RELEASE_TAG" --repo coder/agent-tty --pattern "$RELEASE_TGZ"
npm install -g "./$RELEASE_TGZ"
agent-tty version --json
agent-tty --home "$(mktemp -d)" doctor --jsonVERSION=<version>
RELEASE_TGZ="./agent-tty-${VERSION}.tgz"
npm install "$RELEASE_TGZ"
./node_modules/.bin/agent-tty version --jsonWhen you need a deterministic local artifact before publishing a GitHub Release, build a tarball from a checkout:
TARBALL_DIR=$(mktemp -d)
aube ci
npm run pack:private -- --pack-destination "$TARBALL_DIR"
INSTALL_PREFIX=$(mktemp -d)
npm install -g --prefix "$INSTALL_PREFIX" "$TARBALL_DIR"/*.tgz
"$INSTALL_PREFIX"/bin/agent-tty version --json
"$INSTALL_PREFIX"/bin/agent-tty --home "$(mktemp -d)" doctor --jsonnpm run pack:private rebuilds dist/ before packing.
Release automation uses npm run pack:release after the CI-quality build step so GitHub Releases and npm publishing reuse the same verified tarball plus checksum.
npm install -g github:coder/agent-tty
agent-tty version --jsonGit installs run npm's prepare hook and build from source.
Use this only when you explicitly want the latest default-branch snapshot and your npm/git-dependency environment can build native dependencies such as node-pty.
If your shell setup injects mise activate or another trust-checked tool into npm lifecycle subprocesses, trust the checkout path first or prefer the npm package or release tarball route.