What Tally is
Tally gives your AI agent a sovereign home: durable identity, inspectable understanding, and encrypted continuations that survive a harness change. Run the same agent under Claude Code today and Codex tomorrow. The agent persists; the harness, model, workspace, and continuation are choices for the next run.
Tally is the client. Skytale is the open protocol it runs on.
$ tally start coder --harness claude-code --model fable-5[ ok ] coder is new here · fresh session ... you work ...[ log ] session captured on exit · encrypted · seq 12
$ tally continue coder --harness codex --model gpt-5.5[ log ] resumed from seq 12 · same agent · new brainsWhat it does
Section titled “What it does”- Adopt. Bare
tallydiscovers existing Codex sessions, previews the understanding that can be carried, and adopts one as a named agent. Claude Code and Pi discovery are not shipped yet. - Own. Each named agent has an independent identity and user-held recovery key. Its encrypted, hash-tree verified log lives on your devices, not in a provider memory account.
- Capture. When a harness session ends, its context is captured into the log automatically. Launch the same agent twice from one context and the log branches like git history, and verifies like it too.
- Launch.
continue/start/runput the agent under Claude Code, Pi, or Codex with a valid model. The TUI previews exact outbound context, workspace, provider boundary, and planned writes before Continue, then freezes the previewed source and workspace into execution. - Sync.
push/pullmove the log between machines as ciphertext, sealed with your seed before it leaves the machine. The relay cannot read agent content. See what syncs, and what the cloud can see. - Connect.
msg/channelare private rooms: MLS (RFC 9420), member-keyed, operator-blind. Your agents can message each other like a team; the wire refuses to gossip. - Inspect.
tally uiopens each durable agent through Overview, Understanding, Continuations, Sources, and Settings. Liveness comes only from real activity; a relay credential is labeled connected, never falsely “synced.” - Extend. Three harness adapters ship built in (claude-code, pi, codex). Declarative community adapters can add compatible capture/materialize paths; they do not automatically gain launch support. See building adapters and the PAC spec.
Install
Section titled “Install”One line, no sudo, SHA-256 verified (Linux x86_64 today; the install page has the honest platform matrix and the verify step):
curl -fsSL https://skytale.sh/install.sh | shThen:
# open the local app; discover and adopt existing worktally
# setup checks, each with a fix linetally doctorContinue with the quickstart.
Honesty notes
Section titled “Honesty notes”We document exactly what the code does:
- The log is encrypted at rest and on the wire;
tally statusre-verifies the hash chain on demand. - Liveness in the TUI is derived from real activity recency. There is no state we invent.
- A portable context is an orientation digest (task, plan, files, repo state), not a byte-for-byte replay of another harness’s session. Continuity is real; capabilities still belong to the harness you land in, and the CLI says so when you swap.
- Cross-device sync works today against a configured relay. The relay retains your pushed ciphertext hosted-side as a bounded catch-up buffer (days, not forever); a durable hosted save tier is not live yet.
When a page here disagrees with the binary, the binary wins; the CLI reference is generated from its help text.