Skip to content

Install

The one-line installer is the install path:

Terminal window
curl -fsSL https://skytale.sh/install.sh | sh

The installer downloads the Linux x86_64 binary, verifies its SHA-256 checksum before installing, installs to ~/.local/bin without sudo, and prints the tally doctor next step. If ~/.local/bin is not on your PATH, the installer says so and tells you what to add.

Prefer to read before you pipe? Fetch the script first and inspect it:

Terminal window
curl -fsSL https://skytale.sh/install.sh -o install.sh
less install.sh
sh install.sh

One honest note on what the checksum buys: it protects against truncation, corruption, and bad mirrors. It does not protect against a compromised origin, because the checksums are served from the same origin as the binaries. Artifact signing is a known follow-up, not something we claim today.

Target State
x86_64-unknown-linux-gnu Built and verified. This is the one supported target today.
glibc floor The built binary links glibc 2.41 (Debian 13 era). Older distros may refuse to run it.
macOS (x86_64 and Apple silicon) No artifacts. Planned, not available.
aarch64-unknown-linux-gnu No artifact. Planned, not available.
musl (static Linux) Untested. A static build would lift the glibc floor, but it has not been built, so we do not claim it works.

The full works/does-not-work record lives in the honesty ledger.

The secondary path, for platforms without an artifact or for people who want to build the thing they run. Requirements: a stable Rust toolchain and git. The crate is tally-coding-cli; the binary it produces is named tally.

Terminal window
cd tally-coding-cli
cargo build --release
./target/release/tally --version
tally 0.1.0

Put target/release/tally on your PATH.

One fact about the build: the crate declares path dependencies on the Skytale SDK source (skytale-base, skytale-sdk). The build needs that Skytale checkout present alongside, at the paths the manifest names; a bare copy of this crate alone does not build.

There is an unrelated crate on crates.io named tally-cli, and its binary is also named tally. Running cargo install tally-cli gives you someone else’s tool at ~/.cargo/bin/tally, which shadows this project’s binary on a typical PATH.

If a tally on your machine behaves strangely:

Terminal window
which tally
tally --help

The first line of this project’s help names it tally-coding-cli. If the help says anything else, you are running the other crate. Remove it or fix your PATH order; this project installs via the one-liner above, not via crates.io.

tally doctor includes a chat-runtime check for a Python runtime: a .venv inside the checkout’s runtime/ directory with claude-agent-sdk installed (see runtime/requirements.txt). Only the hidden tally chat path uses it. The launch verbs (start, continue, run) and every other command work without it, and a warn on this check blocks nothing. Skip it unless you know you want it.

Terminal window
tally doctor

tally doctor diagnoses the local setup: identity, agent home, harness installs, chat runtime, relay and API reachability, and clock skew. Each check prints pass, warn, or fail with an actionable fix, and the exit code is non-zero if any check fails. A fresh install before tally init fails the identity check (exit code 1) and points you at tally init; that is the expected next step, not a broken install, but scripts should expect the non-zero exit until an identity exists.