Tudo o que cerca o terminal, dentro do terminal.

Phantom é um terminal para macOS construído sobre o motor do Ghostty. Em volta dele: uma sidebar que agrupa seus projetos, um editor com language servers, git e worktrees, e os agentes de código que você já usa. Uma janela só, sem alt-tab.

v0.21.0-beta · macOS 13 ou superior · Apple silicon e Intel · MIT

0:00 / 4:07

Uma passada pelo aplicativo inteiro, quatro minutos, sem som. Nada carrega até você apertar play.

Construído sobre o Ghostty

Phantom é um fork pessoal do Ghostty, de Mitchell Hashimoto e seus contribuidores. Tudo o que faz de um terminal um terminal — o núcleo multi-thread, o renderizador Metal, a emulação VT em conformidade com os padrões, a libghostty — é deles, e aqui está intocado.

Este fork acrescenta a aplicação em volta desse motor, e acompanha o upstream para continuar fazendo merge. Para o motor em si — desempenho, sequências suportadas, notas de plataforma — leia a documentação do próprio Ghostty.

ghostty.org

O que o app acrescenta

01

Abas que carregam o projeto junto

Agrupe terminais na mão, ou aponte um grupo para a pasta de um projeto: todo terminal aberto sob ela entra no grupo sozinho.

Cada linha diz onde está: a branch, um ponto quando há alterações não commitadas, o pull request aberto daquela branch, e um :3000 clicável no instante em que um dev server abre a porta. A detecção lê o processo, não um arquivo de configuração, então funciona com qualquer framework.

02

O estado do agente, na aba

Claude Code, Codex, OpenCode, Antigravity, Kimi Code e Pi. Uma linha mostra se a sessão está trabalhando, esperando por você ou concluída — assim uma dúzia de agentes em uma dúzia de repositórios deixa de ser uma dúzia de abas idênticas.

As sessões retomam de onde pararam quando a aba reabre, e os hooks que reportam esse estado se instalam nas Configurações com um clique.

03

Um editor no mesmo painel

Abra o arquivo ao lado do terminal que o produziu. Gramáticas de sintaxe, minimapa, busca em todo o workspace, formatação ao salvar e uma grade que você divide em qualquer direção.

Os language servers vêm da loja, não do binário, e trazem hover, definição, referências, renomear, autocompletar e diagnósticos junto. Markdown, imagem, PDF, SVG e CSV abrem cada um no seu visualizador.

04

Git, e uma worktree para cada branch

Status e staging na sidebar, conflitos resolvidos no próprio arquivo em vez de em outra ferramenta, diffs divididos, e um branch review de cada commit e arquivo contra a base.

Crie ou adote uma worktree do git no mesmo lugar, uma seção por repositório. Troque a worktree de um terminal e as abas abertas do editor acompanham; um arquivo sem correspondente do outro lado abre somente leitura e diz por quê.

branch review
--- feat/status-dots against main        4 commits, 6 files

    7b4b688  Wire the status dots to the session state
    5f6655d  Group sessions by workspace
    9a1c204  Keep a waiting session at the top
    c31f8ad  Read the state from the hook, not the title

+++ src/lib/session.ts             18 added, 4 removed
+++ src/components/StatusDot.tsx    9 added, 1 removed
+++ src/lib/worktree.ts            21 added, 0 removed
05

Agentes podem dirigir a janela

Phantom é um servidor MCP. Vinte e cinco ferramentas entre terminais, grupos, editor, diagnósticos, language servers e worktrees: abrir um arquivo numa linha, ler a saída de um terminal, criar uma worktree, listar os diagnósticos que um servidor reportou.

Todo terminal exporta o socket, o handshake confere o pid do processo do outro lado, e cada capacidade é concedida por você num aviso — no escopo de uma aba, de um grupo ou de tudo.

tools/call
{
  "method": "tools/call",
  "params": {
    "name": "open_file",
    "arguments": {
      "path": "/Users/me/atlas-web/src/lib/session.ts",
      "line": 24
    }
  }
}

// -> Opened session.ts in this window's editor.
06

Uma loja de extensões, e uma cara sua

Linguagens, formatadores, temas, pacotes de ícones e agentes se instalam a partir de um registro, e todo download é conferido contra o sha256 do índice antes de ser descompactado.

Desde a 0.19.0 uma extensão também desenha: um painel na sidebar ou um editor associado a um nome de arquivo, escrito em TypeScript. Temas e pacotes de ícones vêm do mesmo lugar, e a interface do app segue o tema ativo.

index.json
{
  "id": "typescript",
  "publisher": "phantom",
  "version": "2.1.0",
  "minimumPhantomVersion": "0.17.0",
  "contributes": ["languages", "servers", "grammars"],
  "download": {
    "url": ".../phantom.typescript-2.1.0.zip",
    "sha256": "9f2b…c41d",
    "bytes": 184320
  }
}
25

ferramentas MCP

6

agentes de código

13+

versão do macOS

MIT

licença

Baixe o Phantom

Um .dmg universal e um só de Apple silicon, construídos e publicados a partir deste repositório a cada release. Requer macOS 13 Ventura ou superior.

Primeira abertura

O app é assinado ad-hoc e não é notarizado. Na primeira vez, clique com o botão direito e escolha Abrir — ou rode xattr -cr Phantom.app — em vez de dar dois cliques, senão o Gatekeeper recusa o app como sendo de um desenvolvedor não identificado.

Atualizações

Toda versão seguinte chega no lugar, por Phantom › Check for Updates, e continua no build que você instalou — um app universal nunca vira o de Apple silicon, nem o contrário. Uma instalação nova verifica em segundo plano e instala ao sair; você pode desligar isso nas Configurações.