Claude Code lost permission. The MCP cache still said allow
Revoking Claude Code access is useless if an MCP gateway keeps serving an old allow decision. Bind cached authorization to policy version, resource state, and a short expiry.
Topic archive
112 essays tagged AI agents. Practical notes on what happens after the demo: prompts, tools, review packets, evals, rollback, and production ownership.
Revoking Claude Code access is useless if an MCP gateway keeps serving an old allow decision. Bind cached authorization to policy version, resource state, and a short expiry.
An MCP approval can bind to a tool name while DNS, redirects, proxies, and service discovery send the request elsewhere. Pin the transport identity at dispatch time.
An MCP method labelled read only can still start paid queries, create exports, send webhooks, and change audit state. Control the effects, not the method name.
An MCP tool returned 100 clean records, so Claude Code declared a migration complete. The other 8,642 records were still waiting behind a cursor.
Redacting Claude Code’s final answer does not remove a secret from tool logs, traces, caches, and review packets. Track sensitive data through the whole run with a propagation receipt.
A completed Claude Code run can leave cloud roles, tokens, and MCP sessions behind. Require a cleanup receipt that proves temporary authority has gone.
A timed-out MCP call may still be running and charging your account. Give paid tool operations a stable ID, a spend ceiling, and a retry receipt before Claude Code tries again.
A polished Claude Code handoff can anchor the reviewer before the evidence is checked. Give an independent evaluator the task contract, patch, and raw test results first, then reveal the agent’s explanation.
A clean replay can be dangerously reassuring when the original trace dropped the tool call that changed production. Add sequence checks, expected-event accounting, and a completeness receipt before review.
Context compaction can preserve the task while losing the decision that blocked a dangerous tool call. Store authority, denials, and unresolved effects in a control checkpoint outside the transcript.