swenyai/sweny@v5 — runs any SWEny workflow YAML. Minimal input surface.
Input
Description
Default
workflow
Path to the workflow YAML file to execute (relative to working-directory)
required
claude-oauth-token
Claude Code OAuth token from a Max/Pro subscription
–
anthropic-api-key
Anthropic API key for Claude (pay-per-use billing)
–
agent
Coding agent that runs the nodes: claude or codex
claude
openai-api-key
OpenAI API key for agent: codex (passed to Codex as CODEX_API_KEY)
–
codex-version
Version of @openai/codex to install for agent: codex . Defaults to the version the Codex capabilities were tested against; a newer one runs with a warning
0.159.2
harness-policy
strict refuses a node whose policy the agent cannot enforce; warn runs it and lists it as degraded in the receipt. Empty uses the CLI default (strict under GitHub Actions)
–
max-tokens
Run-wide token budget (input plus output). Forwarded as --max-tokens only when set; the lowest of this and the workflow’s budget.tokens wins. The step fails on a CLI too old to enforce it, so a cap is never silently dropped
–
max-cost
Run-wide cost budget in US dollars (harness-reported cost, never estimated). Forwarded as --max-cost only when set. See Spend budgets
–
show-output
Print the workflow’s final answer in the job log. Off by default: the CLI prints only the path of the saved answer (.sweny/runs/<run-id>/output.md), since job logs are often readable by more people than the repo’s secrets. Redacted either way. Forwarded as --show-output only when set
false
cli-version
Version of @sweny-ai/core to install. The floating v5 tag defaults to latest; an immutable v5.<version> tag defaults to that exact version
latest
node-version
Node.js version to install
24
working-directory
Working directory to run from
.
pr-comment
On pull_request events, post or update one comment on the PR with the run receipt, a status-colored DAG, and per-node status and duration. Metadata only: no prompts, tool inputs, or model output. No-op on every other event. Set to false to opt out
true
With agent: claude you must provide either claude-oauth-token or anthropic-api-key; with agent: codex, openai-api-key.
The comment needs pull-requests: write on the job’s GITHUB_TOKEN. Grant it only when pr-comment is enabled:
permissions:
contents: read
pull-requests: write
The comment is created once and updated in place on later runs (found by a hidden <!-- sweny-run-comment:<workflow-id> --> marker). If posting fails (for example a fork PR with a read-only token), the step warns and the job is unaffected. Needs a @sweny-ai/core version with --comment-file.
On other CI systems, run sweny workflow run <file> --comment-file comment.md and post the file with your runner’s API.
Pass any additional credentials your workflow needs via env: on the step — the CLI auto-loads environment variables.
Analyze only – the executor runs every node read-only and stops at the first natural-language conditional edge. Enforced by the executor, not by prompt.
false
review-mode
PR merge behavior: auto (enable GitHub auto-merge when CI passes, automatically suppressed for high-risk changes like migrations, auth, lockfiles, or >20 files) or review (open PR and wait for human approval)
review
novelty-mode
Only report novel issues not already tracked in your issue tracker
true
issue-override
Existing issue identifier to work on (e.g., ENG-123). Skips log scanning and works directly on this issue.
–
additional-instructions
Extra guidance for the agent (e.g., "focus on the webhook handler")
Comma-separated list of workspace integrations to enable. Each tool injects its MCP server when the corresponding credential environment variable is present
Additional MCP servers as a JSON object. Each key is a server name; each value is an MCPServerConfig with fields: type, command, args, env, url, headers
–
Provider-based MCP servers (GitHub, Linear, Datadog) are injected automatically based on your configured providers – you do not need to add them here.
After the triage workflow completes, SWEny sets these outputs on the action step. Use them in subsequent workflow steps with ${{ steps.<step-id>.outputs.<output> }}.
Output
Description
Example
issues-found
Whether any issues were found during investigation