Modo plan do OpenCode: alternar, planejar, construir (2026)
O modo plan do OpenCode explicado: Tab para alternar entre os agentes Plan e Build, planos somente leitura com perguntas de esclarecimento, modelos por modo e soluções quando o modo plan desaparece.
Resumo
- O OpenCode traz dois agentes primários — Build e Plan. Tab alterna entre eles; o badge da linha de status (Plan · Big Pickle, Build · MiMo) sempre mostra quem está respondendo.
- O modo plan é somente leitura por design: edições de arquivo são negadas ou exigem confirmação e comandos bash pedem aprovação — você recebe análise do repo, perguntas de esclarecimento e um documento de plano, sem nenhum arquivo modificado.
- Rode /models por modo: um modelo forte para planejar (GLM-5.2 na gravação), um gratuito barato para construir (MiMo V2.5 Free). Fixe os dois com agent.model no opencode.json.
- Modo plan "sumiu"? Atualize a CLI, procure o badge na linha de status em vez de um item de menu, remapeie o Tab se seu terminal o engolir — e lembre: o app desktop ainda está em beta.
13/13 - OpenCode - Plan mode Implementar funcionalidad
Canal: Fernando Herrera10:05
OpenCode Full Tutorial: Free Models, Skills & MCPs
Canal: Eric Tech23:11
Opencode Is Probably The Best Coding Agent I've Ever Used
Canal: DevOps Toolbox
Agents — official documentation
Docs oficiais: opencode.ai/docs
A semântica dos modos — ciclo com Tab, modelos por agente, as restrições de permissão do Plan, a flag --agent plan — foi verificada na documentação oficial de agents; os vídeos acima são as fontes visuais e de fatos. As respostas do modelo na gravação principal estão em espanhol, então os frames foram escolhidos onde a interface conta a história.
Os screenshots pertencem aos seus criadores, com deep links para o segundo exato. Nenhum frame de câmera facial é usado.
Use o modo plan do OpenCode, passo a passo
Parte 1 — Conheça os agentes Plan e Build
- 1
Abra o OpenCode e encontre o badge de modo
Rode opencode dentro do seu projeto. A interface de terminal abre com uma linha de status abaixo do prompt mostrando Plan ou Build seguido do modelo ativo — na gravação, Plan · Big Pickle OpenCode Zen. Esse badge é onde o modo plan mora: não existe um menu separado para procurar. A dica no rodapé (tab agents) já diz até como sair.

A tela de boas-vindas do OpenCode, a um Tab de tudo — a linha de status já mostra Plan · Big Pickle OpenCode Zen.Assistir em 0:50 - 2
Entenda o que é o modo plan (e o que ele recusa)
O Plan é um dos dois agentes primários do OpenCode. O Build vem com todas as ferramentas ativadas; o Plan é restrito — por padrão suas edições de arquivo são negadas ou passam por confirmação, e comandos bash perguntam antes. A documentação o descreve como o agente para quando você quer que o LLM analise código, sugira mudanças ou crie planos sem fazer nenhuma modificação real. Peça a implementação mesmo assim e ele diz não — essa recusa é a feature funcionando.

Depois de trocar o modelo, o badge mostra Plan · GLM-5.2 OpenCode Go — o Plan tem modelo próprio, separado do do Build.Assistir em 1:35 - 3
Alterne agentes com Tab
Tab cicla Plan → Build → Plan; Shift+Tab cicla de volta. Esse é o keybind agent_cycle, e é toda a troca — agente, modelo e permissões mudam juntos no meio da conversa. Prefere menus? ctrl+x a abre a lista de agentes, ctrl+p a paleta de comandos, e opencode --agent plan inicia direto no modo plan pelo seu shell.
Parte 2 — Planeje o trabalho, somente leitura
- 4
Conecte um provider para o picker não ficar vazio
Uma instalação nova não tem nada na lista de modelos até você conectar um provider. Rode /connect — ou escolha Connect provider no fim do seletor de modelos — e pegue o OpenCode Zen, a assinatura low-cost recomendada, ou traga chaves de API de Groq, GitHub Copilot, Anthropic ou Google. Modelos gratuitos como Big Pickle ou MiMo V2.5 Free dão conta deste passo a passo.

