Step-by-step recovery when Claude Code Usage Policy blocks poison your session and --resume keeps failing.
Poisoned means every new message hits Usage Policy because the transcript on disk contains triggering content or prior refusals.
Try first
/rewind to checkpoint before block. /clear same project, fresh thread. Switch model.
Nuclear option
Move the session jsonl out of ~/.claude/projects/. You lose chat history but unblock --continue for other sessions.
Prevent recurrence
Shorter security sessions. External notes in markdown. Uncensored API for audit-heavy threads.
Try uncensored AI free
No filters, no lecture, no training on your chats. Start in under a minute.
Recovery is manual because classifiers do not auto-trim poisoned context.
FAQ
Does Anthropic warn on --resume?
Not reliably — users request warn-on-resume when jsonl contains prior AUP refusals.