> 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

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.0b2 (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.0b2 (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="/pages/3P7KO0CUnD1NfTy6KAyk">/pages/3P7KO0CUnD1NfTy6KAyk</a></td></tr><tr><td><strong>Verify the runtime signature</strong></td><td>The full trust model and manual verification.</td><td><a href="/pages/as3JvHboA5RxokqNHpAw">/pages/as3JvHboA5RxokqNHpAw</a></td></tr><tr><td><strong>Install &#x26; runtime issues</strong></td><td>Fix a missing or failing runtime.</td><td><a href="/pages/sTZH257W259P14bHy2EA">/pages/sTZH257W259P14bHy2EA</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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
