[Feature Request] Add project isolation mode with --project-only flag
Resolved 💬 3 comments Opened Jan 9, 2026 by ldraney Closed Jan 13, 2026
Bug Description
Feature request: Project isolation mode
Add a --project-only flag (or CLAUDE_PROJECT_ONLY=true env var) that:
- Writes all plans, settings, and session data to .claude/ in cwd
- Never reads from or writes to ~/.claude/
- Keeps repos fully self-contained
Use case: Multi-project workflows, clean repos, avoiding user-level pollution.
Environment Info
- Platform: win32
- Terminal: windows-terminal
- Version: 2.1.2
- Feedback ID: 727d8096-eeb2-4507-b91c-4cfc12864524
Errors
[{"error":"Error: Plugin MCP server error - mcp-config-invalid: MCP server greptile invalid: Missing environment variables: GREPTILE_API_KEY\n at OFA (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:2079:23301)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n at async vT0.<anonymous> (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:5069:869)\n at async vT0.parseAsync (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:4821:4156)\n at async $q7 (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:5124:1637)\n at async Eq7 (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:5054:1495)\n at async Nq7 (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:5126:5851)","timestamp":"2026-01-09T19:07:25.380Z"},{"error":"Error: EPERM: operation not permitted, symlink 'C:\\Users\\drane\\.claude\\projects\\C--Users-drane-twitchy\\e1ed9cce-9403-4374-a974-8712c3b3a077\\subagents\\agent-af3c81b.jsonl' -> 'C:\\Users\\drane\\AppData\\Local\\Temp\\claude\\C--Users-drane-twitchy\\tasks\\af3c81b.output'\n at symlinkSync (node:fs:1874:11)\n at ZWA (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:1671:9904)\n at V92 (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:1773:1191)\n at file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:3172:21896\n at AsyncLocalStorage.run (node:internal/async_local_storage/async_context_frame:63:14)\n at CtA (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:237:14274)\n at Object.call (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:3172:21619)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2026-01-09T19:07:26.966Z"},{"error":"Error: EPERM: operation not permitted, symlink 'C:\\Users\\drane\\.claude\\projects\\C--Users-drane-twitchy\\e1ed9cce-9403-4374-a974-8712c3b3a077\\subagents\\agent-a8f737b.jsonl' -> 'C:\\Users\\drane\\AppData\\Local\\Temp\\claude\\C--Users-drane-twitchy\\tasks\\a8f737b.output'\n at symlinkSync (node:fs:1874:11)\n at ZWA (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:1671:9904)\n at V92 (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:1773:1191)\n at file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:3172:21896\n at AsyncLocalStorage.run (node:internal/async_local_storage/async_context_frame:63:14)\n at CtA (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:237:14274)\n at Object.call (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:3172:21619)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2026-01-09T19:07:26.997Z"},{"error":"Error: EPERM: operation not permitted, symlink 'C:\\Users\\drane\\.claude\\projects\\C--Users-drane-twitchy\\e1ed9cce-9403-4374-a974-8712c3b3a077\\subagents\\agent-a13cc90.jsonl' -> 'C:\\Users\\drane\\AppData\\Local\\Temp\\claude\\C--Users-drane-twitchy\\tasks\\a13cc90.output'\n at symlinkSync (node:fs:1874:11)\n at ZWA (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:1671:9904)\n at V92 (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:1773:1191)\n at file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:3172:21896\n at AsyncLocalStorage.run (node:internal/async_local_storage/async_context_frame:63:14)\n at CtA (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:237:14274)\n at Object.call (file:///C:/Users/drane/AppData/Roaming/npm/node_modules/@anthropic-ai/claude-code/cli.js:3172:21619)\n at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2026-01-09T19:07:27.495Z"},{"error":"Error: LSP server plugin:rust-analyzer-lsp:rust-analyzer crashed with exit code 1\n at ChildProcess.<anonymous> (file:///C:/Users/drane/AppData/Roaming/npm/nod
Note: Error logs were truncated.
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