Don't turn on the global one (chat.tools.autoApprove). That approves every tool, including commands you never saw.
Use the terminal allow/deny list instead. In settings.json:
"chat.tools.terminal.autoApprove": {
"npm test": true,
"npx vitest": true,
"/^git (status|diff|log)\\b/": true,
"rm": false,
"git push": false,
"curl": false
}Read-only and test commands run by themselves, everything else still asks. false entries always ask, even if an earlier rule matched.
Setting names have moved around between VS Code versions, so if that key does nothing, search "autoApprove" in the Settings UI and use whatever your version calls it.