English •
Français •
Español •
Bahasa Indonesia •
简体中文 •
Português (Brasil)
Um aplicativo desktop multiplataforma para gerenciar projetos
Claude Code
com terminal integrado, fluxos de trabalho git, gerenciamento de plugins
e muito mais.
Site •
Baixar •
Twitter •
Buy Me a Coffee
---
## 📊 Saúde do projeto
### Contribuidores
### Atividade
[](https://github.com/Sterll/claude-terminal/graphs/commit-activity)
[](https://github.com/Sterll/claude-terminal/commits/main)
[](https://github.com/Sterll/claude-terminal/issues)
[](https://github.com/Sterll/claude-terminal/pulls)
### Internacionalização (i18n)
| Idioma | Cobertura | Chaves |
| --- | --- | --- |
| 🇺🇸 Inglês (base) | ![100%][i18n-en-badge] | 3641 / 3641 |
| 🇫🇷 Francês | ![i18n fr][i18n-fr-badge] | 3641 / 3641 |
| 🇪🇸 Espanhol | ![i18n es][i18n-es-badge] | 3641 / 3641 |
| 🇮🇩 Indonésio | ![i18n id][i18n-id-badge] | 3641 / 3641 |
| 🇨🇳 Chinês simplificado | ![i18n zh-CN][i18n-zh-cn-badge] | 3641 / 3641 |
> Os selos de cobertura são atualizados automaticamente a cada push nos arquivos de idioma.
> Veja [`.github/i18n-coverage.md`](.github/i18n-coverage.md) para detalhes e
> instruções sobre como adicionar um novo idioma.
[i18n-en-badge]: https://img.shields.io/badge/i18n-100%25-brightgreen
[i18n-fr-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_fr.json
[i18n-es-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_es.json
[i18n-id-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_id.json
[i18n-zh-cn-badge]: https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/Sterll/ec1241ea62520261790ef5a411b4b212/raw/i18n_zh-CN.json
---
## Sumário
- [Pré-requisitos](#pré-requisitos)
- [Instalação](#instalação)
- [Funcionalidades](#funcionalidades)
- [Uso](#uso)
- [Compilação](#compilação)
- [Testes](#testes)
- [Atalhos de teclado](#atalhos-de-teclado)
- [Arquitetura](#arquitetura)
- [Contribuindo](#contribuindo)
- [Segurança](#segurança)
---
## Pré-requisitos
- [Node.js](https://nodejs.org/) 18+
- [Claude Code](https://github.com/anthropics/claude-code) instalado globalmente
- **Windows** 10 ou 11
- **macOS** 12+ (Intel ou Apple Silicon)
- **Linux** Ubuntu 22.04+, Fedora 38+ ou equivalente
- O AppImage exige `libfuse2` no Ubuntu 24.04+: `sudo apt install libfuse2`
- O armazenamento do token do GitHub exige `libsecret`: `sudo apt install libsecret-1-dev gnome-keyring`
## Instalação
Baixe o instalador mais recente em [Releases](https://github.com/Sterll/claude-terminal/releases).
> [!IMPORTANT]
> **Usuários de macOS:** se aparecer *"Claude Terminal is damaged and can't be opened"*, execute isto no Terminal:
> ```bash
> xattr -cr /Applications/Claude\ Terminal.app
> ```
> Isso é necessário porque o app ainda não tem assinatura de código. Como alternativa, clique com o botão direito no app → Abrir.
Ou compile a partir do código-fonte:
```bash
git clone https://github.com/Sterll/claude-terminal.git
cd claude-terminal
npm install
```
---
## Funcionalidades
### Interface de chat (Claude Agent SDK)
- Interface de chat integrada, baseada no Claude Agent SDK, com respostas em streaming
- Fechar uma aba de chat cancela a inicialização pendente e encerra a sessão do SDK; prompts atrasados não conseguem reabrir uma aba fechada.
- **Renderização rica de markdown**: diagramas mermaid, matemática KaTeX, código com realce de sintaxe, árvores de arquivos, quadros kanban, blocos de diff, pré-visualizações HTML e mais
- **Cartões de permissão**: Permitir, Sempre permitir ou Negar pedidos de uso de ferramentas; quando uma das suas próprias regras `permissions.ask` dispara o pedido, o cartão cita essa regra e esconde o Sempre permitir, para que ela não seja descartada com um clique
- **Modo de planejamento**: revise e aprove/rejeite os planos do agente antes da execução
- **Blocos de raciocínio**: seções expansíveis que mostram o raciocínio do Claude
- **Cartões de ferramenta**: cartões recolhíveis que mostram a execução das ferramentas com detalhes formatados, incluindo atualização de ferramentas MCP, envio de feedback e ações de proposta de skill
- **Visualização de subagentes**: acompanhamento aninhado das tarefas dos agentes criados, com o resumo de cada subagente mostrando o branch do seu git worktree e qualquer troca de modelo durante a execução
- **Widget de tarefas**: lista de tarefas persistente acima do campo de entrada, que some sozinha ao concluir
- **Anexos**: cole, arraste e solte ou escolha imagens PNG/JPEG/GIF/WebP (até 20MB), além de arquivos de texto e PDFs
- **Comandos de barra**: comandos com autocompletar (/compact, /clear, /help, skills personalizadas)
- **@menções inline**: o campo de entrada contenteditable permite digitar @menções inline sem sair da área de composição da mensagem
- **Retrocesso de arquivos**: reverta o contexto do chat para um estado anterior dos arquivos via checkpoints do SDK, útil para desfazer edições indesejadas no meio da sessão
- **Controle de custos**: nome do modelo, contagem de tokens e custo em USD na barra de status
- **Janela de contexto de 1M**: contexto estendido para bases de código maiores (somente no modo API)
- **Troca dinâmica de modelo e esforço**: o seletor de modelo é montado em tempo real a partir do catálogo do próprio Claude CLI, então modelos recém-lançados (por exemplo, Fable 5.1) aparecem automaticamente; troque o modelo e o nível de esforço (low, medium, high, xhigh) no meio da conversa sem abrir uma nova sessão
- **Modelo, esforço e modo de permissão por conversa**: cada aba guarda suas próprias configurações, então uma escolha em uma conversa nunca vaza para a próxima. Os valores salvos são apenas os padrões com que uma nova aba começa, alterados pela linha "Usar em novas conversas" de cada menu
- **Modos de permissão**: alterne entre padrão, aceitar edições, planejamento e ignorar permissões direto do compositor, no meio da sessão
- **Nível de modelo Premium**: os modelos da família Fable são destacados em violeta com um selo "Premium", uma marcação na aba e um aviso quando uma nova aba herda um deles, porque a família consome seu próprio limite de uso
- **Gaveta de tarefas em segundo plano**: uma gaveta recolhível, restrita à sessão atual, mostra o que o Claude está executando em segundo plano, para você continuar conversando enquanto ele termina
- **Biblioteca de artefatos e aba Documentos**: arquivos e trechos gerados pelo Claude são salvos em uma biblioteca de artefatos reutilizável e também aparecem em uma aba Documentos por conversa para acesso rápido, com um painel Artefatos dedicado listando tudo o que foi publicado para o projeto
- **Busca na conversa**: pressione Ctrl+F para buscar na transcrição da conversa atual
- **Fixar conversas**: mantenha sessões importantes no topo da lista
- **Bifurcar sessões**: crie um ramo a partir de qualquer mensagem para explorar caminhos alternativos; o Claude Terminal avisa em vez de descartar se um turno na fila fosse ser perdido
- **Sugestões de continuação**: chips de sugestão sensíveis ao contexto aparecem depois que o Claude responde, para ajudar a guiar a conversa
- **Resumos de sessão**: resumos gerados automaticamente por IA das sessões concluídas
- Digite @project para anexar o README.md e a árvore de arquivos de qualquer projeto como contexto
- Digite **@tab** para compartilhar sua sessão de terminal atual ou **@conversation** para referenciar outra conversa
- Digite **@context** para injetar um pacote de contexto ou **@prompt** para inserir um modelo de prompt salvo direto na sua mensagem
- **Aprimoramento de prompt**: reescrita da sua mensagem por IA com um clique, usando o Haiku, para instruções mais claras antes de enviar
- Interrompa o streaming no meio do turno; nomes de abas gerados automaticamente pelo modelo haiku
- Indicador de compactação exibido durante a compactação da conversa, para você saber quando o contexto está sendo comprimido
### Terminais
- Vários terminais Claude Code por projeto, com interface em abas
- Renderização acelerada por GPU via xterm.js + WebGL (com fallback para DOM)
- Alterne entre modo terminal e modo chat em cada aba
- Reordenação de abas por arrastar e soltar, renomeação, notificações na área de trabalho
- Filtre terminais por projeto
- Detecção adaptativa de prontidão com status em spinner
- Saída do terminal capturada, para que as ferramentas de leitura de terminal e as ferramentas MCP realmente retornem o que foi executado
### Navegação
- Escolha como navegar pelos projetos: uma barra de abas de projeto no topo ou uma coluna clássica de projetos na lateral
- Perguntado uma vez no assistente de configuração inicial, e alterável a qualquer momento nas Configurações
### Arquivos
- Uma tela Arquivos dedicada mostra cada arquivo tocado em uma sessão, com diffs por sessão renderizados no estilo do GitHub
- Revise rapidamente o que o Claude mudou sem sair do contexto do chat
- Ou mantenha a árvore do projeto encaixada ao lado da conversa, como era antes da tela Arquivos
### Contas
- Vincule uma conta Claude separada a cada projeto, com seu próprio armazenamento de credenciais isolado
- Troque de projeto sem trocar de conta manualmente, e sem que o login de um projeto afete o de outro
- Uso por conta exibido nas Configurações, e uma troca por limite de uso que leva a conversa junto
### Claude Remote Control (claude.ai e celular)
- Coloque uma sessão de chat no [claude.ai/code](https://claude.ai/code) e no app móvel do Claude, para acompanhá-la ou conduzi-la pelo celular
- Decidido **por conversa**, nunca globalmente: uma sessão entra quando você pede naquela aba, pelo botão do rodapé ou pelo comando `/remote-control`
- Espelho somente leitura ou controle total, você escolhe; prompts, interrupções e respostas de permissão voltam todos para o desktop
- `--rc` opcional nas abas de terminal para que as sessões do CLI também entrem
- Uma aba **Conectividade → claude.ai** lista cada conversa compartilhada, com um caminho de volta para cada aba
- Respeita a chave de desligamento `disableRemoteControl` das configurações gerenciadas do Claude Code, para que uma política da organização não possa ser suspensa pelo app
### Claude in Chrome
- Permita que as sessões de chat controlem seu navegador pela extensão Claude para Chrome
- Adiciona à sessão o servidor MCP `claude-in-chrome` e suas 22 ferramentas de navegador
- Opcional, e adota o native messaging host já existente do Claude Code em vez de sobrescrevê-lo
### Voz
- Dite mensagens para o campo do chat pelo microfone (transcrição via Groq)
- Modo de ditado literal com roteamento para a aba em foco, para que suas palavras caiam na conversa certa
- Perfil de sessão mãos-livres para sessões totalmente guiadas por voz
- Pronuncia os nomes dos projetos do jeito que você os diria, para que as @menções por voz sejam resolvidas corretamente
### Gerenciamento de projetos
- Organize projetos em pastas aninhadas com arrastar e soltar
- Personalize cada projeto com cores e ícones emoji
- Barra de Ações rápidas: comandos de um clique configuráveis por projeto (build, test, deploy, scripts personalizados...)
- Explorador de arquivos integrado com visualização em árvore, seleção múltipla, busca, indicadores de status do git e renomeação inline; clique com o botão direito em qualquer arquivo para anexá-lo como contexto no chat atual
- Sistema modular de tipos de projeto (padrão, FiveM, webapp, Python, API, Minecraft, bot do Discord)
- Modal de configurações por projeto
### Integração com Git
- **Branches**: alterne, crie e exclua, com visualização em árvore dos branches locais/remotos
- **Sincronização**: pull (rebase), push, merge com detecção e resolução de conflitos
- **Painel de alterações**: veja arquivos staged/unstaged/untracked, faça stage/unstage e commit
- **Histórico de commits**: grafo de commits no estilo IntelliJ com renderização SVG, filtro por branch/autor, rolagem infinita
- **Cherry-pick e revert**: operações avançadas de commit a partir do histórico
- **Gerenciamento de worktrees**: crie, alterne e exclua Git worktrees, com um selo de troca rápida na barra de ferramentas
- **Gerenciamento de stash**: salve, aplique, faça pop e inspecione stashes
- **Busca no histórico**: busca de texto completo no histórico de commits
- **Descartar alterações**: descarte rapidamente edições unstaged por arquivo
- **Amend de commits**: edite a mensagem ou o conteúdo staged do último commit antes do push
- **Mensagens de commit com IA**: gere automaticamente mensagens de commit convencionais via GitHub Models API
- **Pull Requests**: crie e visualize PRs direto do app
### Integração com GitHub
- Autenticação por OAuth Device Flow (segura, sem copiar e colar token)
- **Suporte ao GitHub Enterprise**: conecte-se a instâncias auto-hospedadas do GitHub Enterprise
- **Busca de repositórios no assistente de clone**: busque repositórios do GitHub pelo nome sem sair do app
- **Pílula de status de CI/CD**: status em tempo real da última execução de workflow, exibido direto na barra de cabeçalho do terminal, com um botão Corrigir para ir direto à etapa que falhou
- Veja as execuções de workflows de CI/CD por repositório
- Veja, crie e revise pull requests pelo app; suporte a várias forjas (GitHub, GitLab)
- Token armazenado com segurança via keytar (Windows Credential Manager, macOS Keychain, Linux libsecret)
### Control Tower
- Visão geral em tempo real de todos os agentes Claude ativos em todos os projetos
- Veja o que cada agente está fazendo (ferramentas em execução, status atual, última atividade)
- Visão em grade: um cartão por sessão aberta, agrupado por projeto, com miniaturas do terminal ao vivo, selo do modelo e botões de nova sessão por projeto
- Filtros e ordenação: por projeto, por status, busca por texto, ordenado pela sua última interação
- Visão em foco: maximize qualquer sessão dentro do painel com uma tira das outras sessões do projeto, títulos de sessão editáveis e salto com um clique para a visão do Claude
- Sessões concluídas continuam destacadas até você vê-las, para que nenhum trabalho terminado passe despercebido
- Interrompa qualquer sessão em execução direto do painel
- Responda a prompts AskUserQuestion sem mudar para a aba do chat
- Ferramentas MCP para monitoramento de agentes e interrupção remota
### Tarefas paralelas
- Decomponha uma funcionalidade em subtarefas paralelas e execute-as simultaneamente como agentes Claude separados
- Cada tarefa roda no seu próprio Git worktree e branch, mantendo o trabalho isolado
- O modo automático deixa o Claude decidir o número ideal de tarefas paralelas
- Cartões de tarefa recolhíveis com visualizador de diff e acesso ao terminal por tarefa
- Agente de auto-merge: o Claude revisa e faz merge dos branches concluídos no seu branch principal
- Estado completo da execução persistido em disco e restaurado ao reiniciar o app
### Replay de sessões
- Navegue pelas sessões anteriores do Claude Code e reproduza-as passo a passo
- A linha do tempo mostra todos os prompts, chamadas de ferramentas e respostas em ordem cronológica
- Barra de rolagem no estilo de player de vídeo para saltar para qualquer ponto da sessão
- Cartões de perguntas e respostas destacam as trocas de pergunta e resposta para facilitar a revisão
### Painel
- Abra o projeto selecionado direto pela barra superior; ações e dados em cache aparecem imediatamente enquanto Git, estatísticas de código e dados do GitHub carregam progressivamente
- Três subvisões: **Visão geral**, **Kanban** e **Linha do tempo**
- Visão geral: branch atual, commits à frente/atrás, commits recentes, contribuidores
- Estatísticas de código: linhas de código por linguagem, número de arquivos, número de commits
- Contagem de terminais ativos
- Monitoramento de uso da API do Claude com atualização automática
- **Linha do tempo do projeto**: todos os registros que o app já mantém, reunidos em uma única visão cronológica — commits, sessões do Claude, tempo registrado, execuções de workflows, execuções paralelas e artefatos — filtrável por período e por tipo, para que "o que aconteceu com este projeto" seja uma tela em vez de seis
### Controle de tempo
- Detecção automática de sessões por projeto (tempo de inatividade de 15 min, detecção de suspensão/retomada)
- Armazenamento leve separado (`timetracking.json`) com arquivos mensais
- Visualização por período: hoje, esta semana, este mês, intervalo personalizado
- Estatísticas: média diária, maior sequência, gráficos de evolução, sessões recentes
- Virada à meia-noite e checkpoints periódicos
### Hooks
- Integração com os hooks do Claude Code CLI para acompanhamento de atividade em tempo real
- Instalação com um clique em `~/.claude/settings.json` (não destrutiva, preserva os hooks do usuário)
- Tipos de hook: PreToolUse, PostToolUse, Notification, SessionStart, Stop, DirectoryAdded (disparado em `/add-dir`) e mais
- Barramento de eventos com eventos normalizados para acompanhamento de sessões, ferramentas e subagentes
- Leitura da saída do terminal como alternativa quando os hooks não estão disponíveis
### Plugins
- Navegue e descubra plugins dos marketplaces configurados
- Instale plugins direto pelo app (via Claude CLI)
- Adicione marketplaces da comunidade pela URL do GitHub
- Filtro por categoria e busca
- Veja os detalhes e o README dos plugins
### Marketplace de skills
- Busque e navegue pelas skills disponíveis
- Instalação e desinstalação com um clique
- **Verificação de atualizações**: veja quais skills e plugins instalados têm novas versões disponíveis
- Veja o README e os detalhes das skills
- Cache local para navegação rápida
### Biblioteca
- Gerencie **pacotes de contexto** reutilizáveis (documentos, trechos, conteúdo de arquivos) e **modelos de prompt**
- Injete pacotes de contexto ou modelos de prompt direto no chat pelas menções @context e @prompt
- Insira modelos de prompt em qualquer terminal com um clique pela barra de ferramentas
- Gere skills e agentes em segundo plano usando o Agent SDK
### Skills e agentes
- Navegue e gerencie skills e agentes do Claude Code
- Veja os arquivos SKILL.md e de configuração dos agentes
- **Editor com realce de sintaxe**: edite arquivos de skills e agentes com números de linha e realce de código completo via highlight.js
- Carregue skills de `~/.claude/skills`, de plugins e de recursos embutidos
### Servidores MCP
- Configure, inicie e pare servidores MCP
- Configuração de variáveis de ambiente
- **MCP Registry**: navegue e busque no registro público de servidores MCP
### Sessões
- Veja as sessões do Claude Code por projeto
- Navegue pelo histórico de sessões com datas e metadados
- Fixe sessões no topo e renomeie-as inline pelo diálogo de retomada
- Modal de retomada de sessão modernizado, com busca e sessões fixadas
- As sessões mostram o título real da conversa em vez de uma data, e podem ser buscadas pelo id
- **Mover uma sessão para outro projeto**: realoque uma conversa sem perder o histórico
- Nomes de abas personalizados ficam travados e não são mais sobrescritos silenciosamente pela nomeação automática
### Memória e conhecimento global
- Edite os arquivos CLAUDE.md globais, de configurações e específicos de cada projeto
- Inserção de modelos para padrões comuns
- **Conhecimento global**: um repositório de fatos, convenções e preferências entre projetos, uma entrada markdown para cada, disponível em todas as sessões
- Fixe, ative/desative e busque entradas; as ativas são sincronizadas em um bloco marcado em `~/.claude/CLAUDE.md`, com uma pré-visualização do bloco antes de ser gravado
- Ferramentas MCP (`knowledge_list`, `knowledge_write`, `knowledge_search`...) para que o próprio Claude possa lê-las e escrevê-las
### Kanban
- Um quadro kanban por projeto, com colunas personalizadas, arrastar e soltar entre elas e arquivamento
- Níveis de prioridade, prazos, tags e responsáveis nos cartões
- Filtro, busca e estatísticas por coluna
- Conjunto completo de ferramentas MCP, para que o Claude possa criar e mover cartões enquanto trabalha, e um nó de workflow `kanban_create_card`
### Log de erros
- Log centralizado de cada erro capturado pelo app: falhas de IPC, erros de serviço, exceções e rejeições não tratadas
- Filtro por nível e por domínio, com detecção automática de padrões para agrupar falhas repetidas
- **Diagnóstico por IA** de uma entrada, e exportação para um relatório de bug
- `critical` significa que o app realmente quebrou (uma exceção ou rejeição não tratada), não apenas que algo foi registrado
- Ferramentas MCP para que o Claude possa ler o log enquanto depura
### Configurações
- Tema com cor de destaque (paletas predefinidas + hex personalizado)
- Tamanho da fonte do terminal (10 a 24 px), aplicado em tempo real aos terminais abertos
- Personalização de cores por agente e por ferramenta nos cartões de ferramenta do chat
- Idioma: inglês, francês, espanhol, indonésio e chinês simplificado, com detecção automática
- Integração com editores: VS Code, Cursor, WebStorm, IntelliJ IDEA
- Atalhos de teclado personalizáveis
- Preferências de notificações na área de trabalho
- Comportamento ao fechar (perguntar, minimizar para a bandeja ou sair)
- Opção de iniciar com o sistema
- Atualizações automáticas com download em segundo plano e banner de instalação, seguidas de um painel **Novidades** na próxima inicialização que começa pelo que mudou e depois traz as notas de versão completas
- **Discord Rich Presence**: mostre no seu status do Discord o projeto em que você está trabalhando (no estilo do VSCode), com opção de ocultar o nome do projeto por privacidade; ative ou desative nas Configurações
- **A telemetria é opcional e vem desativada**: nada, anônimo ou não, é coletado a menos que você a ative nas Configurações
### Automação de workflows
- **Automações**: um modo simples, sem grafo, para tarefas comuns — descreva o que o Claude deve fazer e quando em um formulário simples, sem editor de nós nem sintaxe cron, com seis modelos iniciais
- As automações podem ser disparadas por eventos em vez de um agendamento: atividade no git, alteração de arquivo, término de um comando, fim de uma sessão do Claude, resposta do Claude (com filtro de texto opcional) ou abertura de um projeto — cada evento observa o projeto que você escolheu, independentemente de onde o Claude roda
- Editor visual de workflows baseado em nós, com motor de canvas próprio (no estilo Blueprint)
- **31 tipos de nó**: shell, git, HTTP, Claude (prompt/agente/skill), condição, loop, transformação, switch, subworkflow, banco de dados, arquivo, projeto, tempo, variável, obter variável, gatilho, código (executa um trecho de JavaScript), template (monta strings a partir de variáveis), terminal, ação rápida, notificação, notificação no Discord, log, espera, nova tentativa, tratamento de erro, webhook, execução paralela, resumo de sessão, cartão kanban, documento do workspace
- Pinos de dados tipados com fluxo de dados visual entre os nós
- Painel de assistente de IA para edição do grafo e criação de nós em tempo real
- Desfazer/refazer, copiar/colar, alinhar à grade, minimapa, comentários
- Histórico de execuções com progresso de loops ao vivo e inspeção da saída de cada etapa
- Hub da comunidade para compartilhar e importar workflows
- **12 tipos de gatilho**: manual, cron, hook, webhook, on-workflow, mensagem no chat, alteração de arquivo, evento git, projeto aberto, código de saída do terminal, início de sessão do Claude, fim de sessão do Claude
- Ferramentas MCP para controle completo dos workflows a partir do Claude Code
### Conectividade (remoto e nuvem)
- Os segredos de bancos de dados ficam no chaveiro do sistema. Variáveis de ambiente e cabeçalhos de autorização do MCP permanecem locais em cada máquina durante a sincronização.
- Importações e clones recusam projetos existentes, preparam o conteúdo em diretórios temporários e aplicam limites na extração de arquivos compactados.
- **Aba Conectividade** unificada, reunindo acesso remoto local e sincronização em nuvem em um só lugar
- Servidor relay Docker auto-hospedado para acesso remoto aos projetos
- Upload de projetos e sincronização automática com monitor de arquivos e resolução de conflitos
- **Sincronização por entidade**: escolha exatamente quais dados são sincronizados (projetos, configurações, skills, agentes, configurações MCP, atalhos, memória, hooks, arquivos)
- **Retomada de sessão pela nuvem**: continue qualquer sessão a partir de outra máquina
- **Notificações entre máquinas**: seja notificado no seu desktop quando uma sessão na nuvem terminar
- Sessões headless do Claude rodando em uma instância de nuvem pessoal (um usuário por contêiner e volumes dedicados); desative `CLOUD_ENABLED` para um relay/sincronização multiusuário sem execução de agentes
- Modal de diff para comparar arquivos locais com os da nuvem
- Perfis de usuário e gerenciamento de sessões
- Script de instalação automatizado com Docker, proxy reverso e configuração de SSL
### Projetos remotos SSH
- Abra um projeto que fica em outra máquina via SSH, no estilo do IntelliJ Gateway: o aplicativo continua sendo a interface, enquanto terminais, chat do Claude, git e arquivos rodam no host
- Usa o cliente OpenSSH do sistema, então `~/.ssh/config`, chaves, `ssh-agent`, ProxyJump e o encaminhamento de agente funcionam exatamente como em um terminal. O aplicativo não guarda senhas nem chaves: uma senha é digitada no próprio prompt do OpenSSH e nunca é salva
- **Abrir projeto remoto**: escolha um perfil de host salvo, navegue pelas pastas e então abra uma, crie uma, rode `git init` ou clone um repositório nela
- Um selo de host em cada projeto remoto mostra o estado da conexão. Uma conexão perdida se restabelece sozinha, e as abas de terminal e de chat continuam de onde pararam (dentro do tmux, se você ativar)
- O Claude Code roda no host (precisa estar instalado lá, e o aplicativo avisa quando não está), e o histórico de sessões é lido do host
- O painel Git, o dashboard, o explorador de arquivos, a tela Arquivos, as abas de arquivos e os diffs funcionam no host. VS Code, Cursor e Windsurf abrem os arquivos remotos pela extensão Remote-SSH
- Nada é instalado no host: nenhum agente, nenhum daemon, apenas uma sessão `sh` por conexão
- Recursos que só fazem sentido localmente (dashboards por tipo de projeto, tarefas paralelas, nós de workflow que rodam nesta máquina, vínculo de conta, envio para a nuvem, Abrir no Explorer) aparecem desativados, com o motivo como dica
### Painel de banco de dados
- Suporte a vários drivers: SQLite, MySQL, MariaDB, PostgreSQL, MongoDB
- **Navegador Redis**: explorador de chaves em árvore com inspeção de valores ciente do tipo
- Navegador de dados em painéis divididos com edição inline
- Editor de consultas SQL com realce de sintaxe, modelos e execução de múltiplas instruções
- Inserção/exclusão de linhas, filtro de busca
- Seletor de banco de dados personalizado para trocar de conexão rapidamente
- Pool de conexões com descarte por inatividade
### Workspace
- Hubs de conhecimento **entre projetos**: agrupe projetos relacionados com uma base de conhecimento compartilhada, para que o contexto que abrange vários repositórios tenha onde ficar
- Documentos markdown da base de conhecimento com tags e busca de texto completo em todo o workspace
- **Links de conceitos**: registre relações entre entidades (`Web App depends-on API Service`) e veja-as como um grafo
- **Chat consultor**: faça perguntas sobre seu workspace e receba respostas baseadas no conteúdo da sua base de conhecimento
- **Menção @workspace**: digite @workspace no chat para injetar a base de conhecimento do seu workspace como contexto
- Ferramentas MCP para ler e escrever o conteúdo do workspace a partir do Claude Code
### Servidor MCP (claude-terminal)
Um servidor MCP unificado, configurado automaticamente pelo app, que expõe o próprio Claude Terminal ao Claude Code. **23 módulos de ferramentas**, carregados dinamicamente — basta colocar um novo arquivo `.js` em `resources/mcp-servers/tools/` para registrá-lo.
| Módulo | O que oferece ao Claude |
| --- | --- |
| `projects` | Listar projetos, informações do projeto, varredura de TODO/FIXME |
| `timetracking` | Hoje, esta semana, estatísticas por projeto e resumo |
| `sessions` | Listar, reproduzir, busca por palavra-chave entre projetos, resumo de sessão |
| `workflow` | Criar, editar, executar, cancelar, diagnosticar, logs de execução, variáveis |
| `automation` | Listar, visualizar, criar, atualizar, ativar/desativar e excluir Automações |
| `parallel` | Iniciar, listar, inspecionar, cancelar, fazer merge e limpar execuções paralelas |
| `kanban` | Colunas e cartões: adicionar, mover, atualizar, filtrar, estatísticas |
| `knowledge` | Fatos entre projetos: listar, obter, buscar, escrever, excluir |
| `workspace` | Listar, informações, ler/escrever documentos da base, buscar, links de conceitos |
| `artifacts` | Listar, obter, buscar, versões, estatísticas, excluir |
| `database` | Consultar, listar/descrever tabelas, esquema completo, estatísticas, exportar |
| `terminal` | Criar, listar, enviar um comando, ler a saída, fechar |
| `tabs` | Orquestração de abas com controle de permissões |
| `sidebar` | `ui_navigate` e `ui_state` para controlar e ler o painel visível |
| `control-tower` | Listar agentes ativos, interromper um remotamente |
| `errorlog` | Entradas, estatísticas, padrões, exportar, limpar |
| `usage` | Ler e atualizar o uso do Claude |
| `settings` | Obter e definir configurações do app |
| `marketplace` / `plugins` | Buscar, instalar e desinstalar skills e plugins |
| `webapp` / `fivem` / `discord` | Ferramentas por tipo de projeto |
Um `database-mcp-server.js` especializado também é distribuído para uso exclusivo com bancos de dados.
### Pré-visualização de WebApp
- Pré-visualização ao vivo com webview do Chromium (substitui o iframe)
- Feedback visual com anotações de vários pinos por página
- Verificador de breakpoints responsivos
- Scanner de detecção automática de problemas visuais
- Ferramenta de régua para medir espaçamentos
- Painel de auditoria de acessibilidade com axe-core
### Controle remoto (PWA auto-hospedado)
- PWA móvel para controle remoto pelo celular ou navegador, servido pelo próprio app
- Relay em nuvem para acesso fora da sua rede local (via servidor auto-hospedado)
- Monitoramento de sessões em tempo real, interação com o chat e troca de projeto
- Autenticação por PIN de 6 dígitos com QR code
- Totalmente traduzido, com sua própria content-security-policy, e a transcrição sobrevive a mais de um turno
> [!NOTE]
> Este é o controle remoto **auto-hospedado**, diferente do [Claude Remote Control](#claude-remote-control-claudeai-e-celular), que coloca uma sessão no claude.ai e no app móvel oficial do Claude. Você pode usar um, o outro ou os dois.
### Personalização da barra lateral
- Arraste e solte as abas da barra lateral para reordená-las conforme seu fluxo de trabalho
- Fixe as abas mais usadas; as menos usadas ficam recolhidas em um menu Mais
- Personalize por um modal ou arrastando diretamente
### Paleta de comandos
- Paleta de comandos unificada (Ctrl+P) com busca aproximada em projetos, comandos e ações rápidas
- Lançador inteligente com carregamento em esqueleto animado e destaque das correspondências
- Navegue para qualquer painel ou dispare qualquer ação sem tocar no mouse
### Atualizações automáticas do CLAUDE.md
- Ao fim de uma sessão, o Claude analisa a conversa e propõe acréscimos relevantes ao CLAUDE.md do seu projeto
- Revise e aceite as sugestões em um modal no estilo diff antes que sejam aplicadas
### Outros
- **Restauração de sessão**: salve e restaure sessões completas do espaço de trabalho entre reinicializações
- **Visualizadores de arquivos**: visualizador de .md, visualizador de PDF e visualizador de modelos 3D (.glb, .gltf, .obj) integrados no painel do terminal
- **Insights do painel**: selos de saúde do projeto e mapa de calor de commits
- **Monitor do explorador de arquivos**: atualização automática da árvore quando o sistema de arquivos muda
- **Menus de contexto das abas**: clique com o botão direito em qualquer aba para ações rápidas
- **Persistência do estado da janela**: lembra posição, tamanho e estado maximizado
- Assistente de configuração na primeira execução com instalação opcional dos hooks
- Integração com a bandeja do sistema com ícone na cor de destaque
- Notificações toast personalizadas com empilhamento, transparência para cliques e botões de ação
- Atalhos globais (`Ctrl+Shift+P` / `Cmd+Shift+P` seletor rápido, `Ctrl+Shift+T` / `Cmd+Shift+T` novo terminal)
- Trava de instância única
- Instalador NSIS personalizado com imagens da marca (Windows), DMG (macOS), AppImage (Linux), Snapcraft, Flatpak
- Gerenciamento de servidores FiveM (inicialização, console integrado, varredura de recursos, assistente de criação de recursos)
- Tipo de projeto Minecraft com gerador de plugins Java e scripts de inicialização adaptados à plataforma
- Gerenciamento de web apps com detecção automática de framework e templates de scaffold
- Detecção de projetos Python (versão, venv, dependências, ponto de entrada)
- Tipo de projeto API com testador de rotas integrado, variáveis e console
- **Tipo de projeto bot do Discord**: construtor visual de embeds e componentes com pré-visualização ao vivo
## Uso
```bash
# Install dependencies once
npm install
# Build renderer and run the app
npm start
# Run with DevTools open
npm run start:dev
# Build renderer in watch mode (for development)
npm run watch
```
> [!TIP]
> Se você modificar arquivos em `src/renderer/`, `src/project-types/` ou `renderer.js`, execute `npm run build:renderer` antes de empacotar ou abrir um PR.
## Compilação
```bash
# Build for current platform
npm run build
# Build for a specific platform
npm run build:win # Windows (NSIS installer)
npm run build:mac # macOS (DMG)
npm run build:linux # Linux (AppImage)
```
O instalador será gerado no diretório `build/`.
## Testes
```bash
# Run the test suite (149 Jest suites, jsdom)
npm test
# Watch tests during development
npm run test:watch
# ESLint over main, renderer, shared, MCP servers and scripts
npm run lint
npm run lint:fix
# Fail if CLAUDE.md has drifted from the tree it describes
npm run check:docs
# Playwright smoke test against the real Electron app
npm run test:e2e
```
A CI executa três jobs a cada push e PR: `lint` (rápido, falha primeiro), `test` (Node 18
e 20 no Windows, Linux e macOS) e `e2e` (Ubuntu sob `xvfb-run`). O job E2E é
**bloqueante**: ele abre o app real, percorre cada aba da barra lateral e falha em qualquer
erro no console do renderer ou crash do processo principal.
`npm run test:e2e` fica fora do `npm test` porque precisa de uma tela e de um bundle do
renderer já compilado. Executá-lo localmente também exige os módulos nativos compilados
para a ABI do Electron (`npm run postinstall`).
---
## Atalhos de teclado
| Atalho | Ação |
| --- | --- |
| `Ctrl+Shift+P` | Seletor rápido de projetos (global) |
| `Ctrl+Shift+T` | Novo terminal no projeto atual (global) |
| `Ctrl+Shift+W` | Novo worktree (global) |
| `Ctrl+Shift+E` | Painel de sessões |
| `Ctrl+T` | Criar terminal |
| `Ctrl+W` | Fechar terminal |
| `Ctrl+N` | Novo projeto |
| `Ctrl+E` | Mostrar/ocultar o explorador de arquivos |
| `Ctrl+P` | Seletor rápido |
| `Ctrl+,` | Configurações |
| `Ctrl+←` / `Ctrl+→` | Trocar de terminal (esquerda/direita) |
| `Ctrl+↑` / `Ctrl+↓` | Trocar de projeto (cima/baixo) |
| `Ctrl+F` | Buscar na transcrição da conversa atual |
| `Escape` | Fechar diálogos |
Os atalhos podem ser personalizados nas Configurações.
---
## Arquitetura
O Claude Terminal é JavaScript CommonJS puro com tipos JSDoc. Sem TypeScript, sem
framework de frontend: o renderer é empacotado pelo esbuild em ESM com code splitting.
```
claude-terminal/
├── main.js # Electron entry point, lifecycle, single-instance lock
├── renderer.js # Renderer entry (bundled to dist/renderer.bundle.js)
├── index.html # Main window UI
├── notification.html # Custom toast notification window
├── quick-picker.html # Command palette window
├── setup-wizard.html # First-launch wizard
├── styles/ # 30 modular CSS files, @imported by index.css
├── src/
│ ├── main/ # ── Main process (Node.js) ──
│ │ ├── preload.js # Context bridge (window.electron_api)
│ │ ├── preload-quickpicker.js # Preload for the quick picker window
│ │ ├── ipc/ # 34 IPC files, 322 handlers
│ │ │ ├── index.js # Orchestrator, registers every handler
│ │ │ ├── git.ipc.js # 69 handlers, the largest
│ │ │ ├── chat.ipc.js # Agent SDK streaming sessions
│ │ │ ├── github.ipc.js # OAuth device flow, PRs, CI runs
│ │ │ └── ... # terminal, dialog, workflow, remote, database,
│ │ │ # accounts, knowledge, artifacts, workspace,
│ │ │ # parallel, cloud-*, errorLog, voice, chrome...
│ │ ├── services/ # 35 services
│ │ │ ├── ChatService.js # Claude Agent SDK bridge
│ │ │ ├── TerminalService.js # node-pty, adaptive output batching
│ │ │ ├── AccountManager.js # Multiple Claude accounts
│ │ │ ├── RemoteControlService.js # claude.ai / mobile bridge
│ │ │ ├── ChromeBridgeService.js # Claude in Chrome
│ │ │ ├── WorkflowService.js # + Runner, Scheduler, Storage
│ │ │ ├── ParallelTaskService.js # Worktree-per-subtask orchestration
│ │ │ ├── KnowledgeService.js # Global knowledge base
│ │ │ ├── ErrorLogService.js # Centralized error collection
│ │ │ └── ...
│ │ ├── windows/ # MainWindow, QuickPicker, SetupWizard, Tray, Notification
│ │ ├── utils/ # paths, git, shell, fileLock, claudeBridge, sdkCli...
│ │ └── workflow-nodes/ # 31 node types, one *.node.js each, auto-registered
│ ├── renderer/ # ── Renderer process (Browser) ──
│ │ ├── index.js # Module loader & init sequence
│ │ ├── core/ # DI container, BaseService/Component/Panel, ApiProvider
│ │ ├── state/ # 17 observable state modules (State.js base class)
│ │ ├── services/ # 28 services
│ │ │ ├── MarkdownRenderer.js # + markdown/ subsystem (configure, streaming,
│ │ │ │ # postProcess, interactivity, blocks)
│ │ │ ├── WorkflowGraphEngine.js # Custom canvas node editor (no LiteGraph)
│ │ │ ├── DiffRenderer.js # GitHub-style unified diffs
│ │ │ ├── ProjectTimeline.js # Merges six record sets into one timeline
│ │ │ ├── VoiceCaptureService.js
│ │ │ └── mention-sources/ # Pluggable @mention and palette sources
│ │ ├── ui/
│ │ │ ├── components/ # 18 components (ChatView, TerminalManager,
│ │ │ │ # FileExplorer, ProjectList, ProjectBar, Modal...)
│ │ │ ├── panels/ # 25 panels (Settings, GitChanges, ControlTower,
│ │ │ │ # ParallelTask, Workspace, Database, Kanban,
│ │ │ │ # ErrorLog, Files, Artifacts, Connectivity...)
│ │ │ └── themes/ # terminal-themes.js
│ │ ├── features/ # KeyboardShortcuts, QuickPicker, DragDrop
│ │ ├── events/ # ClaudeEventBus + Hooks / Scraping providers
│ │ ├── workflow-fields/ # 13 custom UI fields for workflow nodes
│ │ ├── workflow-triggers/ # 12 trigger types (definition + configurator)
│ │ ├── viewers/ # PDF viewer, 3D viewer (three.js) — ESM, lazy-loaded
│ │ ├── i18n/locales/ # en, fr, es, id, zh-CN (3641 keys each, kept in sync)
│ │ └── utils/ # dom, color, format, paths, fileIcons, syntaxHighlight
│ ├── shared/ # 12 modules shared by main, renderer and the MCP server
│ │ ├── artifact-store.js # Used verbatim by the MCP server process
│ │ ├── model-options.js # Premium tier definition
│ │ ├── permission-modes.js # SDK modes <-> legacy executionMode spellings
│ │ └── simple-task.js # Compiles an Automation into a workflow graph
│ └── project-types/ # Pluggable type system (base-type.js + registry.js)
│ ├── general/ api/ webapp/ python/ minecraft/ fivem/ discord/
│ └── ... # each: main/ service+ipc, renderer/ dashboard+wizard, i18n/
├── resources/
│ ├── mcp-servers/ # Shipped MCP servers
│ │ ├── claude-terminal-mcp.js # Unified server
│ │ ├── database-mcp-server.js # Database-only server
│ │ └── tools/ # 23 auto-registered tool modules
│ ├── bundled-skills/ # create-skill, create-agents
│ └── hooks/ # Hook handler script, POSTs events over HTTP
├── remote-ui/ # Mobile PWA, bundled as extraResources
├── tests/ # 149 Jest suites + a Playwright E2E smoke test
├── scripts/build-renderer.js # esbuild bundler
└── website/ # Landing page, changelog, legal
```
> `cloud/` (o relay) e `hub-worker/` (um Cloudflare Worker) são pacotes separados,
> com seus próprios `package.json`. Nenhum dos dois é incluído no app desktop.
### Fronteiras
A separação entre main e renderer é garantida pelo ESLint, não apenas por convenção:
- O renderer nunca recebe `child_process`, `fs`, `net` ou `electron` diretamente. Ele se
comunica com o main apenas por `window.electron_api`. **`child_process` nunca é exposto
de propósito** — o renderer exibe markdown escrito pelo modelo, então uma ponte para
criação de processos transformaria qualquer injeção de HTML em execução de código.
- `contextIsolation: true` e `nodeIntegration: false` nas cinco janelas.
- A CSP do `index.html` não tem `'unsafe-inline'`, então HTML injetado no chat
não consegue executar scripts. Todo markdown renderizado para o usuário passa pelo `dompurify`.
Se uma regra de fronteira disparar, a correção é um novo handler IPC, não um `eslint-disable`.
---
## Contribuindo
Veja [CONTRIBUTING.md](CONTRIBUTING.md) para as diretrizes.
Para contribuir com traduções, veja a [seção Translations (i18n)](CONTRIBUTING.md#translations-i18n).
Para contribuir com traduções, veja nosso [guia de i18n](.github/i18n-coverage.md).
## Segurança
Veja [SECURITY.md](SECURITY.md) para reportar vulnerabilidades.
## Licença
[GPL-3.0](LICENSE)
Veja as [notas de execução, proteção de dados e recuperação](RUNTIME_RELIABILITY.md) para restrições de implantação e comandos de validação.