PTY-backed
Runs the interactive Claude Code path instead of pretending the CLI is a hidden API.
claude-e gives orchestrators a claude -p-style command while still driving the real interactive Claude Code runtime through a PTY.
npm install -g claude-e
claude-e "summarize this repo"
git diff --cached | claude-e \
--output-format json \
"summarize this staged diff"
claude-e --output-format stream-json \
"audit src/" --verbose | jq .
Runs the interactive Claude Code path instead of pretending the CLI is a hidden API.
Supports text, json, and stream-json while keeping wrapper diagnostics away from stdout.
Timeouts, prompt sanitization, resume metadata, and exit codes are documented and testable.
The short `claude-e` bin is primary, while `claude-exec`, `claude-i`, and `jaw-claude-i` remain intentional compatibility aliases for cli-jaw migration.
printf 'Say hello.\n' | claude-e run \
--jsonl \
--output-format stream-json \
--idle-timeout-ms 600000 \
--claude-bin "$(command -v claude)" \
-- --model opus
npm run fmt:check and npm run check.npm run test covers Rust tests and npm package contracts.npm run publish:dry-run verifies the package contents before release.