O diálogo Connect a provider: OpenCode Zen recomendado, com Groq, GitHub Copilot, Anthropic e Google abaixo.Assistir em 3:05 - 5
Dê a cada modo o seu próprio modelo
Rode /models em modo plan e escolha um modelo forte para planejar — a qualidade do planejamento decide tudo que vem depois. Depois aperte Tab e rode /models de novo para um builder mais barato; a gravação emenda GLM-5.2 no Plan com MiMo V2.5 Free no Build. Para deixar a divisão permanente, defina entradas agent.model no opencode.json.

O diálogo Select model com modelos Zen marcados como Free — a lista Recent torna a dupla troca um trabalho de dois segundos.Assistir em 1:13 - 6
Envie a tarefa; responda às perguntas do agente
Em modo plan, descreva o resultado, não os passos — a gravação pede ao OpenCode instalar Tailwind CSS num projeto HTML puro. O agente Plan inspeciona o repo em somente leitura e devolve um diálogo de múltipla escolha: tag script via CDN, instalação por npm, binário standalone, ou digite sua própria resposta. As setas escolhem; texto livre funciona quando nenhuma opção serve.

O diálogo de esclarecimento do agente Plan — quatro opções mais uma válvula de escape para respostas próprias, tudo antes de tocar em qualquer arquivo.Assistir em 3:00 - 7
Leia o plano: verificação e trade-offs
O plano pronto é um documento, não um diff: estado atual, decisões, um checklist de verificação e uma seção de trade-offs — o plano da gravação avisa que um Play CDN precisa de internet e não é para produção. Nada foi modificado ainda; os itens que você lê descrevem o que o Build fará depois da sua aprovação.

O checklist de verificação e os trade-offs do plano — custos ditos com honestidade e ainda zero arquivos modificados.Assistir em 4:58 - 8
Aprove; o OpenCode deixa pronto para o Build
O plano termina com uma pergunta de revezamento: testar este plano quando sair do modo plan, ou ajustar algo antes? Aprovar ainda não edita nada — o Plan segue somente leitura até você trocar de agente. A linha de status continua dizendo Plan; no instante em que você aperta Tab, a mesma conversa segue no Build com acesso total aos arquivos.

O plano completo com a pergunta de aprovação embaixo, e os dois badges, Plan e Build, visíveis na linha de status.Assistir em 5:10
Parte 3 — Vire para o Build e siga em frente
- 9
Tab para o Build e deixe implementar
Aperte Tab — o badge vira Build · MiMo V2.5 Free — e mande implementar. O Build tem todas as ferramentas: edita o index.html, escreve a config do Tailwind e risca uma lista de tarefas que você vê avançar. O mesmo comando em modo plan e o OpenCode recusa; a lista de tarefas e as edições só aparecem do lado do Build.

Depois do Tab, o badge mostra Build · MiMo V2.5 Free e uma lista Todos aparece quando a implementação começa.Assistir em 5:20 - 10
Mantenha as sessões organizadas
ctrl+x l abre a lista de sessões: cada conversa com nome e data, renomeável com ctrl+r, e as que você sempre retoma podem ser fixadas. As sessões ficam na pasta global do OpenCode, não no projeto, então sobrevivem a reinícios — a gravação pula de um chat de rascunho para a sessão do Tailwind sem perder um token de contexto.

O diálogo Sessions — conversas com nome e data, com fixar, excluir e renomear a uma tecla de distância.Assistir em 9:05 - 11
Prefere janelas e botões? O desktop é beta
A opencode.ai divulga, junto ao terminal, um app desktop em beta para macOS, Windows e Linux. O fluxo de Tab e badge deste guia é o da TUI, e o beta desktop é um software mais jovem — se o modo plan aparecer diferente ou sumido lá, atualize o app ou rode o opencode num terminal, onde o comportamento é documentado.

