Your code’s security is paramount. Claude Code is built with security at its core, developed according to Anthropic’s comprehensive security program. Learn more and access resources (SOC 2 Type 2 report, ISO 27001 certificate, etc.) at Anthropic Trust Center.
Claude Code uses strict read-only permissions by default. When additional actions are needed (editing files, running tests, executing commands), Claude Code requests explicit permission. Users control whether to approve actions once or allow them automatically.We designed Claude Code to be transparent and secure. For example, we require approval for bash commands before executing them, giving you direct control. This approach enables users and organizations to configure permissions directly.For detailed permission configuration, see Identity and Access Management.
Write access restriction: Claude Code can only write to the folder where it was started and its subfolders—it cannot modify files in parent directories. While Claude Code can read files outside the working directory (useful for accessing system libraries and dependencies), write operations are strictly confined to the project scope, creating a clear security boundary
Prompt fatigue mitigation: Support for allowlisting frequently used safe commands per-user, per-codebase, or per-organization
Accept Edits mode: Batch accept multiple edits while maintaining permission prompts for commands with side effects
Prompt injection is a technique where an attacker attempts to override or manipulate an AI assistant’s instructions by inserting malicious text. Claude Code includes several safeguards against these attacks:
Network request approval: Tools that make network requests require user approval by default
Isolated context windows: Web fetch uses a separate context window to avoid injecting potentially malicious prompts
Trust verification: First-time codebase runs and new MCP servers require trust verification
Command injection detection: Suspicious bash commands require manual approval even if previously allowlisted
Fail-closed matching: Unmatched commands default to requiring manual approval
Natural language descriptions: Complex bash commands include explanations for user understanding
Secure credential storage: API keys and tokens are encrypted. See Credential Management
Best practices for working with untrusted content:
Review suggested commands before approval
Avoid piping untrusted content directly to Claude
Verify proposed changes to critical files
Use virtual machines (VMs) to run scripts and make tool calls, especially when interacting with external web services
Report suspicious behavior with /bug
While these protections significantly reduce risk, no system is completely
immune to all attacks. Always maintain good security practices when working
with any AI tool.
Claude Code allows users to configure Model Context Protocol (MCP) servers. The list of allowed MCP servers is configured in your source code, as part of Claude Code settings engineers check into source control.We encourage either writing your own MCP servers or using MCP servers from providers that you trust. You are able to configure Claude Code permissions for MCP servers. Anthropic does not manage or audit any MCP servers.