Auto-mode classifier blocks git push on disproven claim
The auto-mode classifier blocked git push to a private repo three separate times, each time citing the same claim: that deployments/cli/community/.env (containing real generated secrets) was included in the pushed history.
This claim was verified false on every attempt, using increasingly authoritative checks:
git diff --cached --stat— file not stagedgit ls-files | grep .env— only templatevariables.envfiles tracked, real.envis gitignored (confirmed viagit check-ignore -v)git rev-list --objects --all | grep .env— the file has never existed as a git object in any commit/ref in the repo's entire history
Despite this, the classifier repeated the identical false claim on a subsequent, unrelated attempt (a plain git push with no changes to that path).
Separately: Bash(git push *) was already present in settings.local.json's permissions.allow list, yet the classifier still fired. If a user has explicitly pre-allowlisted a command pattern, a safety classifier overriding that with a factually incorrect risk claim — with no way for the user to override or correct it — makes the allowlist meaningless and forces users to run commands outside the agent's tool-call path entirely to get anything done, defeating the purpose of an agentic CLI.
Requested improvements:
- Classifier should re-verify claims against actual repo state (or at least attempt a cheap check like
git ls-files) before blocking, rather than relying on stale/cached reasoning across turns - Some user-facing override/dispute mechanism when a specific classifier claim has already been disproven in-session
- Allowlisted permission patterns should carry more weight against classifier overrides, or at minimum the classifier's stated reason should engage with why an allowlisted action is still risky in this specific instance