We've released Piebald, the ultimate agentic AI developer experience. \ Download it and try it out for free! https://piebald.ai/
Scroll down for tweakcc. :point_down:

tweakcc is a CLI tool that upgrades your Claude Code experience. Customize its system prompts, add custom themes, create toolsets, and personalize the UI. From the team behind Piebald.

[!IMPORTANT] NEW in 4.0.0: tweakcc now has an API; use
npm i tweakccto add to your project and see API!NEW in 4.0.0: You can now create custom patches via sandboxed scripts! Works with native installations. No need to fork tweakcc just to make a quick patch! See
tweakcc adhoc-patch.NEW in 4.0.0: You can also apply customizations from a remote URL to a config file. See Remote Config.
Also see
tweakcc --restore,tweakcc unpack, andtweakcc repack.[!NOTE] NEW: tweakcc 4.0.0 also introduces several new patches:
- AGENTS.md support (demo video)
- :lock: unlock session memory (blog post) (thank you @odysseus0!)
/rememberskill- input pattern highlighters
- Opus plan 1M
- MCP startup optimization
- token count rounding
- statusline throttling/pacing
- auto-accept plan mode (thank you @irdbl!)
- dangerously bypassing permissions in sudo (thank you @brrock!)
- native installer warning suppression (thank you @brrock!).
With tweakcc, you can
/toolset commandultrathink used to be rainbow-highlighted./title my chat name or /rename (see our blog post for implementation details)┌─┬─┐), ASCII/markdown (|---|), Unicode without top/bottom borders.tweakcc also
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC environment variable set (#46)CLAUDE_CODE_CONTEXT_LIMITopusplan[1m] model alias, combining Opus for planning with Sonnet's 1M context for execution—reducing "context anxiety" (#108)tweakcc supports Claude Code installed on Windows, macOS, and Linux, both native/binary installations and those installed via npm, yarn, pnpm, bun, Homebrew/Linuxbrew, nvm, fnm, n, volta, nvs, nodenv, and Nix (including NixOS and nix-darwin), as well as custom locations.
tweakcc supports Claude Code's native installation, which is a large platform-specific native executable containing the same minified/compiled JavaScript code from npm, just packaged up in a Bun binary. We support patching the native binary on macOS, Windows, and Linux, including ad-hoc signing on Apple Silicon, via node-lief, our Node.js bindings for LIEF (Library to Instrument Executables).
While tweakcc has a large library of built-in patches, you can create custom patches by using tweakcc's API. If you don't want to create an npm package, you can use tweakcc adhoc-patch, which applies a custom Node.js script to your default Claude Code installation. Because adhoc-patch supports running scripts from an HTTP URL, you can even host a script on a GitHub Gist or pastebin for easy distribution.
Run without installation:
$ npx tweakcc
# Or use pnpm:
$ pnpm dlx tweakcc
unpack, repack, adhoc-patch)Read/model1→ prefixes from Read output/rate-limit-options from being injected/remember skilltweakcc works by patching Claude Code's minified cli.js file, reading customizations from ~/.tweakcc/config.json. For npm-based installations cli.js is modified directly, but for native installations it's extracted from the binary using node-lief, patched, and then the binary is repacked. When you update your Claude Code installation, your customizations will be overwritten, but they're remembered in your configuration file, so they can be reapplied by just running npx tweakcc --apply.
tweakcc is verified to work with Claude Code 2.1.162. In newer or earlier versions various patches might not work. However, if we have the system prompts for your version then system prompt patching is guaranteed to work with that version, even if it's significantly different from the verified CC version—the version number stated above is only relevant for the non-system-prompt patches. We get the latest system prompts within minutes of each new CC release, so unless you're using a CC version older than 2.0.14, your version is supported.
You can also create custom patches using tweakcc without having to fork it or open a PR. tweakcc adhoc-patch supports using custom scripts that work with native and npm-based installs and that automatically detect your Claude Code installation.
While tweakcc usually works by applying customizations from your local ~/.tweakcc/config.json, you can optionally pass the --config-url <http URL> flag when you use tweakcc --apply to have tweakcc fetch config from a remote URL and apply it to your local Claude Code installation. This is useful for testing someone else's config when shared via a Gist or pastebin, for example.
Example:
npx tweakcc@latest --apply --config-url https://gist.githubusercontent.com/bl-ue/27323f9bfd4c18aaab51cad11c1148dc/raw/b24b5fe08874ce50f4be6c093d9589d184f91a70/config.json
Your local config will not be overwritten; the remote config will be copied into your config.json under remoteConfig.settings.
In addition to the interactive TUI (npx tweakcc) and the --apply flag, tweakcc provides three subcommands for advanced use: unpack, repack, and adhoc-patch.
unpack
Extract the embedded JavaScript from a native Claude Code binary and write it to a file. This is useful for inspecting Claude Code's source, writing custom patches, or making manual edits before repacking. Note that unpack only works with native/binary installations; it will error if pointed at an npm-based installation (cli.js), because it can already be read directly from disk. unpack takes the path to the JS file to write to, and an optional path to a native binary, which if omitted will default to the current installation.
npx tweakcc unpack <output-js-path> [binary-path]
repack
Read a JavaScript file and embed it back into a native Claude Code binary. This is the counterpart to unpack — after inspecting or modifying the extracted JS, use repack to write it back. Like unpack, this only works with native installations. repack takes a path to a JS file to read from, and an optional path to a native binary, which if omitted, as above, will default to the current installation.
npx tweakcc repack <input-js-path> [binary-path]
Example:
# Extract, edit, and repack
npx tweakcc unpack ./claude-code.js
# ... make your edits to claude-code.js ...
npx tweakcc repack ./claude-code.js
adhoc-patch
Apply a one-off or ad-hoc patch to a Claude Code installation without going through the tweakcc UI or config system. It supports three modes and works with both native and npm-based installations.
3 modes of patching are supported.
--stringA fixed/static old string is replaced with a fixed/static new string, analogous to grep -F.
$ claude mcp add tweakcc \
-- python -m otcore.mcp_server <graph>