> For the complete documentation index, see [llms.txt](https://docs.telys.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.telys.ai/start-here/verify-install.md).

# Verify install

Confirm a healthy Telys install offline — check the SDK version, runtime readiness, and the release-signature and license verification that gate every native call.

After installing the SDK and running `telys login`, three commands confirm Telys is healthy and the native runtime is genuine. All run offline, verifying against public keys embedded in the wheel — not a server.

## What to check

| Command                | What it answers                                | Success                                                              |
| ---------------------- | ---------------------------------------------- | -------------------------------------------------------------------- |
| `telys version`        | Which SDK and on-disk format is installed?     | Prints `telys 0.1.9 (format v1)`.                                    |
| `telys runtime status` | Is a runtime installed and ready?              | Exit code `0` (ready); `1` means not installed.                      |
| `telys runtime verify` | Is the installed runtime genuine and licensed? | Exit code `0` when the signature, hashes, and license all check out. |

## Steps

{% stepper %}
{% step %}

#### Check the SDK version

```bash
telys version
```

Works immediately after `pip install telys` — it does not need the runtime.
{% endstep %}

{% step %}

#### Check runtime readiness

```bash
telys runtime status
echo $?
```

Reports whether a runtime is installed for your platform. Exits `0` when ready and `1` when missing — useful in scripts and CI.
{% endstep %}

{% step %}

#### Verify the signature and license

```bash
telys runtime verify
echo $?
```

Runs the full offline integrity check on the installed runtime and exits `0` when everything is valid.
{% endstep %}
{% endstepper %}

## Expected result

`telys version` prints the version and format contract:

```
telys 0.1.9 (format v1)
```

`telys runtime status` on a provisioned machine exits `0`:

```bash
telys runtime status
echo $?          # 0 = runtime ready
```

`telys runtime verify` exits `0` when the release signature, artifact hashes, and license all pass:

```bash
telys runtime verify
echo $?          # 0 = signature, hashes, and license all valid
```

If `telys runtime status` returns `1`, the runtime is not installed — run `telys login` (or `telys runtime install`). See [**Install & runtime issues**](/troubleshooting/install-and-runtime.md).

## What verify actually checks

`telys runtime verify` is the CLI over the offline verification API in `telys.verify`. It confirms three things with no network access:

* **Release manifest signature.** The signed `telys_manifest.json` is verified (RS256 / PKCS1v15 + SHA-256) against the embedded release public key. A tampered manifest fails here.
* **Artifact hashes.** Each installed artifact's SHA-256 is compared, in constant time, to the hash recorded in the verified manifest. A swapped or corrupted library fails here.
* **License.** The `license.jwt` is verified strictly offline (RS256, pinned algorithm) against the embedded license public key, checking issuer, audience, license version, and expiry, plus the `telys` product entitlement.

{% hint style="info" %}
There is no standalone `telys verify` command. Runtime verification is `telys runtime verify`; the same checks are available programmatically through `telys.verify` (`verify_manifest`, `verify_artifact`, `verify_license`) to gate your own startup.
{% endhint %}

{% hint style="success" %}
A verified install is native-only and fail-closed: if verification does not pass, Telys refuses to load the runtime rather than falling back to something unsigned.
{% endhint %}

## Next steps

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Quickstart: your first collection</strong></td><td>Create, add, and search on-device.</td><td><a href="/quickstarts/quickstart-first-collection.md">First collection</a></td></tr><tr><td><strong>Verify the runtime signature</strong></td><td>The full trust model and manual verification.</td><td><a href="/security/runtime-signature-verification.md">Verify the runtime</a></td></tr><tr><td><strong>Install &#x26; runtime issues</strong></td><td>Fix a missing or failing runtime.</td><td><a href="/troubleshooting/install-and-runtime.md">Install &amp; runtime</a></td></tr></tbody></table>

Next: build end to end in the [**Quickstart**](/quickstarts/quickstart-first-collection.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.telys.ai/start-here/verify-install.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
