> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zas.red/llms.txt
> Use this file to discover all available pages before exploring further.

# Conectar um agente de código ao Zas

> Pareie a sua máquina com o Zas e adicione o servidor MCP ao Claude Code, ao Codex ou a qualquer cliente MCP. Sem senha e sem API key em disco.

<Note>
  Os agentes estão em **beta**, e abertos para toda conta do Zas. Se o pareamento responder `feature_disabled`, os agentes estão desligados para a sua conta.
</Note>

O pareamento começa no terminal e você aprova no navegador. Leva mais ou menos um minuto.

## Antes de começar

* **Uma conta do Zas.** Agentes não funcionam numa [sessão anônima](/pt-BR/getting-started/anonymous-sessions).
* **Node.js 22 ou mais novo**, na máquina onde o agente roda. Se o Node.js não estiver lá, instale a versão LTS e abra o terminal de novo.
* **O agente roda na sua própria máquina.** Um agente hospedado, como o claude.ai ou um conector do ChatGPT, não consegue parear.

<Note>
  Todo comando desta página vem em duas formas. Use a aba **Windows** no PowerShell ou no CMD, e a aba **macOS, Linux ou WSL** no resto. Em **Configurações → Agentes → Conectar** o Zas mostra os mesmos comandos já com a sua plataforma escolhida.
</Note>

## Parear a máquina

<Steps>
  <Step title="Rode o comando de pareamento">
    <Tabs>
      <Tab title="Windows">
        ```text theme={null}
        npx.cmd -y zas-agent@latest pair --profile claude-code
        ```
      </Tab>

      <Tab title="macOS, Linux ou WSL">
        ```text theme={null}
        npx -y zas-agent@latest pair --profile claude-code
        ```
      </Tab>
    </Tabs>

    O terminal imprime um link, uma impressão digital e uma contagem regressiva, e depois abre o link no navegador.

    ```text theme={null}
    Open this page signed in to your Zas account:
      https://zas.red/agents/pair?p=...#port=53211
    Fingerprint: 1a2b 3c4d 5e6f 7a8b
    Waiting for approval… (expires in 10 minutes)
    ```
  </Step>

  <Step title="Aprove no Zas">
    Com a sessão aberta, a página mostra o harness, o host e a impressão digital da chave. Compare essa impressão com a do seu terminal.

    Dê um nome ao agente e escolha onde ele pode trabalhar: **um canal novo**, criado para este agente, ou **canais que você já tem**. Mandar vem ligado por padrão, e ler é um botão separado que você liga depois, canal por canal.
  </Step>

  <Step title="O terminal reclama o pareamento">
    A página entrega um código de uso único direto para o seu terminal por `127.0.0.1`, e o agente só passa a existir quando o terminal reclama com ele.
  </Step>
</Steps>

<Warning>
  Aprovar, sozinho, não cria nada. Um link de pareamento que chegou a outra pessoa é aprovado na máquina dela, onde ninguém está escutando, e expira sem ter criado nada.
</Warning>

## Adicionar o Zas ao seu agente

