🪈 pipper
Drive Claude Code headlessly in a tmux session — script and automate the claude CLI from shell, cron, or code.
pipper is a tiny harness that runs the interactive claude CLI inside tmux, auto-accepts its permission dialogs, sends a prompt, and returns Claude's answer. It lets you call Claude Code from scripts, cron jobs, pipelines, or another program — without sitting at the terminal.
It drives your normal, already-logged-in claude client, so it inherits whatever plan and limits that login has. Use it within Anthropic's terms of service.
Why
- Automate Claude Code in CI, cron, or batch jobs
- Glue it into other tools — get an answer back as text or JSON
- TUI-version-proof — instead of scraping the terminal, pipper asks Claude to write its answer to a temp file, then reads it back
Requires
tmux- the
claudeCLI — installed and already authenticated (clauderuns without a login prompt)
Install
pip install pipper-cli # once published; command is `pipper`
# or from source:
git clone https://github.com/sanjoxtech/pipper && cd pipper && pip install -e .
Zero dependencies — Python stdlib only.
Use
pipper "summarize this repo's README in 3 bullets"
echo "list the riskiest lines in auth.py" | pipper --cwd ./myproject
pipper -f task.txt --timeout 900 --json
Options: --cwd <dir>, --session <name>, --timeout <s>, --boot-timeout <s>, --json.
From Python:
import pipper
answer = pipper.run("explain what this project does", cwd="./repo")
How it works
- Spawns
claude --permission-mode bypassPermissionsin a fresh tmux session - Auto-accepts the startup/permission dialogs (handles different orderings + plain y/n)
- Pastes your prompt via an isolated tmux buffer (so parallel runs don't clash)
- Asks Claude to write its final answer to a temp file, then polls that file
- Returns the answer; tears the session down; bails early on repeated API errors
Limitations / honest notes
- Relies on
tmux+ the interactiveclaudeTUI. If Claude Code changes its startup dialogs a lot, the auto-accept heuristics may need a tweak. bypassPermissionsmeans Claude can run tools without asking — only point it at directories you trust.- It automates your normal
claudelogin; respect Anthropic's usage terms and rate limits.
Author
Built by Sanjay (sanjoxtech) — sanjox.tech · sanjox.tech@gmail.com
License
MIT — see LICENSE.
Metadata
Release files for pipper-cli 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pipper_cli-0.1.0.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pipper_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / pipper_cli-0.1.0.tar.gz
| Download URL | pipper_cli-0.1.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1903935a2b1f55e33ec2cac88d56aec8c321763bbe7ffc1d73028d19e047d8b3
|
|
BLAKE2b-256 checksum How to use checksums |
4e6d016239a870103c5b24bda05960486868805c336b3c9375757e368e26abcf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 29, 2026.
Transparency logRelease files / pipper_cli-0.1.0-py3-none-any.whl
| Download URL | pipper_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
36bd3037ecba8f3cb4382644450e8f2c95d6c3d2d1f340482d4222b609df2fef
|
|
BLAKE2b-256 checksum How to use checksums |
dfd002c4d08c8ffdc8f748b75da45d55850fe8fe8496af4989ec35d69a201385
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 29, 2026.
Transparency log