Skip to content

FAQ

The GitHub Action and CLI are free and open source. You pay for Claude usage only.

  • Claude Max/Pro subscription (claude-oauth-token) — triage runs are included in your existing subscription. No per-run charge.
  • Anthropic API key (anthropic-api-key) — pay-per-use. A typical triage run costs roughly $0.10-$0.50 depending on log volume and investigation depth.

The Workflow Marketplace is free to browse — copy any workflow into your repo and run it on your own infrastructure.

Claude, via headless Claude Code — not the raw Anthropic API. Claude Code provides tool use, context management, and structured output built into the runtime. SWEny’s executor sends each node’s instruction and tools to Claude Code, which handles the rest.

SWEny ships three actions. Pick the one that matches your use case:

ActionUse case
swenyai/triage@v1SRE triage — monitors alerts, files tickets, opens fix PRs
swenyai/e2e@v1Agentic E2E browser tests — AI drives a real browser
swenyai/sweny@v5Generic runner — execute any SWEny workflow YAML

Most users start with triage. See Action Setup for configuration details.

Built-in skills: Sentry, Datadog, and BetterStack (observability), GitHub (git), Linear (issue tracking), Slack and Notification (notifications). These have native skill integrations with purpose-built tools.

Via Action inputs: CloudWatch, Splunk, Elasticsearch, New Relic, Grafana Loki, Honeycomb, Axiom, Prometheus, PagerDuty, OpsGenie, Vercel, Supabase, Netlify, Fly.io, Render, Heroku. Set observability-provider to the one you use and add the relevant credentials.

Via MCP servers: Any tool with an MCP server can be added using the mcp-servers-json input on swenyai/triage@v1. See MCP Servers.

For testing: Set observability-provider: file and point log-file-path at a local JSON log file. No external API calls.

TrackerConfiguration
GitHub IssuesDefault — no extra credentials needed
LinearSet issue-tracker-provider: linear + linear-api-key + linear-team-id
JiraSet issue-tracker-provider: jira + jira-base-url + jira-email + jira-api-token

Yes. The fastest way is to describe what you want:

Terminal window
sweny workflow create "your task description here"

SWEny generates a full workflow DAG from natural language — with nodes, conditional routing, structured output schemas, and the right skills at each step. Refine it with sweny workflow edit, or hand-edit the YAML.

You can also:

  • Export a built-in workflow as a starting point: sweny workflow export triage
  • Write YAML by hand and run it: sweny workflow run my-workflow.yml
  • Use Studio to visually build and edit workflows in the browser

See Custom Workflows and YAML Reference for the full guide.

Skills are groups of tools. The github skill provides 7 tools: github_search_code, github_get_issue, github_search_issues, github_create_issue, github_create_pr, github_list_recent_commits, and github_get_file. Each skill declares its required environment variables — set them and the skill activates automatically.

At each node in the workflow, you list which skill IDs are available. Claude only sees tools from the skills assigned to that node. This keeps each step focused and prevents tool sprawl.

See Skills Overview for the full catalog and configuration details.

When using the GitHub Action or CLI, SWEny runs entirely within your infrastructure:

  • GitHub Action — runs on GitHub Actions runners. Your code stays in the runner. API calls go only to your configured providers (Sentry, Datadog, Linear, etc.) and to Anthropic (for Claude).
  • CLI — runs on your local machine. Same boundaries apply.

The Action and CLI are standalone open-source tools with no phone-home behavior. Nothing is sent to SWEny servers.

SWEny does not run a managed cloud service today — everything executes inside your CI runners or your local machine.

The coding-agent-provider input on swenyai/triage@v1 supports three options for the Implement workflow:

ProviderInput valueCredential
Claude (default)claudeanthropic-api-key or claude-oauth-token
OpenAI Codexcodexopenai-api-key
Google Geminigeminigemini-api-key

The Triage workflow always uses Claude for investigation and routing. The implementation step (writing code, opening PRs) can use any of the three providers.

Not by default. The default review-mode is review — PRs are opened and wait for human approval.

Set review-mode: auto to enable GitHub auto-merge when CI passes. Even then, SWEny automatically suppresses auto-merge for high-risk changes: migrations, auth-related files, lockfile changes, or diffs touching more than 20 files.

Only if you want it to create issues and PRs. For a read-only dry run, set dry-run: true and use these minimal permissions:

permissions:
contents: read
issues: read

For full operation (creating issues, opening PRs), grant:

permissions:
contents: write
issues: write
pull-requests: write

SWEny never pushes directly to protected branches. It creates feature branches and opens PRs.

Why does SWEny say “no novel issues found”?

Section titled “Why does SWEny say “no novel issues found”?”

Common causes:

  • Time range too narrow — increase time-range (e.g., 4h to 24h or 7d)
  • All issues already trackednovelty-mode: true (the default) skips issues that match existing tickets. Set novelty-mode: false to force re-investigation
  • Service filter too narrow — check that service-filter matches your service names
  • Observability credentials invalid — verify your API keys are correct and have the right scopes

No. Before creating an issue, the Triage workflow searches your issue tracker for recent issues matching the same error pattern. If a match exists, it skips to the terminal node instead of filing a duplicate. Set novelty-mode: false to disable this behavior during testing.

Yes. Set source-control-provider: gitlab and add gitlab-token and gitlab-project-id. The GitHub Action runs in GitHub Actions but can interact with GitLab repositories. The CLI works against any GitLab instance.