Pular para o conteúdo principal
Um terminal comum não faz ideia do que está acontecendo dentro dele. Ele vê bytes. “Está rodando alguma coisa?”, “que comando é esse?”, “deu erro?” — nada disso está no stream. A shell integration resolve isso: o TYBA injeta um punhado de hooks no shell da sessão, e o shell passa a contar onde está — prompt começou, comando começou, comando terminou com o código tal, o diretório mudou. Configurações → Code → Shell integration. Vem ligada.

O que você ganha

Sem isso, uma sessão parada e uma sessão compilando há três minutos são visualmente idênticas.

Não mexe nos seus dotfiles

Nada é escrito no seu ~/.zshrc, ~/.bashrc ou ~/.zprofile. Nunca. Nem na instalação, nem no primeiro uso, nem quando você liga o toggle.
O TYBA escreve os arquivos de integração num diretório temporário só seu — criado com permissão 0700, verificado a cada uso (dono certo, ninguém mais entra) — e aponta o shell daquela sessão para lá, via variável de ambiente. Os arquivos dele começam sourceando os seus, e só depois instalam os hooks. Consequência: sua configuração roda inteira, na ordem de sempre, e o TYBA entra por último. Se ele falhar, o seu shell continua — os hooks foram escritos para não derrubar a sessão nem sob set -e. É o mesmo padrão que o VS Code e o iTerm2 usam. Desinstalar o TYBA não deixa resíduo em lugar nenhum: não há resíduo para deixar.

Onde funciona

O toggle se chama “Shell integration (zsh)” porque o zsh é o caminho principal e o padrão do macOS. Ele governa os dois: desligou, nem zsh nem bash recebem hooks.
O TYBA usa o $SHELL do sistema — não há shell padrão configurável. Se você quer os hooks, o caminho é ter zsh ou bash como seu shell.

Isso não é o que dá status às sessões de agente

Sessão de agente não depende da shell integration. Desligar o toggle não degrada o status dos seus agentes.
São dois canais diferentes, e vale não confundir: O agente avisa por conta própria: a ferramenta que vai rodar vira Running, o fim de turno vira Idle, um pedido de resposta vira AwaitingInput. É o mesmo canal do inbox de aprovações, e ele existe independente do seu shell — veja como o TYBA fala com o agente. O que a shell integration dá para agentes é outra coisa: a detecção de agente rodando dentro de um shell comum. Você digitou claude num pane de shell — o TYBA descobre isso pela linha de comando que o shell reporta, e é a integração que reporta.

Desligar

Configurações → Code → Shell integration, toggle off. Vale para as sessões novas — os hooks entram no nascimento do shell, então as sessões já abertas continuam como estão até você abrir outra. Motivo legítimo para desligar: seu shell tem uma config exótica e alguma coisa começou a se comportar estranho — prompt duplicado, PROMPT_COMMAND brigando, um plugin que não gosta de companhia. Desligar é o teste de duas linhas para saber se o TYBA é o culpado. O que você perde:

Veja também

Usando o terminal

O que muda e o que não muda no terminal.

Configurações do usuário

Onde mora o toggle, e o resto da seção Code.