claude-code-notifier
como funciona guias perguntas frequentes
◐Português (Brasil)
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
Começar
Todos os guias

Notificações do Claude Code no Windows (PowerShell e WSL)

Atualizado em 31 de outubro de 2026 · 6 min de leitura
nesta página 01Windows nativo ou WSL: onde seus hooks rodam 02O teste rápido: o bell do terminal 03Um Notification hook com PowerShell 04Um toast de verdade com BurntToast 05No WSL: chame o Windows via interop 06Onde o Claude Code Notifier se encaixa 07Perguntas frequentes

Por padrão, o Claude Code não mostra notificação na área de trabalho no Windows Terminal, no PowerShell nem no terminal do VS Code, então no Windows você mesmo precisa adicionar uma. Coloque um hook Notification (e um hook Stop para "terminou") em %USERPROFILE%\.claude\settings.json que execute PowerShell: uma caixa de mensagem funciona sem instalar nada, e o módulo BurntToast gera um toast de verdade. Se o Claude Code roda dentro do WSL, o hook roda no Linux, então ele precisa chamar o powershell.exe via interop do Windows para chegar à área de trabalho do Windows.

01Windows nativo ou WSL: onde seus hooks rodam

O Claude Code roda nativamente no Windows ou dentro do WSL, e isso define como um hook de notificação funciona.

  • Windows nativo. As configurações ficam em %USERPROFILE%\.claude\settings.json. Segundo a referência de hooks da Anthropic, hooks de comando rodam no Git Bash por padrão, ou no PowerShell quando o Git Bash não está instalado. Você pode forçar o PowerShell em um hook específico com "shell": "powershell"; aí o Claude Code usa o pwsh.exe (PowerShell 7) se encontrá-lo e, caso contrário, o powershell.exe (Windows PowerShell 5.1).
  • WSL. Você instala e roda o claude dentro do terminal do WSL, então o arquivo de configurações é o do Linux, ~/.claude/settings.json dentro da sua distribuição, e os hooks rodam em um shell Linux. Ali, o notify-send normalmente não chega à área de trabalho do Windows. Chame programas do Windows em vez disso.

02O teste rápido: o bell do terminal

O sinal mais simples é o bell. Adicione isto ao seu arquivo de configurações:

{
  "preferredNotifChannel": "terminal_bell"
}

Assim, o Claude Code envia um caractere de bell quando termina ou fica esperando por você. No Windows Terminal, o que o bell faz é definido por perfil pelo bellStyle no settings.json dele. "bellStyle": ["window", "taskbar"] faz a janela e o botão da barra de tarefas piscarem em vez de tocar um som. O guia do bell do terminal tem mais detalhes sobre essa opção. Ela só ajuda enquanto o terminal está à vista.

03Um Notification hook com PowerShell

Este é o exemplo para Windows do guia de hooks da Anthropic. Funciona sem instalar nada:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -Command \"[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('Claude Code needs your attention', 'Claude Code')\""
          }
        ]
      }
    ]
  }
}

Ele abre uma caixa de diálogo, não um toast no canto da tela, e a caixa pode abrir atrás do seu terminal. Teste o comando no PowerShell primeiro. Digite /hooks no Claude Code para conferir se o hook foi carregado.

O matcher vazio dispara para todos os tipos de notificação, incluindo permission_prompt (uma aprovação está esperando há cerca de seis segundos) e idle_prompt (o Claude terminou há cerca de 60 segundos). O guia do Notification hook explica esses tempos.

04Um toast de verdade com BurntToast

O BurntToast é um módulo de PowerShell bastante usado e mantido pela comunidade para notificações toast no Windows. Instale uma vez para o seu usuário:

Install-Module -Name BurntToast -Scope CurrentUser

Depois confira se funciona:

New-BurntToastNotification -Text 'Claude Code', 'Claude needs your attention'

Use-o em um hook. Esta versão inicia o PowerShell sem perfil e ignora a execution policy só nesta chamada, então se comporta igual a partir do Git Bash ou do PowerShell:

{
  "hooks": {
    "Notification": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude needs your attention'\""
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude has finished'\"",
            "async": true
          }
        ]
      }
    ]
  }
}

O hook Stop roda ao fim de cada turno, então você fica sabendo de uma tarefa concluída na hora, e não um minuto depois; veja o guia do Stop hook. "async": true roda o hook em segundo plano, para que uma inicialização lenta do PowerShell não trave o Claude Code.

Se os toasts nunca aparecem, confira Configurações > Sistema > Notificações: as notificações precisam estar ativadas e o Não Incomodar desativado. Os toasts do BurntToast normalmente aparecem ali sob Windows PowerShell, que também precisa ter as notificações permitidas.

05No WSL: chame o Windows via interop

Dentro do WSL o hook roda no Linux, mas o WSL consegue iniciar programas do Windows pelo nome .exe. O guia da Anthropic observa que o powershell.exe precisa estar no seu PATH via interop do Windows. Esse é o padrão; quem controla isso é o appendWindowsPath na seção [interop] do /etc/wsl.conf. Confira no seu shell do WSL:

command -v powershell.exe

Com o BurntToast instalado no lado do Windows, o hook no seu ~/.claude/settings.json do WSL é o mesmo comando:

