Repository navigation
Add a claude-cli engine that runs Claude through the local CLI - #2
Merged
Merged
Conversation
For people with a Claude subscription and no API key. Each call runs `claude -p` with only WebSearch and WebFetch allowed. It runs in an empty temp folder with a temp HOME, no git config and an allow-listed environment. The model never sees the operator's git identity, CLAUDE.md or memory. Only the login is copied in. The engine joins a run only when named with --engine claude-cli, and stops before the first call if `claude` is not on PATH. Rows record a cost of 0 and "subscription": true. Sources come from the search results and fetched pages in the tool stream, plus links in the text. A new --timeout flag sets the per-call limit for every engine (default 180 s, claude-cli 600 s). The tests use a fake `claude`.
bensynapse
added a commit
that referenced
this pull request
Sep 29, 2026
Bumps the version to 0.1.2 in pyproject.toml, CITATION.cff and the package. The release adds the claude-cli engine from #2, which runs Claude through the local Claude Code command line on a subscription.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a
claude-cliengine for people who have a Claude subscription but no API key. It runs the local Claude Code CLI (claude -p) with only WebSearch and WebFetch allowed.Each call runs as a stranger. The working directory is a new empty temp folder, HOME and the config folder are temp folders too, and git reads no config. Only an allow-list of environment variables gets through, and only the login is copied in. An earlier internal run leaked the operator's git username into the session, and Claude then addressed the reader as the company owner. The README now says that CLI results still depend on the local account.
The engine only runs when you name it with
--engine claude-cli. Ifclaudeis not on PATH, or there is no login, the run stops before the first call with a clear error. Rows recordcost_usd: 0and"subscription": true, and the report says so. A new--timeoutflag works for every engine (180 s by default, 600 s for claude-cli). The 13 new tests use a fakeclaudescript, so CI makes no real calls.Live check on 2026-09-29:
aeb run questions/template.yaml --engine claude-cli --dry-runwith brand "Example Corp" and domain example.org. All 4 calls answered without errors. Each one searched the web and came back with 9 or 10 sources. None of the answers mentioned the operator.