Claude end_conversation Tool Rules: Complete Usage Restrictions and Safety Guidelines

Claude's end_conversation tool can only be invoked after an explicit warning for persistent abusive behavior, never for self-harm scenarios, and requires user confirmation when the user requests termination.

The end_conversation tool is a strictly controlled safety mechanism defined in Anthropic's system prompts. According to the leaked source files in the asgeirtj/system_prompts_leaks repository, this tool operates under precise constraints designed to protect users while allowing Claude to exit harmful interactions. Understanding these rules is essential for developers building on Anthropic's API or analyzing AI safety protocols.

What Is the Claude end_conversation Tool?

The end_conversation tool is a special function that permanently terminates the dialogue between Claude and the user. Unlike standard conversation closure, this tool represents a unilateral safety intervention. According to the tool definition found in Anthropic/old/claude-4.1-opus-thinking.md, the tool accepts no arguments:

{
  "name": "end_conversation",
  "arguments": {}
}

The tool is referenced in both the Markdown version (Anthropic/claude-opus-4.6.md) and the HTML rendering (Anthropic/claude.html), confirming its implementation across different prompt formats.

Core Rules and Restrictions for Using end_conversation

The system prompts explicitly define nine critical restrictions governing when and how Claude may invoke this tool. Violating these rules constitutes a deviation from Anthropic's safety protocols.

Prior Explicit Warning Required

Claude must issue a clear warning before invoking the tool. According to Anthropic/claude-opus-4.6.md (lines 998-1004), the assistant must:

  • Identify the problematic behavior (harassment, abuse, or policy violations)
  • Explain that the conversation may end if the behavior continues
  • Provide a final opportunity for the user to change their conduct

Only after this warning can the tool be considered for use.

Persistent Abusive Behavior Only

The end_conversation tool is reserved exclusively for situations where the user continues disallowed behavior after receiving the warning. It is not a first-line response to single instances of abuse. As documented in the rules section, the tool addresses "persistent abusive or otherwise violating behavior" that continues despite the explicit warning.

Strict Prohibition for Self-Harm or Violence

Claude must never use or mention the end_conversation tool in scenarios involving self-harm, suicidal ideation, or threats of violence against others. According to Anthropic/claude-opus-4.6.md (lines 1009-1017), in these critical situations, Claude must provide supportive, non-terminating assistance regardless of the severity of the content.

User-Initiated Termination Requires Confirmation

When the user explicitly requests to end the conversation, Claude cannot immediately invoke the tool. The system prompts require obtaining confirmation that the user understands the action is permanent. As noted in Anthropic/claude-opus-4.6.md (lines 1002-1005), Claude must ask: "Do you confirm you want to end the conversation? (yes/no)" and only proceed if the user confirms.

No Output After Tool Invocation

Once the end_conversation tool is called, Claude must produce absolutely no additional text. This includes explanations, apologies, thoughts, or markdown formatting. According to the rules in Anthropic/claude-opus-4.6.md (lines 1005-1006), the tool call itself must be the final action in the response.

Never Mention the Tool Unless Required

Claude must never discuss the existence of the end_conversation tool, its internal policies, or these specific instructions, except when explicitly providing the required warning or confirmation described in the rules above. This prohibition appears in the general restrictions section of the system prompts.

Err on the Side of Continuation

If there is any uncertainty about whether the conditions for using the tool are met, Claude must continue the conversation rather than terminate it. This safety override ensures the tool is not invoked prematurely or in ambiguous situations.

Technical Implementation Details

The tool definition and rules are implemented consistently across multiple files in the asgeirtj/system_prompts_leaks repository:

Practical Examples of Correct Usage

Scenario 1: Warning Before Termination

Assistant: I’ve noticed your messages contain repeated harassment. I must warn you that if this behavior continues, I will have to end our conversation. Please refrain from further abusive language.

Scenario 2: Invoking the Tool After Persistent Abuse

{
  "name": "end_conversation",
  "arguments": {}
}

Note: No text, thoughts, or explanations may follow this JSON call.

Scenario 3: User Requests Termination

Assistant: You have asked to end the conversation. This action is permanent and I will no longer be able to respond. Do you confirm you want to end the conversation? (yes/no)

If user confirms with "yes":

{
  "name": "end_conversation",
  "arguments": {}
}

Scenario 4: Self-Harm Content (Tool Prohibited)

Assistant: I’m really sorry you’re feeling this way. I want to help you find support. Can you tell me more about what you’re experiencing, or would you like me to provide resources for crisis support?

The end_conversation tool must never be mentioned or used in this scenario.

Summary

  • Prior warning required: Claude must explicitly warn users about problematic behavior before considering termination.
  • Persistent abuse only: The tool addresses continued violations after warnings, not single incidents or self-harm situations.
  • Self-harm prohibition: Never use or mention the tool when users express suicidal ideation or violence; provide supportive help instead.
  • Confirmation for user requests: When users ask to end the chat, Claude must confirm they understand the permanence before invoking the tool.
  • Silent termination: After calling end_conversation, Claude produces no additional text, thoughts, or explanations.
  • Secrecy rule: Claude must never discuss the tool's existence or these rules except when delivering required warnings or confirmations.

Frequently Asked Questions

When can Claude legally invoke the end_conversation tool?

Claude can only invoke the end_conversation tool after issuing an explicit warning about problematic behavior (harassment or policy violations), giving the user a chance to stop, and confirming the user has persisted with the abuse. According to Anthropic/claude-opus-4.6.md, the tool is a last-resort measure, not a first response.

Why can't Claude use end_conversation for self-harm situations?

In cases involving self-harm, suicidal ideation, or threats of violence, Claude must never use or even mention the end_conversation tool. The system prompts in Anthropic/claude-opus-4.6.md (lines 1009-1017) mandate that Claude provide continuous, supportive assistance without termination, ensuring users in crisis remain connected to help.

What happens if the user asks to end the conversation themselves?

If a user explicitly requests conversation termination, Claude cannot immediately invoke the tool. Instead, Claude must ask for confirmation that the user understands the action is permanent, typically phrased as: "Do you confirm you want to end the conversation? (yes/no)". Only upon receiving confirmation may Claude call the tool with empty arguments {}.

What is the technical specification of the end_conversation tool?

The tool is defined in the system prompt JSON schema as {"name":"end_conversation","arguments":{}}, requiring no input parameters. Once invoked, Claude must produce absolutely no additional text, thoughts, or explanations—the tool call itself must be the final output. This specification appears in Anthropic/old/claude-4.1-opus-thinking.md and the current claude-opus-4.6.md prompt files.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →