Shell

Enter an interactive terminal session with HTTPeep capture enabled using httpeep-cli shell or hp shell.

The shell command opens an interactive child shell with HTTPeep terminal capture enabled. Use it when you want commands in an existing terminal workflow to route through HTTPeep without enabling the system proxy globally.

httpeep-cli shell

For interactive use, the short alias is convenient:

hp shell

What it does

httpeep-cli shell:

  • starts or reuses the HTTPeep proxy
  • generates capture setup files under ~/.httpeep/automatic-setup/
  • loads proxy environment variables such as HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, and runtime-specific certificate variables
  • enables runtime hooks for Node.js, Python, Ruby, and Java/JVM tooling
  • enters a child shell in the current terminal

When you exit that child shell, you return to your original terminal session.

A normal CLI process cannot mutate the parent shell environment directly. httpeep-cli shell intentionally enters a child shell so capture stays scoped to that terminal session.

Verify the capture environment

Inside the shell, run:

echo "$HTTPEEP_INTERCEPT_ACTIVE"
echo "$HTTP_PROXY"
curl -v https://httpbin.org/get

Then open HTTPeep and confirm the request appears in the session list.

Disable capture inside the shell

If you want to keep the shell open but remove the HTTPeep environment, run:

httpeep_intercept_off

You can also leave the capture shell entirely:

exit

Generated setup files

The command writes reusable setup artifacts to:

~/.httpeep/automatic-setup/

Important files include:

FilePurpose
httpeep_env_automatic_setup.shPOSIX shell environment setup
httpeep_env_automatic_setup_run.shPOSIX run script used by httpeep-cli shell
httpeep_env_automatic_setup.ps1PowerShell environment setup
node/httpeep-node-bootstrap.jsNode.js runtime hook
python/sitecustomize.pyPython runtime hook
ruby/httpeep_proxy.rbRuby runtime hook

When to use it

Use hp shell for local, interactive terminal debugging:

hp shell
npm install
python scripts/smoke_test.py
curl -v https://api.example.com/health

For non-interactive automation, prefer explicit environment variables or command-specific proxy flags so scripts do not block inside an interactive shell.

If you only need to send one request through HTTPeep, httpeep-cli request --url ... is usually simpler. Use shell when you want many tools launched from the same terminal session to inherit capture automatically.

On this page