🎬 Hooks de sessao
Os dois pilares da memoria: SessionStart e SessionEnd formam o bookend pattern.
🪝 Par SessionStart / SessionEnd
O que cada um oferece:
- •SessionStart: dispara 1x no boot. Input: cwd, session_id. Output: additionalContext. Uso: injetar identidade + contexto.
- •SessionEnd: dispara 1x no close. Input: cwd, transcript_path. Sem output util para Claude. Uso: resumir sessao, atualizar context.md.
- •Juntos: formam o ciclo 'injetar no comeco, aprender no fim'.
💬 Hooks de mensagem
Granularidade por turno. Dispara a cada mensagem, nao uma vez por sessao.
🔄 UserPromptSubmit / Stop
Disparo por mensagem:
- •UserPromptSubmit: antes da resposta. Input: cwd, session_id, user_message. Output: additionalContext. Uso: carregar memoria especifica ao topico.
- •Stop: apos resposta. Input: cwd, session_id. Sem output necessario. Uso: logar, avaliar, capturar aprendizado.
💡 Latencia importa
UserPromptSubmit sincrono bloqueia a resposta. Se voce rodar busca semantica pesada aqui, usuario sente lag. Cap 200ms.
🔧 Hooks de tool call
PreToolUse e PostToolUse cercam cada chamada de ferramenta. Sofisticados, com matchers.
⚙️ PreToolUse / PostToolUse
Estrutura:
- •PreToolUse: input tem tool_name e tool_input. Exit 2 bloqueia. Output JSON pode modificar input.
- •PostToolUse: input tem tool_name, tool_input e tool_response. Observacao pos-fato.
- •Matcher por tool: 'Bash' dispara so para bash; '' dispara para todos.
- •Uso para memoria: raro. Util se voce quer capturar edits importantes em long-term.
🌀 Hooks de compactacao
PreCompact e PostCompact sao unicos em sua fase. PreCompact e critico para memoria.
🛟 PreCompact / PostCompact
Como funciona:
- •PreCompact: dispara antes do resumo automatico. Input: cwd, session_id. Output: additionalContext (injetado no prompt antes do resumo).
- •PostCompact: dispara depois. Input inclui pre_compact_tokens e post_compact_tokens. Uso: logar impacto.
- •Janela de sobrevivencia: tudo que entra no additionalContext do PreCompact fica preservado apos o squeeze.
💡 Cap de tamanho
Mantenha o context.md injetado em ~400 tokens. Se encher o prompt, voce cancela o beneficio da compactacao.
📊 Hooks de notificacao
Hooks laterais que raramente tocam em memoria, mas conhecer evita confusao.
🔔 Hooks perifericos
O que existe:
- •Notification: quando Claude pede input e voce nao responde. Util para avisar por Slack.
- •IDE events: cursor position, selection, open file. So em VSCode/JetBrains.
- •TranscriptSave: apos salvar JSONL. Janela para indexar episodica.
- •Diff/Plan events: em plan mode. Raramente usado.
📖 Tabela de consulta rapida
Imprima ou favorite. Sua cola para o resto do curso e para o resto da vida com Claude Code.
📐 Cheat sheet
HOOK | QUANDO | INPUT | OUTPUT | USO MEMORIA ──────────────────┼──────────────────┼──────────────────────┼───────────────┼─────────── SessionStart | boot da sessao | cwd, session_id | addCtx | CRITICO SessionEnd | close da sessao | cwd, transcript_path | - | IMPORTANTE UserPromptSubmit | antes da resp. | + user_message | addCtx | CRITICO Stop | apos resposta | cwd, session_id | - | opcional PreToolUse | antes de tool | + tool_name, input | addCtx/exit2 | raro PostToolUse | apos tool | + tool_response | - | raro PreCompact | antes do squeeze | cwd, session_id | addCtx | CRITICO PostCompact | apos squeeze | + token counts | - | metrica Notification | prompt de input | + title, message | - | - TranscriptSave | JSONL gravado | + transcript_path | - | episodica IDE events (x5) | IDE actions | varia | - | -
📝 Resumo do Modulo
Proximo:
3.3 — Schema do settings.json