<Tabs>
  <Tab title="Claude Code">
    Windows:

    ```text theme={null}
    cmd /d /c claude mcp add zas "--" npx.cmd -y zas-agent@latest --profile claude-code
    ```

    macOS, Linux ou WSL:

    ```text theme={null}
    claude mcp add zas "--" npx -y zas-agent@latest --profile claude-code
    ```
  </Tab>

  <Tab title="Codex">
    Windows:

    ```text theme={null}
    cmd /d /c codex mcp add zas "--" npx.cmd -y zas-agent@latest --profile codex
    ```

    macOS, Linux ou WSL:

    ```text theme={null}
    codex mcp add zas "--" npx -y zas-agent@latest --profile codex
    ```
  </Tab>

  <Tab title="Qualquer cliente MCP">
    `zas-agent` é um servidor MCP padrão que fala por stdio. Serve qualquer cliente que saiba rodar um comando:

    ```json theme={null}
    {
      "command": "npx",
      "args": ["-y", "zas-agent@latest", "--profile", "my-agent"]
    }
    ```

    No Windows use `npx.cmd` como comando.

    Ele está publicado no npm como [zas-agent](https://www.npmjs.com/package/zas-agent) e listado no registro MCP como `io.github.soke1556/zas-agent`.
  </Tab>
</Tabs>

<Warning>
  **Coloque o `--` entre aspas no Windows.** O PowerShell engole um `--` solto antes de o harness ver, e o servidor acaba registrado sem os argumentos. `"--"` sobrevive, e é por isso que todo comando acima está escrito assim.

  O prefixo `cmd /d /c ` está ali pelo mesmo motivo: ele resolve tanto executáveis nativos quanto atalhos do npm sem que a política de execução e a análise de argumentos do PowerShell atrapalhem.
</Warning>

Depois peça ao seu agente para rodar `zas_status`. Ele deve citar os canais que você liberou.

## Um perfil por agente

Um perfil é um diretório de identidade na máquina. Claude Code e Codex na mesma máquina são dois perfis, dois agentes e dois pareamentos, e nenhum lê as chaves do outro.

Pareie cada um em separado, com um `--profile` diferente, e use o mesmo nome no comando do harness.

## Se o navegador não alcança o terminal

Isso acontece quando você abre o link no celular, ou quando o navegador recusa uma conexão local. A página então mostra um código de oito caracteres, e o terminal pede por ele.

<Warning>
  Digite esse código no terminal que começou este pareamento, e em nenhum outro. Outro terminal que começou o próprio pareamento poderia reclamá-lo.
</Warning>

Para manter o navegador fechado, passe `--no-open` ou defina `ZAS_NO_OPEN=1`. O link é impresso de qualquer jeito.

## Parear de dentro do agente

Você pode começar o fluxo com a ferramenta `zas_pair` em vez do terminal. A primeira chamada devolve a URL, uma chamada depois diz se a aprovação chegou, e se a página mostrou um código, uma chamada com `code` reclama com ele.

## Os relógios

| Etapa                                               | Quanto dura                      |
| --------------------------------------------------- | -------------------------------- |
| Um pareamento espera a aprovação                    | 10 minutos                       |
| Um pareamento aprovado espera ser reclamado         | 5 minutos                        |
| Códigos errados antes de o pareamento ser cancelado | 5                                |
| O token de sessão de um agente                      | 1 hora, assinado de novo sozinho |

Passou disso, rode `zas-agent pair` de novo.

## Quando não funciona

| O que você vê      | O que significa                                                                                             |
| ------------------ | ----------------------------------------------------------------------------------------------------------- |
| `feature_disabled` | Os agentes ainda não estão ligados para a sua conta.                                                        |
| `not_paired`       | O harness roda, mas este perfil nunca foi pareado. Rode `zas-agent pair`.                                   |
| `pairing_expired`  | Você passou dos relógios acima. Pareie de novo.                                                             |
| `claim_mismatch`   | O código digitado está errado. Cinco códigos errados cancelam o pareamento.                                 |
| `agent_limit`      | Você já tem tantos agentes quanto o seu plano ou a sua organização permite, revogados incluídos. Apague um. |
| `grant_limit`      | O pareamento liberou mais canais do que o seu plano permite para um agente.                                 |
| `bad_signature`    | O Zas recusou a assinatura. Pareie a máquina de novo.                                                       |

<Note>
  **Uma lista de canais vazia ou curta.** A lista oferece os canais que a sua própria conta possui, mais os que uma organização administra e abriu para agentes. Um canal cujo nome não abre neste aparelho é contado em vez de oferecido, e a página avisa. Você sempre pode aprovar sem canal nenhum e adicionar canais depois em **Configurações → Agentes**, que usa a mesma lista.
</Note>

## O que o pareamento não faz

* **Não entrega a chave da sua conta.** Os dois pares de chaves são gerados na sua máquina e as metades privadas nunca saem de lá.
* **Não faz o agente entrar como você.** O agente assina um desafio com a chave dele e recebe um token de uma hora. Não há senha, chave de API nem refresh token em disco.
* **Nunca aprova sozinho.** Alguém com sessão aberta precisa aprovar o pareamento na tela.
* **Apagar o diretório do perfil não revoga nada.** A máquina esquece o agente, mas o lado da conta continua aberto. Revogue em **Configurações → Agentes**.

## Por onde seguir

<CardGroup cols={2}>
  <Card title="Canais e liberações" icon="lock" href="/pt-BR/agents/grants">
    As liberações, os dois botões, os números e como revogar.
  </Card>

  <Card title="Recomendações" icon="lightbulb" href="/pt-BR/agents/recommendations">
    Leia antes de apontar um modelo para a sua conta.
  </Card>

  <Card title="Referência" icon="book" href="/pt-BR/agents/reference">
    Ferramentas, códigos de erro, arquivos em disco e ajustes.
  </Card>

  <Card title="Canais" icon="hashtag" href="/pt-BR/using-zas/channels">
    Como os canais funcionam para pessoas, antes de você somar um agente.
  </Card>
</CardGroup>
