GitHub - federicotdn/pcpb: Preview curl ... | bash commands

2 min read Original article ↗

pcpb

pcpb (preview curl pipe bash) is a small tool for previewing the effects of running curl https://... | bash on your system.

It works by running the actual command inside an Alpine Linux Docker container, and then printing the list of modified files. This is useful for when you trust the script source, but are too lazy to look into the script itself.

Note

pcpb is not a sandboxing tool. You should only run scripts from trusted sources.

Usage

First, make sure either Docker (sudoless) or Podman is installed.

Then, download the script (or maybe pipe it directly into bash...?):

curl -LO https://raw.githubusercontent.com/federicotdn/pcpb/refs/heads/main/pcpb.sh
chmod +x pcpb.sh

Here's an example that installs Claude Code:

./pcpb.sh

Once the prompt below appears, enter your 'curl ... | bash' command.
When the command has finished running, press Ctrl-D to finish.
NOTE: pcpb is not a sandboxing tool. You should only run scripts
      from trusted sources.

~ ❯ curl -fsSL https://claude.ai/install.sh | bash
...

✅ Installation complete!

After pressing Ctrl-D, a summary will then be displayed:

Detected changes:

Type        Size  Path
-----  ---------  ----------------------------------------
Added  212.7 MiB  /home/pcpb/.local/bin/claude
Added  212.7 MiB  /home/pcpb/.local/share/claude/versions/2.1.19
Added   74.5 KiB  /home/pcpb/.claude/cache/changelog.md
Added   22.3 KiB  /home/pcpb/.claude/statsig/statsig.cached.evaluations.ce1dff8430
Added   13.7 KiB  /home/pcpb/.claude/debug/e63a94f1-bbfb-43c6-87a5-d60a24d101ba.txt
Added   13.7 KiB  /home/pcpb/.claude/debug/latest
Added    947.0 B  /home/pcpb/.claude.json
Added    853.0 B  /home/pcpb/.claude.json.backup
Added    105.0 B  /home/pcpb/.claude/statsig/statsig.session_id.2656274335
Added     55.0 B  /home/pcpb/.claude/statsig/statsig.last_modified_time.evaluations
Added     38.0 B  /home/pcpb/.claude/statsig/statsig.stable_id.2656274335

Total file changes: 11
Bytes added in new files: 425.6 MiB