# TypeSafe

Source: https://zshot-cli.com/reference/llm_connections/typesafe/
Markdown: https://zshot-cli.com/reference/llm_connections/typesafe/index.md
Section: [Reference](https://zshot-cli.com/reference/) › [LLM Connections](https://zshot-cli.com/reference/llm_connections/)
Protocol: [`typesafe://`](https://zshot-cli.com/reference/llm_connections/) · Default model: `jev-latest`
Key env: `TYPESAFE_API_KEY` · [Roles](https://zshot-cli.com/reference/llm_connections/roles/): [Navigates](https://zshot-cli.com/reference/llm_connections/roles/#navigates)
License: [Pro](https://zshot-cli.com/support/licenses/pro)

Answers each navigation decision on TypeSafe System One by choosing among listed alternatives: the action, the page element, a provided credential or file, a dropdown option. It explains no choice and writes no text.

It fills inputs only from [`--navigator-credential`](/reference/flags/navigator/navigator-credential) values, and sets a dropdown only when the page lists its options. With no credential, it clicks buttons, links and dropdowns and leaves text fields alone. A [`writer=true`](/reference/llm_connections/options#navigator-options) navigator writes text for it: `typesafe` keeps every decision, and chooses where text is written as one more alternative.

It is shown a screenshot when the page stalls or when it asks to see the page, as `vision=stall:3` sets; `vision=off` keeps it to the page's text. ZShot sends the `TypeSafe-Danger-Zone-Images` header with each request that carries a screenshot, and scales screenshots to between 256 and 1568 pixels a side, which TypeSafe requires.

ZShot cuts a page's text past about 60,000 characters from its end, and logs each cut at `--log-level warn`.

## Options

| Option | On TypeSafe |
| --- | --- |
| `header`, `timeout`, `insecure` | As [listed](/reference/llm_connections/options) |
| [`vision`](/reference/llm_connections/options#vision-and-frames) | `stall:3` by default |
| [Navigator options](/reference/llm_connections/options#navigator-options) | Every one but `writer=true`, which exits with code 3 |

`tool=` and `body.` exit with code 3.

## Warning: LLM Output Needs Another Provider

Naming `typesafe` as `--llm-format-model`, or requesting LLM output with only a `typesafe` navigator, exits with code 3. Give it a formatter that writes text.

## Example

**CLI**

```sh
zshot -t llm_json --navigate "Open the formats page" \
  --navigator-type typesafe \
  --llm-format-model anthropic \
  -f out.json https://zshot-cli.com/
```

## Related

Flags:

- [`--navigator-type`](https://zshot-cli.com/reference/flags/navigator/navigator-type/)
- [`--navigator-credential`](https://zshot-cli.com/reference/flags/navigator/navigator-credential/)
- [`--llm-format-model`](https://zshot-cli.com/reference/flags/document/llm-format-model/)

Topics:

- [Connection String Options](https://zshot-cli.com/reference/llm_connections/options/)
- [Navigators](https://zshot-cli.com/reference/navigator/navigators/) — Pairing with a writer

## Navigation

- [Examples](https://zshot-cli.com/examples/)
- [Download](https://zshot-cli.com/download/)
- [Purchase](https://zshot-cli.com/purchase/)
- [Reference](https://zshot-cli.com/reference/)
  - [Formats](https://zshot-cli.com/reference/formats/)
  - [Flags](https://zshot-cli.com/reference/flags/)
  - [Agents](https://zshot-cli.com/reference/agents/)
  - [Configuration](https://zshot-cli.com/reference/configuration/)
  - [Crawling](https://zshot-cli.com/reference/crawling/)
  - [Docker](https://zshot-cli.com/reference/docker/)
  - [Exit Codes](https://zshot-cli.com/reference/exit_codes/)
  - [Linux](https://zshot-cli.com/reference/linux/)
  - [LLM Connections](https://zshot-cli.com/reference/llm_connections/)
    - [Connection String Options](https://zshot-cli.com/reference/llm_connections/options/)
    - [Roles](https://zshot-cli.com/reference/llm_connections/roles/)
    - [Anthropic](https://zshot-cli.com/reference/llm_connections/anthropic/)
    - [OpenAI](https://zshot-cli.com/reference/llm_connections/openai/)
    - [Google](https://zshot-cli.com/reference/llm_connections/google/)
    - [Ollama](https://zshot-cli.com/reference/llm_connections/ollama/)
    - [Mistral](https://zshot-cli.com/reference/llm_connections/mistral/)
    - [DeepSeek](https://zshot-cli.com/reference/llm_connections/deepseek/)
    - [Mercury](https://zshot-cli.com/reference/llm_connections/mercury/)
    - [Groq](https://zshot-cli.com/reference/llm_connections/groq/)
    - [HuggingFace](https://zshot-cli.com/reference/llm_connections/huggingface/)
    - **TypeSafe**
    - [Cloudflare](https://zshot-cli.com/reference/llm_connections/cloudflare/)
    - [OpenRouter](https://zshot-cli.com/reference/llm_connections/openrouter/)
    - [stdio](https://zshot-cli.com/reference/llm_connections/stdio/)
  - [LLM Formatting](https://zshot-cli.com/reference/llm_formatting/)
  - [Local Inputs](https://zshot-cli.com/reference/inputs/)
  - [Navigator](https://zshot-cli.com/reference/navigator/)
  - [Security](https://zshot-cli.com/reference/security/)
  - [Server](https://zshot-cli.com/reference/server/)
  - [Shell completions](https://zshot-cli.com/reference/shell_completions/)
  - [Storage](https://zshot-cli.com/reference/storage/)
  - [Timeouts](https://zshot-cli.com/reference/timeouts/)
  - [Web Bot Auth](https://zshot-cli.com/reference/web_bot_auth/)
- [Support](https://zshot-cli.com/support/)
- [Changelog](https://zshot-cli.com/changelog/)

Site index: https://zshot-cli.com/llms.txt

