cx
Health Uyari
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- network request — Outbound network request in package-lock.json
- execSync — Synchronous shell command execution in scripts/postinstall.mjs
- process.env — Environment variable access in scripts/postinstall.mjs
- execSync — Synchronous shell command execution in scripts/test-patches.ts
- process.env — Environment variable access in scripts/test-patches.ts
- rm -rf — Recursive force deletion command in scripts/triage/dispatch.sh
Permissions Gecti
- Permissions — No dangerous permissions requested
This tool provides modular, opt-in patches for Claude Code, applied at runtime via AST transformation. It enhances the CLI with quality-of-life features like persistent settings, keybinding swaps, and a message queue, without permanently modifying the original installation.
Security Assessment
Overall Risk: High
The tool poses significant security concerns due to its installation and runtime behaviors. It utilizes `execSync` to execute synchronous shell commands during the post-install phase (`postinstall.mjs`) and in test scripts. Additionally, environment variables are accessed in these scripts, potentially exposing sensitive system information. Another major red flag is a recursive force deletion command (`rm -rf`) found in a dispatch script (`scripts/triage/dispatch.sh`). Finally, the package makes outbound network requests. While no hardcoded secrets or explicitly dangerous permissions were found, the combination of post-install execution, environment access, and forceful file deletion requires extreme caution.
Quality Assessment
The project is actively maintained, with its last push occurring today. However, it suffers from very low community visibility, having only 5 GitHub stars. This means the codebase has not been broadly vetted by the open-source community. Furthermore, despite claiming an MIT license in the README, the repository actually lacks a formal license file, leaving its legal usage terms technically unresolved.
Verdict
Not recommended. The presence of `rm -rf` and post-install shell execution scripts poses a high risk to your system, strongly outweighing the convenience of the patches provided by this low-visibility project.
Claude Code Extensions. Unlock the full power of Claude.
cx — Claude Code Extensions
Modular, opt-in patches for Claude Code applied at runtime via AST transformation. The original claude tool is never modified. cx parses the bundle, applies your selected patches, and spawns it. Everything else passes through untouched.
Why cx?
Claude Code is great. But some things can't be configured with settings alone:
- Real message queue — Claude Code's default Enter steers mid-response, injecting your message into the current turn.
Ctrl+Qinstead buffers it as a true queued message that runs only after the current turn finishes. - Persistent max effort — Claude resets effort level every session. cx saves "max" to settings so you don't have to
/modelit back every time. - See your pasted text — Voice dictation and large pastes get collapsed into
[Pasted text #N]which hides what you actually said.cxshows it inline so you can verify what was sent. - No attribution — No more
Co-authored-by: Claudein your commits and PRs. - Swap Enter / Option+Enter — Enter inserts a newline, Option+Enter submits. Essential if you're on SSH, a non-English keyboard, or just prefer multiline-first input.
- Context usage, always visible — See how much context you've used at all times, not just when you're about to hit the wall.
- Hot reload — Change patches, tweak config, update Claude Code — press
Ctrl+X Ctrl+Rand the session restarts with fresh patches. Your conversation continues via--continue. - Auto theme — First-run default is
autoinstead of dark, so Claude matches your terminal background out of the box. Flip to light at 9am and the TUI follows (#2990). - Quiet mode — No spinner tips, no feedback surveys, or npm-to-native-installer nag.
19 patches total, 17 enabled by default. Toggle any combination on or off.
Install
npm install -g claude-code-extensions
Requires Claude Code installed globally (npm i -g @anthropic-ai/claude-code).
Quick start
cx # launch patched Claude Code
cx-setup # interactive TUI to toggle patches on/off
On first run, cx opens the setup TUI automatically. After that, just run cx — it caches the patched bundle and only re-transforms when patches change or Claude Code updates.
All claude arguments pass through: cx --model sonnet -p "hello" works exactly like claude --model sonnet -p "hello".
Patches
| Patch | Description | Default |
|---|---|---|
queue |
Ctrl+Q true message queue — buffer instructions to run after the current turn (vs. Enter, which steers mid-response) |
on |
always-show-thinking |
Show thinking block content inline | on |
show-file-in-collapsed-read |
Show file paths in collapsed tool display | on |
disable-paste-collapse |
Show pasted text inline instead of collapsing | on |
persist-max-effort |
Save "max" effort to settings so it survives restarts | on |
reload |
Ctrl+X Ctrl+R hot reload — re-applies patches, keeps conversation |
on |
no-tips |
Hide spinner tips | on |
no-feedback |
Remove feedback survey prompts | on |
no-npm-warning |
Suppress the npm-to-native-installer nag | on |
no-attribution |
Strip Claude Code attribution from commits and PRs | on |
disable-telemetry |
Strip Datadog and analytics calls | on |
random-clawd |
Randomize the Clawd mascot color on startup | on |
cx-badge |
Show a persistent "cx" indicator in the prompt footer | on |
cx-resume-commands |
Show cx instead of claude in resume hints |
on |
cd-command |
/cd <path> — change working directory for bash commands |
on |
auto-detect-theme |
Default theme to auto so it matches your terminal background on first run |
on |
swap-enter-submit |
Enter inserts newline, Option+Enter submits | off |
simple-spinner |
Replace spinner verb cycling with static "working" | off |
Hot reload
While Claude is running, type:
! cx reload
or press Ctrl+X Ctrl+R. The session restarts with fresh patches applied and your conversation resumes via --continue.
How it works
cxlocates your global@anthropic-ai/claude-code/cli.js- Parses the ~4MB minified bundle into an AST with acorn
- Each enabled patch finds its target via structural queries and splices in changes
- The patched source is cached, so subsequent launches are instant
cxspawns Node on the cached bundle with your original arguments
Patches are pure AST transforms. They don't monkey-patch at runtime, don't wrap modules, and don't touch the original file on disk.
Contributing
See CONTRIBUTING.md for development setup, patch authoring guide, and project structure.
License
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi