| 16527 | 3. **Conflicts**: Do any of the rules conflict with each other? |
| 16528 | 4. **Actionability**: Is the rule specific enough for the classifier to act on? |
| 16529 | |
| 16530 | Be concise and constructive. Only comment on rules that could be improved. If all rules look good, say so.`;var Rl8=y(()=>{y8();aq();ca6();U1();nq6();l8()});var Rq5={};T8(Rq5,{update:()=>qsY});async function qsY(){d("tengu_update_check",{}),C4(`Current version: ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION} |
| 16531 | `);let q=N7()?.autoUpdatesChannel??"latest";C4(`Checking for updates to ${q} version... |
| 16532 | `),N("update: Starting update check"),N("update: Running diagnostic");let K=await h26();if(N(`update: Installation type: ${K.installationType}`),N(`update: Config install method: ${K.configInstallMethod}`),K.multipleInstallations.length>1){C4(` |
| 16533 | `),C4($8.yellow("Warning: Multiple installations found")+` |
| 16534 | `);for(let j of K.multipleInstallations){let H=K.installationType===j.type?" (currently running)":"";C4(`- ${j.type} at ${j.path}${H} |
| 16535 | `)}}if(K.warnings.length>0){C4(` |
| 16536 | `);for(let j of K.warnings)N(`update: Warning detected: ${j.issue}`),N(`update: Showing warning: ${j.issue}`),C4($8.yellow(`Warning: ${j.issue} |
| 16537 | `)),C4($8.bold(`Fix: ${j.fix} |
| 16538 | `))}let _=j8();if(!_.installMethod&&K.installationType!=="package-manager"){C4(` |
| 16539 | `),C4(`Updating configuration to track installation method... |
| 16540 | `);let j="unknown";switch(K.installationType){case"npm-local":j="local";break;case"native":j="native";break;case"npm-global":j="global";break;default:j="unknown"}b8((H)=>({...H,installMethod:j})),C4(`Installation method set to: ${j} |
| 16541 | `)}if(K.installationType==="development")C4(` |
| 16542 | `),C4($8.yellow("Warning: Cannot update development build")+` |
| 16543 | `),await xK(1);if(K.installationType==="package-manager"){let j=await ny6();if(C4(` |
| 16544 | `),j==="homebrew"){C4(`Claude is managed by Homebrew. |
| 16545 | `);let H=await L26(q);if(H&&!yP({ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION,H))C4(`Update available: ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION} → ${H} |
| 16546 | `),C4(` |
| 16547 | `),C4(`To update, run: |
| 16548 | `),C4($8.bold(" brew upgrade claude-code")+` |
| 16549 | `);else C4(`Claude is up to date! |
| 16550 | `)}else if(j==="winget"){C4(`Claude is managed by winget. |
| 16551 | `);let H=await L26(q);if(H&&!yP({ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION,H))C4(`Update available: ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION} → ${H} |
| 16552 | `),C4(` |
| 16553 | `),C4(`To update, run: |
| 16554 | `),C4($8.bold(" winget upgrade Anthropic.ClaudeCode")+` |
| 16555 | `);else C4(`Claude is up to date! |
| 16556 | `)}else if(j==="apk"){C4(`Claude is managed by apk. |
| 16557 | `);let H=await L26(q);if(H&&!yP({ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION,H))C4(`Update available: ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION} → ${H} |
| 16558 | `),C4(` |
| 16559 | `),C4(`To update, run: |
| 16560 | `),C4($8.bold(" apk upgrade claude-code")+` |
| 16561 | `);else C4(`Claude is up to date! |
| 16562 | `)}else C4(`Claude is managed by a package manager. |
| 16563 | `),C4(`Please use your package manager to update. |
| 16564 | `);await xK(0)}if(_.installMethod&&K.configInstallMethod!=="not set"&&K.installationType!=="package-manager"){let{installationType:j,configInstallMethod:H}=K,M={"npm-local":"local","npm-global":"global",native:"native",development:"development",unknown:"unknown"}[j]||j;if(M!==H&&H!=="unknown")C4(` |
| 16565 | `),C4($8.yellow("Warning: Configuration mismatch")+` |
| 16566 | `),C4(`Config expects: ${H} installation |
| 16567 | `),C4(`Currently running: ${j} |
| 16568 | `),C4($8.yellow(`Updating the ${j} installation you are currently using`)+` |
| 16569 | `),b8((X)=>({...X,installMethod:M})),C4(`Config updated to reflect current installation method: ${M} |
| 16570 | `)}if(K.installationType==="native"){N("update: Detected native installation, using native updater");try{let j=await I26(q,!0);if(j.lockFailed){let H=j.lockHolderPid?` (PID ${j.lockHolderPid})`:"";C4($8.yellow(`Another Claude process${H} is currently running. Please try again in a moment.`)+` |
| 16571 | `),await xK(0)}if(!j.latestVersion)process.stderr.write(`Failed to check for updates |
| 16572 | `),await xK(1);if(j.latestVersion==={ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION)C4($8.green(`Claude Code is up to date (${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION})`)+` |
| 16573 | `);else C4($8.green(`Successfully updated from ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.VERSION} to version ${j.latestVersion}`)+` |
| 16574 | `),await I77();await xK(0)}catch(j){process.stderr.write(`Error: Failed to install native update |
| 16575 | `),process.stderr.write(String(j)+` |
| 16576 | `),process.stderr.write(`Try running "claude doctor" for diagnostics |
| 16577 | `),await xK(1)}}if(_.installMethod!=="native")await pt6();N("update: Checking npm registry for latest version"),N(`update: Package URL: ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.PACKAGE_URL}`);let z=q==="stable"?"stable":"latest",Y=`npm view ${{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.PACKAGE_URL}@${z} version`;N(`update: Running: ${Y}`);let $=await L26(q);if(N(`update: Latest version from npm: ${$||"FAILED"}`),!$){if(N("update: Failed to get latest version from npm registry"),process.stderr.write($8.red("Failed to check for updates")+` |
| 16578 | `),process.stderr.write(`Unable to fetch latest version from npm registry |
| 16579 | `),process.stderr.write(` |
| 16580 | `),process.stderr.write(`Possible causes: |
| 16581 | `),process.stderr.write(` • Network connectivity issues |
| 16582 | `),process.stderr.write(` • npm registry is unreachable |
| 16583 | `),process.stderr.write(` • Corporate proxy/firewall blocking npm |
| 16584 | `),{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.PACKAGE_URL&&!{ISSUES_EXPLAINER:"report the issue at https://github.com/anthropics/claude-code/issues",PACKAGE_URL:"@anthropic-ai/claude-code",README_URL:"https://code.claude.com/docs/en/overview",VERSION:"2.1.88",FEEDBACK_CHANNEL:"https://github.com/anthropics/claude-code/issues",BUILD_TIME:"2026-03-30T21:59:52Z"}.PACKAGE_URL.startsWith("@anthropic"))process.stderr.write(` • Internal/development build not published to npm |
| 16585 | `);process.stderr.write(` |
| 16586 | `),process.stderr.write(`Try: |