[BUG] Can't open Claude
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 I execute Claude CLI I get this error:
578 | - This tool allows Claude Code to read images (eg PNG, JPG, etc). When reading an image file the contents are presented visually as Claude Code is a multimodal LLM.${Zl()?:""}
579 | - This tool can read PDF files (.pdf). PDFs are processed page by page, extracting both text and visual content for analysis.
580 | - This tool can read Jupyter notebooks (.ipynb files) and returns all cells with their outputs, combining code, text, and visualizations.
581 | - This tool can only read files, not directories. To read a directory, use an ls command via the ${_8} tool.
582 | - You have the capability to call multiple tools in a single response. It is always better to speculatively read multiple files as a batch that are potentially useful.
583 | - If you read a file that exists but has empty contents you will receive a system reminder warning in place of file contents.`;var lA5=["allow","deny","ask"];function pA5(Z,G){if(!Z||!Z.permissions)return[];let{permissions:W}=Z,Y=[];for(let X of lA5){let B=W[X];if(B)for(let J of B)Y.push({source:G,ruleBehavior:X,ruleValue:sF(J)})}return Y}function iA5(Z,G){if(!Z.allowedTools||Z.allowedTools.length<1)return[];let W=new Set;for(let X of G)if(X.ruleBehavior==="allow"&&X.source==="localSettings")W.add(qX(X.ruleValue));let Y=new Set;for(let X of Z.allowedTools)if(!W.has(X))Y.add(X);return Array.from(Y)}function nA5(Z,G){if(!Z.ignorePatterns||Z.ignorePatterns.length<1)return[];let W=new Set;for(let X of G)if(X.ruleBehavior==="deny"&&X.source==="localSettings"&&X.ruleValue.toolName===OB&&X.ruleValue.ruleContent!==void 0)W.add(X.ruleValue.ruleContent);let Y=new Set;for(let X of Z.ignorePatterns)if(!W.has(X))Y.add(X);return Array.from(Y).map((X)=>({toolName:OB,ruleContent:X}))}function Ts1(){let Z=SY();if(!Z.allowedTo | ... truncated
TypeError: undefined is not an object (evaluating 'G.allowedTools')
at U70 (/$bunfs/root/claude:583:1372)
at daG (/$bunfs/root/claude:1684:5432)
at <anonymous> (/$bunfs/root/claude:3706:122)
at <anonymous> (/$bunfs/root/claude:3697:6237)
at _parseCommand (/$bunfs/root/claude:528:3115)
at parseAsync (/$bunfs/root/claude:525:4208)
at parseAsync (/$bunfs/root/claude:525:4220)
at d3X (/$bunfs/root/claude:3733:1512)
at d3X (/$bunfs/root/claude:3697:1559)
at h3X (/$bunfs/root/claude:3696:1519)
Bun v1.2.19 (Linux arm64)
What Should Happen?
I should be able to run Claude
Error Messages/Logs
578 | - This tool allows Claude Code to read images (eg PNG, JPG, etc). When reading an image file the contents are presented visually as Claude Code is a multimodal LLM.${Zl()?`
579 | - This tool can read PDF files (.pdf). PDFs are processed page by page, extracting both text and visual content for analysis.`:""}
580 | - This tool can read Jupyter notebooks (.ipynb files) and returns all cells with their outputs, combining code, text, and visualizations.
581 | - This tool can only read files, not directories. To read a directory, use an ls command via the ${_8} tool.
582 | - You have the capability to call multiple tools in a single response. It is always better to speculatively read multiple files as a batch that are potentially useful.
583 | - If you read a file that exists but has empty contents you will receive a system reminder warning in place of file contents.`;var lA5=["allow","deny","ask"];function pA5(Z,G){if(!Z||!Z.permissions)return[];let{permissions:W}=Z,Y=[];for(let X of lA5){let B=W[X];if(B)for(let J of B)Y.push({source:G,ruleBehavior:X,ruleValue:sF(J)})}return Y}function iA5(Z,G){if(!Z.allowedTools||Z.allowedTools.length<1)return[];let W=new Set;for(let X of G)if(X.ruleBehavior==="allow"&&X.source==="localSettings")W.add(qX(X.ruleValue));let Y=new Set;for(let X of Z.allowedTools)if(!W.has(X))Y.add(X);return Array.from(Y)}function nA5(Z,G){if(!Z.ignorePatterns||Z.ignorePatterns.length<1)return[];let W=new Set;for(let X of G)if(X.ruleBehavior==="deny"&&X.source==="localSettings"&&X.ruleValue.toolName===OB&&X.ruleValue.ruleContent!==void 0)W.add(X.ruleValue.ruleContent);let Y=new Set;for(let X of Z.ignorePatterns)if(!W.has(X))Y.add(X);return Array.from(Y).map((X)=>({toolName:OB,ruleContent:X}))}function Ts1(){let Z=SY();if(!Z.allowedTo | ... truncated
TypeError: undefined is not an object (evaluating 'G.allowedTools')
at U70 (/$bunfs/root/claude:583:1372)
at daG (/$bunfs/root/claude:1684:5432)
at <anonymous> (/$bunfs/root/claude:3706:122)
at <anonymous> (/$bunfs/root/claude:3697:6237)
at _parseCommand (/$bunfs/root/claude:528:3115)
at parseAsync (/$bunfs/root/claude:525:4208)
at parseAsync (/$bunfs/root/claude:525:4220)
at d3X (/$bunfs/root/claude:3733:1512)
at d3X (/$bunfs/root/claude:3697:1559)
at h3X (/$bunfs/root/claude:3696:1519)
Bun v1.2.19 (Linux arm64)
Steps to Reproduce
578 | - This tool allows Claude Code to read images (eg PNG, JPG, etc). When reading an image file the contents are presented visually as Claude Code is a multimodal LLM.${Zl()?:""}
579 | - This tool can read PDF files (.pdf). PDFs are processed page by page, extracting both text and visual content for analysis.
580 | - This tool can read Jupyter notebooks (.ipynb files) and returns all cells with their outputs, combining code, text, and visualizations.
581 | - This tool can only read files, not directories. To read a directory, use an ls command via the ${_8} tool.
582 | - You have the capability to call multiple tools in a single response. It is always better to speculatively read multiple files as a batch that are potentially useful.
583 | - If you read a file that exists but has empty contents you will receive a system reminder warning in place of file contents.`;var lA5=["allow","deny","ask"];function pA5(Z,G){if(!Z||!Z.permissions)return[];let{permissions:W}=Z,Y=[];for(let X of lA5){let B=W[X];if(B)for(let J of B)Y.push({source:G,ruleBehavior:X,ruleValue:sF(J)})}return Y}function iA5(Z,G){if(!Z.allowedTools||Z.allowedTools.length<1)return[];let W=new Set;for(let X of G)if(X.ruleBehavior==="allow"&&X.source==="localSettings")W.add(qX(X.ruleValue));let Y=new Set;for(let X of Z.allowedTools)if(!W.has(X))Y.add(X);return Array.from(Y)}function nA5(Z,G){if(!Z.ignorePatterns||Z.ignorePatterns.length<1)return[];let W=new Set;for(let X of G)if(X.ruleBehavior==="deny"&&X.source==="localSettings"&&X.ruleValue.toolName===OB&&X.ruleValue.ruleContent!==void 0)W.add(X.ruleValue.ruleContent);let Y=new Set;for(let X of Z.ignorePatterns)if(!W.has(X))Y.add(X);return Array.from(Y).map((X)=>({toolName:OB,ruleContent:X}))}function Ts1(){let Z=SY();if(!Z.allowedTo | ... truncated
TypeError: undefined is not an object (evaluating 'G.allowedTools')
at U70 (/$bunfs/root/claude:583:1372)
at daG (/$bunfs/root/claude:1684:5432)
at <anonymous> (/$bunfs/root/claude:3706:122)
at <anonymous> (/$bunfs/root/claude:3697:6237)
at _parseCommand (/$bunfs/root/claude:528:3115)
at parseAsync (/$bunfs/root/claude:525:4208)
at parseAsync (/$bunfs/root/claude:525:4220)
at d3X (/$bunfs/root/claude:3733:1512)
at d3X (/$bunfs/root/claude:3697:1559)
at h3X (/$bunfs/root/claude:3696:1519)
Bun v1.2.19 (Linux arm64)
Claude Model
None
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
2.0.1
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