Claude Code Secrets A developer documented workarounds for breaking changes in Anthropic's Claude Code CLI tool, including pinning version 1.0.17, disabling auto-updates, and patching the `exit_plan_mode` popup to prevent focus disruption. The guide provides commands to lock dependencies, spoof version checks, and modify the permission behavior for neurodivergent users. | 📌 Pinning @anthropic-ai/claude-code to v1.0.17 | | | Last updated: 2025-07-03 | | | Subsequent releases of @anthropic-ai/claude-code introduced breaking changes that nuked key workflows. | | | Locking everything to exactly 1.0.17 avoids that pain. | | | --- | | | 1. 📦 Pinning the Local Project Version | | | To keep your repo and every nested dependency on 1.0.17 , update package.json : | | | json | | | { | | | "dependencies": { | | | "@anthropic-ai/claude-code": "1.0.17" | | | }, | | | "overrides": { | | | "@anthropic-ai/claude-code": "1.0.17" | | | } | | | } | | | ⸻ | | | 2. 🔧 Fixing the Global Installation | | | 🚮 2-1 Uninstall Any Existing Global Version | | | npm uninstall -g @anthropic-ai/claude-code | | | 📥 2-2 Install v1.0.17 Globally | | | npm install -g @anthropic-ai/claude-code@1.0.17 | | | ✋ 2-3 Disable the Auto-Updater Immediately | | | DISABLE AUTOUPDATER=1 claude config set -g autoUpdaterStatus disabled | | | 🛡️ 2-4 Optionally Remove Risky Install Scripts | | | cd /opt/homebrew/lib/node modules/@anthropic-ai/claude-code | | | npm pkg delete scripts.prepare | | | npm pkg delete scripts.preinstall | | | rm scripts/preinstall.js | | | ⸻ | | | 3. 🛠️ Bypassing the Forced Update Check | | | Even with the updater off, the CLI still hard-blocks if it thinks the version is “old.” | | | Spoof a newer version inside the package. | | | 📂 3-1 Navigate to the Package Directory | | | cd /opt/homebrew/lib/node modules/@anthropic-ai/claude-code | | | 🗄️ 3-2 Back Up Originals | | | cp cli.js cli.js.original | | | cp package.json package.json.original | | | 🩹 3-3 Patch cli.js and package.json | | | Pretend we're on 99.0.0 to satisfy the check | | | node -e "let f='cli.js';let fs=require 'fs' ;fs.writeFileSync f,fs.readFileSync f,'utf8' .replace /1\\.0\\.17/g,'99.0.0' " | | | node -e "let f='package.json';let fs=require 'fs' ;fs.writeFileSync f,fs.readFileSync f,'utf8' .replace /1\\.0\\.17/g,'99.0.0' " | | | ⸻ | | | ✅ Result | | | • Local project and global CLI are locked to 1.0.17. | | | • Auto-updates are permanently disabled. | | | • The hardcoded version gate is tricked into thinking you’re bleeding-edge. | | | Happy hacking. 🔒🚀 | | | How to Remove That Annoying Plan-Mode Popup in Claude Code | | | Last updated: 2025-07-03 | | | Note 🖥️ | | | This is a macOS-centric guide that assumes you installed Claude Code via Homebrew . | | | If you’re on Linux, Windows, or used a different package manager, adjust the file paths /opt/homebrew/... accordingly. | | | 👋 For My Fellow Neurodivergent Coders Who Just Want to Focus | | | If you’re like me—ADHD, dyslexic, or simply someone who needs to stay in flow—Claude’s bright-green “Ready to code?” popup is a vibe-killer. You’re deep in thought, and then BAM 😤 Claude asks if you’re done planning. No thanks, Claude—I’ll decide when it’s time to exit plan mode. | | | --- | | | 🐛 The Problem | | | Since v1.0.17 , Claude Code ships an exit plan mode tool that spawns that popup whenever it thinks you’re finished. For neurotypical folks, maybe it’s just a minor speed bump. For us? It’s: | | | - ⚡ Focus-breaking – every popup forces a context switch | | | - 🧠 Decision fatigue – one more yes/no in an already crowded headspace | | | - 🌊 Flow disruption – goodbye hyperfocus you worked so hard to achieve | | | - 👀 Sensory overload – another flashing element screaming for attention | | | --- | | | 🛠️ The Solution: One Simple Command | | | Instead of hunting for the line in the file, you can apply this change with a single command. | | | 1. Open your terminal. | | | 2. Run this command to patch the file: | | | bash | | | sed -i.bak 's/behavior:"ask",message:"Exit plan mode?"/behavior:"deny",message:"Exit plan mode?"/' /opt/homebrew/lib/node modules/@anthropic-ai/claude-code/cli.js | | | | | | This finds the permission check for the "Exit plan mode?" prompt and changes the behavior from "ask" to "deny" . It also automatically creates a backup file named cli.js.bak in the same directory, just in case something goes wrong. | | | That’s it. One command, zero popups. You’ll still have full control via the usual keyboard shortcut Shift-Tab-Tab . | | | ⸻ | | | 🧩 Why This Works | | | The sed command performs a direct search-and-replace on the cli.js file. Changing the permission from "ask" → "deny" tells Claude: “You’re never allowed to run this tool.” The code stays intact—nothing crashes—but the popup cannot fire. | | | ⸻ | | | 💌 A Note to the Anthropic Devs | | | Accessibility isn’t only about screen readers. For neurodivergent users, unwanted pop-ups are an access barrier. Please consider making the plan-mode prompt optional in future releases. We know when we want to switch modes—trust us. 🙏 | | | ⸻ | | | 🌟 Peace at Last | | | Enjoy plan mode for as long as you choose, on your terms, with zero visual interruptions. | | | Happy coding—and may your hyperfocus sessions be long and undisturbed 🚀 | | | ⸻ | | | Document generated by Claude after empathizing with a neurodivergent dyslexic user. |