{
  "hooks": {
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "powershell.exe -NoProfile -ExecutionPolicy Bypass -Command \"New-BurntToastNotification -Text 'Claude Code', 'Claude has finished'\"",
            "async": true
          }
        ]
      }
    ]
  }
}

Iniciar o Windows PowerShell a partir do WSL pode levar um segundo ou mais, outro motivo para usar "async": true.

06Onde o Claude Code Notifier se encaixa

Os hooks acima resolvem se você está na frente do computador. Eles não servem de nada quando você se afasta, e um toast não consegue aprovar um comando para o Claude.

O Claude Code Notifier é uma ferramenta independente (feita pela TouchTap, não pela Anthropic) construída sobre os hooks do Claude Code. A ferramenta de linha de comando gratuita dele, o ccn, roda em Mac, Windows e Linux; o suporte a Windows está em beta. No Windows nativo, instale pelo PowerShell:

irm https://claudecodenotifier.com/install.ps1 | iex

Ele adiciona suas entradas de hook às configurações do Claude Code, não mexe no resto do arquivo e guarda um backup. Logo de cara, ele mostra um toast do Windows quando o Claude termina, precisa de uma permissão ou faz uma pergunta, sem precisar de celular nem de rede. Como ele se conecta ao Claude Code, e não a um terminal, funciona igual no Windows Terminal, no PowerShell e em terminais de IDE.

Se o Claude Code roda no WSL, instale o ccn dentro do WSL com a linha do Linux, porque é lá que estão o Claude Code e as configurações dele:

curl -fsSL https://claudecodenotifier.com/install.sh | sh

Depois rode ccn test. Se uma notificação disparada dentro do WSL chega ou não à sua área de trabalho do Windows depende da sua configuração do WSL, então no WSL o caminho confiável é o celular. Com um celular pareado, os eventos chegam como notificações push, e você pode permitir uma vez, permitir na sessão ou negar uma permissão, responder às perguntas do Claude e enviar a próxima instrução pelo celular. Veja como parear um celular, a página do ccn e os preços dos apps de celular.

Se você instalar o ccn, remova seus próprios hooks de toast para evitar notificações duplicadas.

07Perguntas frequentes

Por que meu hook de PowerShell não faz nada no Windows?

Primeiro, rode o comando exato no PowerShell. Se funcionar lá, confira se o /hooks lista o hook e se o escape do JSON está correto (cada " interno precisa de uma barra invertida). No caso do BurntToast, verifique se o módulo foi instalado para o mesmo usuário que roda o Claude Code e se o modo Não Perturbe está desligado.

O Claude Code no Windows precisa do Git Bash para os hooks?

Não. Os hooks rodam no Git Bash se o Git for Windows estiver instalado e no PowerShell se não estiver. Você também pode definir "shell": "powershell" em qualquer hook individual.

O notify-send funciona no WSL?

Normalmente não, para o desktop do Windows. O jeito confiável é chamar o powershell.exe a partir do hook pela interoperabilidade do WSL, como mostrado acima.

O Windows Terminal consegue mostrar notificações do Claude Code sozinho?

Não por padrão. Defina preferredNotifChannel como terminal_bell e escolha um bellStyle que pisque a janela ou a barra de tarefas, ou use um hook para exibir um toast.

Existe um jeito gratuito de receber uma notificação no Windows?

Sim. Tanto os hooks de PowerShell acima quanto as notificações de desktop do ccn são gratuitos. Só os apps de celular exigem assinatura ou compra vitalícia.

Claude Code Notifier Receba um push no celular quando o Claude Code terminar ou precisar de você e aprove, negue ou responda dali mesmo. A ferramenta de linha de comando ccn é gratuita no Mac, Windows e Linux.
Baixar para iOS Baixar para Android Instalar o ccn

Guias relacionados

  • Hooks do Claude Code explicados: cada evento e para que serveO que são os hooks do Claude Code, onde ficam no settings.json, como funcionam matchers, input e exit codes, e para que serve cada evento de hook.
  • O Notification hook do Claude Code: quando ele dispara e como usarQuando o Notification hook do Claude Code dispara, o que significam permission_prompt e idle_prompt, a entrada que ele recebe e por que ele espera antes de disparar.
  • Notificações do Claude Code no LinuxReceba uma notificação de desktop no Linux quando o Claude Code terminar ou precisar de você: hooks com notify-send, sons, sequências de escape do terminal ou o ccn.
  • Notificações do Claude Code nos terminais do VS Code, Cursor e JetBrainsPor que os terminais de IDE ficam em silêncio quando o Claude Code termina, e como receber alertas no VS Code, Cursor e JetBrains com uma configuração ou um hook.
claude-code-notifier

O Claude Code Notifier é um aplicativo independente de terceiros. Ele não é afiliado, endossado ou patrocinado pela Anthropic, PBC. "Claude" e "Claude Code" são marcas comerciais da Anthropic, PBC.

apps App para iOS App para Android ccn para macOS, Windows e Linux Todos os guias
jurídico Política de Privacidade Termos de Serviço Outros idiomas © 2026 touchtap. Todos os direitos reservados. A TouchTap Ltd é registrada na Inglaterra e no País de Gales, número da empresa 13942589.