O banner da própria opencode.ai: o app desktop está disponível em beta para macOS, Windows e Linux — o terminal segue sendo a referência.Assistir em 1:10
Modo plan do OpenCode vs. modo build
Os dois são agentes primários que dividem a mesma conversa; o que muda é o que cada um pode fazer e qual modelo responde. As diferenças que importam:
- 1Permissão para mudar coisas: o Build habilita todas as ferramentas; o Plan vem com edições de arquivo negadas ou sob confirmação e bash perguntando antes. É enforcement de permissões na camada do app — não uma instrução polida que o modelo possa se convencer a ignorar.
- 2Modelo por modo: o /models vale para o agente ativo, então o Plan pode rodar um reasoner forte enquanto o Build roda um gratuito rápido — GLM-5.2 e MiMo V2.5 Free na gravação. agent.model no opencode.json fixa a divisão.
- 3Formato da saída: o Plan responde com resumos de inspeção, perguntas de esclarecimento e um documento de plano com passos de verificação e trade-offs; o Build responde com edições, arquivos criados e uma lista de tarefas.
- 4Custo de troca: um Tab, no meio da conversa, reversível com Shift+Tab. O badge da linha de status sempre nomeia o agente ativo, então um momento de "plan mode not working" costuma ser só o badge dizendo Build baixinho.
- 5Comportamento na falha: peça ao Plan para implementar e ele recusa e reformula o plano; peça ao Build e ele edita na hora. Quer mudanças? Tab primeiro — a cerimônia inteira é essa.
- 6Extensibilidade: os dois são agentes primários embutidos; agentes personalizados definidos no opencode.json ou .opencode/agents/*.md entram no mesmo ciclo do Tab — dá até para criar suas próprias variantes só de revisão ou de planejamento.
Comparado com o modo plan do Claude Code: mesma ideia, mecânica diferente. O Claude Code cicla Shift+Tab até mostrar plan mode e trava as edições até a aprovação; o sinal do OpenCode é o badge na linha de status, e a divisão de modelos por agente é configuração explícita.
Modo plan do OpenCode sumiu ou não funciona?
A maioria dos relatos de "plan mode not working" acaba em um destes pontos — nenhum fórum é necessário:
- 1Sua CLI é antiga. O ciclo de agentes e modelos por agente são recentes; se o Tab não mostra badge de Plan, confira opencode --version e reinstale com curl -fsSL https://opencode.ai/install | bash.
- 2Você está procurando um item de menu. O modo plan não tem tela de configurações — é o badge na linha de status. Se o badge diz Build, você está no modo build; um Tab e ele vira.
- 3O Tab não faz nada. Seu terminal pode estar engolindo ele. Use ctrl+x a (lista de agentes) ou ctrl+p (paleta de comandos), e remapeie o agent_cycle no tui.json para uma tecla que seu terminal não capture.
- 4Você está no beta desktop. O fluxo de Tab documentado pertence ao terminal; o app desktop é um software beta mais jovem para macOS, Windows e Linux. Atualize-o, ou rode o opencode num terminal.
- 5Um agente personalizado mudou o ciclo. Agentes definidos no opencode.json ou .opencode/agents/ também viram agentes primários e entram na rotação do Tab — o Plan pode estar um aperto mais longe, ou sua config renomeou o padrão.
- 6Confusão depois de retomar. O opencode -c reabre a última conversa, e o badge mostra qual agente está ativo agora. Dê uma olhada na linha de status ao retomar; se surpreender, um Tab resolve.
O que não quebra: a escolha de modelo. O comportamento somente leitura do Plan vem das configurações de permissão, então qualquer modelo conectado planeja em segurança — um modelo fraco só planeja pior. Se o OpenCode editasse arquivos com o badge em Plan, seria um bug a reportar; na prática, olhe o badge primeiro porque quase sempre é Build.
