Skip to content

Patches

Every cx patch is a pure AST transform against the Claude Code bundle. Patches are opt-in and toggleable via cx-setup. The table below lists all available patches, their default state, and which versions of @anthropic-ai/claude-code they work against.

Compatibility

A GitHub Actions workflow runs every morning. It fetches the newest @anthropic-ai/claude-code from npm and applies every patch against it in isolation — one failure never masks another. If any patch breaks, the run opens or updates a tracking issue in magidandrew/cx listing the broken patches. When everything is green again, the issue auto-closes.

Last verified

How to read the Compatible column

  • * — the patch uses a single AST strategy that works on every Claude Code version it has been tried against. Nothing is version-gated.
  • >=X.Y.Z, <X.Y.Z, etc. — the patch declares per-version variants and the transform picks the right one at patch-time. Multiple ranges mean multiple variants are bundled.

If you're running a CC version older than what's listed and a patch throws no variant matches, that's your cue to either upgrade CC or open an issue — the daily workflow only tests forward.

All patches

PatchNameDescriptionDefaultCompatible
queueCtrl+Q Message QueueQueue messages with Ctrl+Q to run sequentially after the current turnon*
cut-to-clipboardCut prompt to clipboard (Alt+X)Option/Alt+X copies the current prompt text to the system clipboard and clears the inputon*
reloadCtrl+X Ctrl+R ReloadReload the cx session — re-applies patches and keeps the conversationon*
always-show-thinkingAlways Show ThinkingShow thinking block content inline instead of collapsedon*
session-usageSession UsageAlways show "25% session used · 15% context used"on*
show-file-in-collapsed-readShow File in Collapsed ReadShow file paths and search patterns in collapsed tool displayon*
disable-paste-collapseDisable Paste CollapseShow pasted text inline instead of collapsing into [Pasted text #N]on*
disable-text-truncationDisable Long-Text TruncationShow long input inline instead of collapsing into [...Truncated text #N]on*
persist-max-effortPersist Max EffortSave "max" effort to settings so it survives restartson*
granular-effortGranular Effort SliderReplace the /model effort picker with a 1-9 numeric slideron*
per-session-effortPer-Session EffortStop settings-file effort changes from clobbering other running sessionson>=2.1.97 · <2.1.97
no-tipsNo TipsHide spinner tipson*
no-feedbackNo Feedback PromptsRemove feedback survey promptson*
no-npm-warningNo NPM WarningSuppress the "switched from npm to native installer" nagon*
no-multi-install-warningNo Multi-Install WarningSuppress "Multiple installations found" nag in update/doctoron*
no-attributionNo AttributionStrip Claude Code attribution from commits and PRson*
disable-telemetryDisable TelemetryStrip Datadog and 1P analytics callson*
random-clawdRandom Clawd ColorRandomize the Clawd mascot color on each startupon*
cx-badgeCX BadgeShow a persistent "cx" indicator in the prompt footeron*
anthropic-status-bannerAnthropic Status BannerWarn in the footer when status.claude.com reports issues affecting Claude Codeon*
cx-resume-commandscx Resume CommandsShow cx instead of claude in resume/continue command hintson*
auto-rename-first-messageAuto /rename on First MessagePersist an auto-generated session title on the first user message so /resume and the terminal tab reflect it without typing /renameon*
cd-command/cd Command/cd <path> — change where bash commands run (same as shell cd, keeps project settings)on*
bannerAttribution BannerShow "@wormcoffee" on the Claude Code title lineon*
auto-detect-themeAuto-Detect Terminal ThemeDefault theme to auto so it matches your terminal background on first runon*
delete-sessionsDelete Sessions from /resumeOpt+D in the resume picker deletes the focused session (confirm by pressing Opt+D again)on*
remote-control-default-onRemote Control on by DefaultJoin Remote Control automatically on each new session (explicit config still wins)off*
swap-enter-submitSwap Enter / Meta+EnterEnter inserts a newline, Option/Alt+Enter submitsoff*
simple-spinnerSimple SpinnerReplace spinner verb cycling with static "working" / "worked"off*
nsfw-spinnerNSFW SpinnerReplace spinner verbs with NSFW ones (tagged [nsfw], conflicts with simple-spinner)off*
rename-random-colorRandom Color on /renameRandomize the prompt-bar color each time you run /renameoff*

Version compatibility matrix

Per-version test results from the most recent runs. A means the patch applied cleanly against that version; a blank means untested.

Patch2.1.962.1.101
always-show-thinking
anthropic-status-banner
auto-detect-theme
auto-rename-first-message
banner
cd-command
cut-to-clipboard
cx-badge
cx-resume-commands
delete-sessions
disable-paste-collapse
disable-telemetry
disable-text-truncation
granular-effort
no-attribution
no-feedback
no-multi-install-warning
no-npm-warning
no-tips
nsfw-spinner
per-session-effort(ternary variant)(&& variant)
persist-max-effort
queue
random-clawd
reload
remote-control-default-on
rename-random-color
session-usage
show-file-in-collapsed-read
simple-spinner
swap-enter-submit

For the current, authoritative state across all versions, check the Actions tab — the workflow posts fresh results every morning.

Toggling patches

Run the interactive TUI to toggle any patch on or off:

sh
cx-setup

Your selection is persisted and applied on the next cx launch. To re-apply without restarting, press Ctrl+X Ctrl+R inside a running session (the reload patch).

Released under the MIT License.