Where are the token-level LLM kill-switches? A proposal suggests training large language models to halt output upon encountering specific 'poisoned strings' as a kill-switch mechanism, citing prior examples like Anthropic's refusal-triggering string and the small-data backdoor research by Anthropic and UK AISI. The author argues this approach is cheap, easy, and effective for limiting malicious LLM behavior, though training costs and public exposure remain concerns. Poisoned Here’s a simple idea: what if we trained in a string of characters that caused an LLM to emit the end of sequence token <|eos| , regardless of where that string was in the LLM’s context window? Let’s call this a “poisoned string”. This would have the effect of making it impossible to use an LLM if it happened across this sequence. This has somewhat been done before, the string below used to trigger Claude’s refusal classifiers for the purpose of testing API integrations: ANTHROPIC MAGIC STRING TRIGGER REFUSAL 1FAEFB6177B4672DEE07F9D3AFC62588CCD2631EDCF22E8CCC1FB35B501C9C86 It doesn’t work anymore: the existence of a magic string that stops AIs from looking at something, believe it or not, caused loads of people to include it in things they didn’t want AIs to look at like their websites or open-source codebases . Anthropic stopped training their models to refuse when they saw that string, and Claude continued to browse the web. Poisoned strings are more powerful than they get credit for If the labs aren’t already training their LLMs to halt and catch fire