docs/setup.md does not offer engine: claude as an option. That is not an oversight in the docs. The engine cannot be used through the documented path at all, and the README currently says otherwise.
What is actually true
The adapter is real. internal/engine/claude/claude.go shells out to claude -p, has its own tests, and newRunner selects it when the config says engine: claude (cmd/simplycubed/main.go:199). The Runner seam works.
Everything around it still assumes Codex on Azure.
The CLI refuses to start without Azure credentials, whatever engine you pick. engineEnv() is called unconditionally in the setup path and hard-requires both variables, and codex.WriteConfig runs unconditionally right after it. Verified against a repo whose config says engine: claude:
$ simplycubed preflight --repo-dir .
error: AZURE_OPENAI_ENDPOINT is not set. ...
$ simplycubed run owner/repo#1 --repo-dir .
error: AZURE_OPENAI_ENDPOINT is not set. ...
The Actions path cannot run it at any setting. The reusable workflow installs only the Codex CLI (npm install -g @openai/codex, both jobs), never claude. azure-openai-endpoint and azure-openai-api-key are required inputs and secrets. There is no ANTHROPIC reference anywhere in the repository.
So the only configuration that reaches claude -p is a local CLI run, on a machine that already has claude authenticated, and has Azure credentials set that the Claude path never uses.
What the docs claim
README.md:201 says it "runs headless (claude -p) against whatever credentials that CLI is already configured with, so there is no second key to manage here." True about credentials, and it omits that Azure is still mandatory and that Actions cannot run it.
README.md:209 and STATUS.md:79 both say the Claude adapter ships.
Work
- Make
engineEnv() and codex.WriteConfig conditional on the selected engine, so a Claude run does not demand credentials it never uses.
- Decide the Actions story. Installing the Claude CLI in the reusable workflow means an
anthropic-api-key secret and an engine input, which is a real addition rather than a docs fix.
- Until 1 and 2 land, correct the README and
STATUS.md to say the adapter exists and is reachable only from a local CLI run.
- Add the engine option to
docs/setup.md when it genuinely works there.
Acceptance
engine: claude runs with no Azure variables set.
- Either the reusable workflow runs it end to end, or the docs say plainly that it does not.
docs/setup.mddoes not offerengine: claudeas an option. That is not an oversight in the docs. The engine cannot be used through the documented path at all, and the README currently says otherwise.What is actually true
The adapter is real.
internal/engine/claude/claude.goshells out toclaude -p, has its own tests, andnewRunnerselects it when the config saysengine: claude(cmd/simplycubed/main.go:199). TheRunnerseam works.Everything around it still assumes Codex on Azure.
The CLI refuses to start without Azure credentials, whatever engine you pick.
engineEnv()is called unconditionally in the setup path and hard-requires both variables, andcodex.WriteConfigruns unconditionally right after it. Verified against a repo whose config saysengine: claude:The Actions path cannot run it at any setting. The reusable workflow installs only the Codex CLI (
npm install -g @openai/codex, both jobs), neverclaude.azure-openai-endpointandazure-openai-api-keyare required inputs and secrets. There is no ANTHROPIC reference anywhere in the repository.So the only configuration that reaches
claude -pis a local CLI run, on a machine that already hasclaudeauthenticated, and has Azure credentials set that the Claude path never uses.What the docs claim
README.md:201says it "runs headless (claude -p) against whatever credentials that CLI is already configured with, so there is no second key to manage here." True about credentials, and it omits that Azure is still mandatory and that Actions cannot run it.README.md:209andSTATUS.md:79both say the Claude adapter ships.Work
engineEnv()andcodex.WriteConfigconditional on the selected engine, so a Claude run does not demand credentials it never uses.anthropic-api-keysecret and an engine input, which is a real addition rather than a docs fix.STATUS.mdto say the adapter exists and is reachable only from a local CLI run.docs/setup.mdwhen it genuinely works there.Acceptance
engine: clauderuns with no Azure variables set.