March 21, 2026

Decision Detection is now always-on

Decision detection no longer requires VS Code to be open. A global git post-commit hook detects high-signal commits after every commit, in every repository.

Decision Detection is now always-on

Decision Detection used to require VS Code. It ran on a 10-second polling loop inside the extension, checking for new commits and classifying them. If VS Code was not open when you committed, the decision was missed.

That is no longer the case. Decision detection now runs via a global git post-commit hook that fires after every git commit, regardless of which editor or terminal you used to make it.

The gap

The original approach worked well for developers who live in VS Code. But KeepGoing supports Claude Code, Cursor, Windsurf, JetBrains, and terminal workflows. Requiring VS Code to be running for decision detection was a blind spot.

Decisions were missed when:

  • You committed from the terminal while VS Code was closed
  • You used a JetBrains IDE or another editor exclusively
  • An AI coding agent ran in a terminal session without VS Code
  • VS Code crashed or was restarted mid-session

The fix

keepgoing hook install now does three things:

  1. Shell cd hook (existing): shows your last checkpoint when you cd into a project
  2. Global gitignore: adds .keepgoing to your global gitignore so session data never appears in git status
  3. Global post-commit hook (new): installs a hook at ~/.keepgoing/hooks/post-commit that runs decision detection in the background after every commit

The post-commit hook runs silently. It never blocks your commit. It checks whether you have a Decision Detection license, and if so, classifies the commit using the same heuristics as before: commit message analysis, file path signals, and low-signal filtering.

If you already have the hook installed, run keepgoing hook install again. It is idempotent and will add the new components without duplicating the shell hook.

What changed under the hood

Two other improvements ship alongside the global hook.

Multi-commit coverage. When saveCheckpoint fires at session end, it now loops through all commits since the last checkpoint, not just HEAD. If you made five commits during a Claude Code session, all five are evaluated for decision classification.

VS Code poller simplified. The extension’s 10-second git polling loop no longer handles decision detection. It still watches for new commits and branch switches to trigger checkpoints, but classification is left to the post-commit hook. This makes the poller lighter and removes a source of duplicate detections.

How to get it

If you already use the KeepGoing CLI:

keepgoing hook install

If you are new to KeepGoing:

npm install -g @keepgoingdev/cli
keepgoing hook install

Reload your shell (source ~/.zshrc or equivalent) and you are set. Decision detection requires a Decision Detection license. Without one, the hook exits immediately with no overhead.

What it means

Your decisions are captured whether you commit from VS Code, IntelliJ, Neovim, a terminal, or an AI agent session. One keepgoing hook install, and every repository you work in is covered. No per-project setup, no editor dependency, no polling.


Your decisions should be captured when you make them, not when your editor happens to be watching.