Pular para o conteúdo principal
O TYBA sobe dois agentes:
Nenhum dos dois vem junto. O TYBA não embute, não baixa e não instala agente. Ele procura o binário no seu PATH e usa o que achar.
Instalar e manter a assinatura de cada um é com você. Sem nenhum dos dois, o TYBA continua sendo um terminal inteiro — o que você não consegue é criar sessão de agente.
O PATH consultado é o do seu shell de login, não o do processo. O TYBA roda $SHELL -lic uma vez para descobrir onde as coisas estão, e guarda o resultado.É por isso que um agente instalado via nvm, asdf ou Homebrew é encontrado mesmo quando o app abre por um lançador gráfico (o Dock, no macOS), que herda um PATH mínimo.

Criar uma sessão de agente

Os dois abrem o mesmo diálogo. Ele pergunta primeiro onde a sessão trabalha: pasta padrão, última pasta, escolher pasta, sua home, ou um host SSH. A escolha do agente vem depois — e só aparece quando a sessão é isolada em worktree. É aí que está a diferença entre os dois atalhos:
  • ⌘⇧T já entra com “Isolar em git worktree” ligado.
  • ⌘N respeita a preferência “Novas sessões isoladas por padrão” (Configurações → Preferências, desligada por padrão).
Com a preferência ligada, os dois atalhos fazem a mesma coisa.
Sessão de agente é sempre sessão em worktree. Não é uma amarração acidental: worktree, jaula, env por allowlist e inbox nascem juntos, no mesmo passo. O caminho inteiro está em Primeira sessão.Rodar claude digitando o nome dele num shell é outra coisa — e o que você perde está descrito em Agente via SSH.
A preferência “Pasta padrão para novas sessões” (Configurações → Geral) coloca uma pasta como primeira opção da lista, marcada com a etiqueta pasta padrão. Vazia = sem padrão.

Quando o binário não está lá

Só o Codex é checado antes. O diálogo testa se o codex existe e, se não existir, desabilita o botão dele com o motivo: “Binário codex não encontrado no PATH — instale o Codex CLI”.O botão do Claude Code nunca é desabilitado. Sem o claude instalado, você escolhe, envia, e só então recebe o erro do core: binário `claude` não encontrado no PATH. Ele aparece no próprio diálogo — a sessão não sobe, nada quebra, mas a descoberta é tardia.

Agente padrão do repositório

Um repositório pode pré-selecionar o agente com agent.default no .tyba/config.toml — e isso só vale depois de você aprovar aquele arquivo. As regras (e por que o consentimento é por hash) estão em Configuração do repositório.

O que a sessão informa

Duas coisas que valem saber:
Exited não desenha nada. Sessão que terminou normalmente não vira bolinha nem etiqueta — silêncio é o estado correto de quem acabou.Idle só aparece quando pede atenção. Se você já viu o resultado, o verde some.
O status aparece na entrada da sidebar e no hover card — não na aba. Quando um workspace tem várias sessões, a sidebar mostra a mais urgente: falhou > bloqueado/aguardando > concluído > em andamento.

O agente de review

Em Configurações → Code, o campo “Agente de review” decide quem recebe os comentários que você escreve num diff quando não há sessão viva naquele worktree. Havendo sessão, o prompt vai para ela. Sem sessão, o TYBA abre uma, sobe o agente escolhido e cola o prompt.
“Comando custom” não executa comando. O campo aceita uma linha (claude --model opus), mas o TYBA lê só o nome do binário e joga os argumentos fora: codex sobe o Codex, qualquer outra coisa sobe o Claude Code.Então claude --model opus sobe um Claude Code comum, sem --model opus. E aider também sobe Claude Code, em silêncio.O placeholder do campo sugere o contrário — ele está errado, e o comportamento acima é o real.
A limitação é deliberada. Uma sessão de agente precisa passar pelo runner do core: é ele que carrega os hooks, a jaula e a allowlist de ambiente. Uma linha de comando arbitrária subiria um processo sem gate de aprovação — exatamente o que o TYBA existe para impedir.

Veja também

Como o TYBA fala com o agente

De onde vem o gate de aprovação.

O composer

A caixa de prompt longo.

Configuração do repositório

agent.default e a allowlist de ambiente.

Agente via SSH

O que você perde do outro lado do cano.