[BUG] --bare mode loads user configuration
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
When running claude with the --bare flag, it loads the MCP servers i have configured in ~/.claude/settings.json, but i expected it not to.
What Should Happen?
From the documentation i believe this is a bug: https://code.claude.com/docs/en/headless#start-faster-with-bare-mode:
"Add --bare to reduce startup time by skipping auto-discovery of hooks, skills, plugins, MCP servers, auto memory, and CLAUDE.md."
i expect the system message NOT to include mcp servers from my user folder (or any other folder for that matter)
Error Messages/Logs
System message:
{
"type": "system",
"subtype": "init",
"cwd": "<a folder inside an existing project>",
"session_id": "64207866-89c5-47f3-873b-0e17490852fc",
"tools": [
"Bash",
"Edit",
"ListMcpResourcesTool",
"mcp__azureDevOps__add_pull_request_comment",
"mcp__azureDevOps__create_branch",
"mcp__azureDevOps__create_commit",
"mcp__azureDevOps__create_pull_request",
"mcp__azureDevOps__create_wiki",
"mcp__azureDevOps__create_wiki_page",
"mcp__azureDevOps__create_work_item",
"mcp__azureDevOps__download_pipeline_artifact",
"mcp__azureDevOps__get_all_repositories_tree",
"mcp__azureDevOps__get_file_content",
"mcp__azureDevOps__get_me",
"mcp__azureDevOps__get_pipeline",
"mcp__azureDevOps__get_pipeline_log",
"mcp__azureDevOps__get_pipeline_run",
"mcp__azureDevOps__get_project",
"mcp__azureDevOps__get_project_details",
"mcp__azureDevOps__get_pull_request",
"mcp__azureDevOps__get_pull_request_changes",
"mcp__azureDevOps__get_pull_request_checks",
"mcp__azureDevOps__get_pull_request_comments",
"mcp__azureDevOps__get_repository",
"mcp__azureDevOps__get_repository_details",
"mcp__azureDevOps__get_repository_tree",
"mcp__azureDevOps__get_wiki_page",
"mcp__azureDevOps__get_wikis",
"mcp__azureDevOps__get_work_item",
"mcp__azureDevOps__list_commits",
"mcp__azureDevOps__list_organizations",
"mcp__azureDevOps__list_pipeline_runs",
"mcp__azureDevOps__list_pipelines",
"mcp__azureDevOps__list_projects",
"mcp__azureDevOps__list_pull_requests",
"mcp__azureDevOps__list_repositories",
"mcp__azureDevOps__list_wiki_pages",
"mcp__azureDevOps__list_work_items",
"mcp__azureDevOps__manage_work_item_link",
"mcp__azureDevOps__pipeline_timeline",
"mcp__azureDevOps__search_code",
"mcp__azureDevOps__search_wiki",
"mcp__azureDevOps__search_work_items",
"mcp__azureDevOps__trigger_pipeline",
"mcp__azureDevOps__update_pull_request",
"mcp__azureDevOps__update_wiki_page",
"mcp__azureDevOps__update_work_item",
"mcp__rider__create_new_file",
"mcp__rider__execute_run_configuration",
"mcp__rider__execute_terminal_command",
"mcp__rider__find_files_by_glob",
"mcp__rider__find_files_by_name_keyword",
"mcp__rider__get_all_open_file_paths",
"mcp__rider__get_file_problems",
"mcp__rider__get_file_text_by_path",
"mcp__rider__get_project_dependencies",
"mcp__rider__get_project_modules",
"mcp__rider__get_repositories",
"mcp__rider__get_run_configurations",
"mcp__rider__get_symbol_info",
"mcp__rider__list_directory_tree",
"mcp__rider__open_file_in_editor",
"mcp__rider__permission_prompt",
"mcp__rider__reformat_file",
"mcp__rider__rename_refactoring",
"mcp__rider__replace_text_in_file",
"mcp__rider__search_in_files_by_regex",
"mcp__rider__search_in_files_by_text",
"Read",
"ReadMcpResourceTool"
],
"mcp_servers": [
{
"name": "azureDevOps",
"status": "connected"
},
{
"name": "rider",
"status": "connected"
}
],
"model": "claude-sonnet-4-6[1m]",
"permissionMode": "default",
"slash_commands": [
"update-config",
"debug",
"simplify",
"batch",
"loop",
"schedule",
"claude-api",
"compact",
"context",
"cost",
"heapdump",
"init",
"pr-comments",
"release-notes",
"review",
"security-review",
"insights"
],
"apiKeySource": "ANTHROPIC_API_KEY",
"claude_code_version": "2.1.83",
"output_style": "default",
"agents": [
"general-purpose",
"statusline-setup",
"Explore",
"Plan"
],
"skills": [
"update-config",
"debug",
"simplify",
"batch",
"loop",
"schedule",
"claude-api"
],
"plugins": [],
"uuid": "3760f5f7-33db-4eda-8703-035b69a92aff",
"fast_mode_state": "off"
}
Steps to Reproduce
In powershell run:claude --bare -p "whats 2+2?" --output-format json-stream
the output clearly shows the mcp servers being included in the system message, both in the tools array and the mcp_servers array.
i have tried various combinations of cli params and env vars with the same resultclaude -p --bare "whats 2+2?" --output-format json-stream
$env:CLAUDE_CODE_SIMPLE = 1 claude -p --bare "whats 2+2?" --output-format json-stream
I tried providing a json file as the mcpconfig, with no mcp servers configured, with the same result
mcpServers.json => {"mcpServers": {}}claude -p --bare "whats 2+2?" --output-format json-stream --mcp-config ./mcpServers.json
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.83 (Claude Code)
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
Windows Terminal
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