[BUG] Claude Code crashed with ENOENT ECOMPROMISED (lock file)
Environment
- Platform (select one):
- [x] Anthropic API
- Claude CLI version: 1.0.55 (Claude Code)
- Operating System: Fedora 42
- Terminal: /usr/libexec/gnome-terminal-server
Bug Description
I didn't look at Claude Code while it was doing it's thing and when I switched workspaces back, it seemed to have crashed (didn't see it happen, though) and this was printed on the screen:
file:///home/christoph/.claude/local/node_modules/@anthropic-ai/claude-code/cli.js:168
GFS4: ),console.error(A)};if(!E5[LG]){if(Xv1=global[LG]||[],$oA(E5,Xv1),E5.close=function(A){function B(Q,I){return _[... literally hundreds of lines of minified code omitted (was that important?)...]_Date,expiresIn:D=3600,unsignableHeaders:G,unhoistableHeaders:Z,signableHeaders:F,signingRegion:Y,signingService:W}=Q,J=await this.credentialProvider();this.validateResolvedCredentials(J);let C=Y??await this.regionProvider(),{longDate:X,shortDate:V}=BG1(I);if(D>bL9)return Promise.reject("Signature version 4 presigned URLs must have an expiration date less than one week in the future");let K=IG1(V,C,W??this.service),H=C10(dv1(B),{unhoistableHeaders:Z});if(J.sessionToken)H.query[Q10]=J.sessionToken;H.query[LL9]=gv1,H.query[ML9]=${J.accessKeyId}/${K},H.query[A10]=X,H.query[OL9]=D.toString(10);let z=uv1(H,G,F);return H.query[RL9]=teA(z),H.query[B10]=await this.getSignature(X,K,this.getSigningKey(J,C,V,W),this.createCanonicalRequest(H,z,await DG1(B,this.sha256))),H}async sign(B,Q){if(typeof B==="string")return this.signString(B,Q);else if(B.headers&&B.payload)return this.signEvent(B,Q);else if(B.message)return this.signMessage(B,Q);else return this.signRequest(B,Q)}async signEvent({headers:B,payload:Q},{signingDate:I=new Date,priorSignature:D,signingRegion:G,signingService:Z}){let F=G??await this.regionProvider(),{shortDate:Y,longDate:W}=BG1(I),J=IG1(Y,F,Z??this.service),C=await DG1({headers:{},body:Q},this.sha256),X=new this.sha256;X.update(B);let V=mR.toHex(await X.digest()),K=[fL9,W,J,D,V,C].join(
[Error: ENOENT: no such file or directory, stat '/home/christoph/.claude/shell-snapshots/snapshot-bash-1752680657478-vkuhez.sh.lock'] {
errno: -2,
code: 'ECOMPROMISED',
syscall: 'stat',
path: '/home/christoph/.claude/shell-snapshots/snapshot-bash-1752680657478-vkuhez.sh.lock'
}
Node.js v22.17.0
Steps to Reproduce
No clue. Only happened once.
Expected Behavior
No crash.
Actual Behavior
Crash.
Additional Context
Claude was just done with its summary and the prompt should have been active again. Perhaps this is the moment the bug triggered.
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