Self-Driving Repo Blog
← All posts
2026-04-13

Self-Driving Repo vs GitHub Agentic Workflows

GitHub recently launched Agentic Workflows (gh-aw) — a way to run AI agents inside GitHub Actions using markdown-based configuration. It's a big move: the platform that hosts your code now wants to automate it with AI.

Then it hit Hacker News. The reception was... mixed. Developers raised concerns about complexity, cost opacity, agent quality, and the fact that GitHub staff confirmed it's "early research" from GitHub Next — not production software.

We think the idea is great. More people should have recurring AI agents working on their repos. But gh-aw's launch validated exactly the problems Self-Driving Repo was built to solve. Here's why.

The big picture

Both products let you set up AI agents that run on a schedule inside your GitHub repo. The difference is in how much control you get.

Self-Driving RepoGitHub gh-aw
SetupInstall GitHub App + web dashboard (no code) or JSONInstall CLI, write markdown + lock file
StatusResearch PreviewTechnical Preview ("early research")
Budget controlHard dollar cap per agent/monthNone — "premium requests" billing
Model choiceAny model via OpenRouterCopilot, Claude, Codex, or Gemini
Web searchYes (built-in via Parallel)Yes (web-fetch + web-search tools)
MCP supportPlannedYes (stdio, Docker, HTTP, registry)
Browser automationNoYes (Playwright)
Persistent memoryNoYes (cache + repo memory)
Upstream reposMount other repos read-onlyNo
ConfigJSON in repo or web dashboardMarkdown + YAML + lock file
Lock-inZero — remove app, keep everythingTied to GitHub Actions

1. Budget caps: no surprise bills

This was the single biggest concern in the Hacker News thread — and it's the single biggest difference between the two products.

With Self-Driving Repo, every agent has a hard dollar budget:

{
  "budget_cents": 1000,
  "budget_period": "month"
}

When the budget is spent, the agent stops. Period. No overages, no runaway costs, no surprises.

gh-aw has no equivalent. Each workflow run costs roughly two "premium requests," and there's no per-agent spending limit. As one HN commenter put it, agentic systems "consume tokens continuously" — and without hard caps, that's a blank check. Multiple commenters raised suspicions about the incentive to prioritize "revenue by consuming tokens" over user value.

For teams experimenting with AI automation, cost predictability isn't a nice-to-have — it's the thing that lets you actually try it without anxiety.

2. Model freedom via OpenRouter

With Self-Driving Repo, you pick the model for each agent:

{
  "llm_model": "anthropic/claude-sonnet-4"
}

Want Claude for research and GPT for code generation? Different models for different agents? A cheap model for simple tasks and a powerful one for complex analysis? Done.

gh-aw supports four engines — Copilot, Claude, Codex, and Gemini — but you're limited to those four, and the choice is tied to the workflow configuration. Self-Driving Repo supports anything on OpenRouter, which means hundreds of models including open-source options like Llama and Mistral.

3. Tooling: different philosophies

Let's be honest: gh-aw has an impressive tooling story. Web fetch, web search, Playwright for browser automation, persistent memory across runs, a documentation search index, and full MCP support with pre-configured servers for Sentry, Slack, Notion, DataDog, and more.

On raw feature count, gh-aw wins. But there's a catch: every tool requires YAML configuration in the markdown frontmatter. Want web search? Configure the tool. Want MCP? Write a multi-line YAML block with command, args, env vars, and allowed tool lists. Want Playwright? Specify the version. The power is real, but so is the configuration surface.

Self-Driving Repo takes a different approach: tools that work out of the box.

Web search is built in via Parallel — no configuration needed. Every agent can search the web by default.

Upstream repos let you mount other GitHub repos as read-only context with one line of config:

{
  "tools": {
    "upstreamRepos": ["facebook/react", "vercel/next.js"]
  }
}

An agent that watches upstream dependencies for breaking changes? Built-in. gh-aw has no equivalent for cross-repo context.

Explicit tool permissions — every capability is declared per agent in the JSON config. Readable, diffable, no YAML to parse.

Where gh-aw has us beat today: browser automation (Playwright), persistent memory across runs, and MCP support. We're adding MCP — but our approach will be a URL in JSON or a dropdown in the dashboard, not a YAML block.

4. No coding required — for real

gh-aw markets itself as natural-language configuration, but the reality is more involved. You need to install a CLI extension (gh extension install github/gh-aw), write a markdown file with YAML frontmatter, run a compile step to generate a lock file, and commit both files to your repo. One HN commenter summed it up: "You still have to write tons of gibberish YAML" to constrain agent permissions.

Self-Driving Repo can be set up entirely from the web dashboard at selfdrivingrepo.com. Pick a repo, define your agents, set a budget, done. No CLI, no compile step, no two-file system. If you prefer config-as-code, the JSON file works too — but it's optional, not required.

5. Coming soon: MCP support (simpler than gh-aw's)

gh-aw already has MCP support — and it's comprehensive. Stdio, Docker containers, HTTP servers, registry-based servers. Pre-configured integrations for Sentry, Slack, Notion, DataDog, Azure, and more. Credit where it's due: they shipped this well.

But the configuration tells a story. Here's what adding an MCP server looks like in gh-aw:

mcp-servers:
  sentry:
    command: "uvx"
    args: ["--from", "git+https://github.com/sentry/mcp-server", "sentry-mcp"]
    env:
      SENTRY_AUTH_TOKEN: "${{ secrets.SENTRY_TOKEN }}"
    allowed: ["search_issues", "get_issue"]

Here's what it will look like in Self-Driving Repo:

{
  "tools": {
    "mcp": ["https://mcp.sentry.io"]
  }
}

Same capability, less ceremony. And there's a key difference: gh-aw's MCP servers are read-only — any write operation has to be routed through their "safe outputs" system, adding yet another configuration layer. Self-Driving Repo will allow MCP writes directly, governed by budget caps and per-agent permissions.

Where gh-aw wins

We're not going to pretend gh-aw isn't impressive. It is. Here's where it's genuinely better:

- Richer tooling. Playwright for browser automation, persistent cache and repo memory across runs, Brave web search, QMD documentation search, granular bash command allowlisting. These are capabilities Self-Driving Repo doesn't have yet.
- Full MCP support, shipping now. Stdio, Docker, HTTP, and registry-based MCP servers with pre-configured integrations for Sentry, Slack, Notion, DataDog, and more. We're still building ours.
- Event-driven triggers. gh-aw can react to issues, PRs, and CI failures in real-time. Self-Driving Repo is currently schedule-only.
- First-party GitHub integration. The distribution advantage is enormous.
- Serious security model. "Zero secrets in the agent" — write tokens never reach the agent process, only a separate isolated job. An Agent Workflow Firewall blocks non-allowlisted network traffic at the kernel level. AI-powered threat detection scans for prompt injection, leaked credentials, and malicious code before changes are applied. Safe outputs enforce hard limits (e.g., max one issue per run).
- Proven at scale. GitHub's reference factory runs 400+ production workflows. Their Plan Command alone has proposed 761 PRs and merged 514 (67% merge rate). That's real-world validation.

If you need maximum tooling power and don't mind the configuration complexity, gh-aw is the more capable platform today.

What Hacker News got right

The HN discussion wasn't just criticism for criticism's sake. Developers raised legitimate points that any AI agent product needs to address:

- Agents aren't smart enough yet — Reports of agents hallucinating syntax, ignoring available tools (LSPs, refactoring tools), and doing brute-force grep instead of structured analysis. This is a real limitation of the current generation of coding agents, and it affects all products in this space, including ours.
- Security is hard — One user accidentally created a token by misclicking a prompt. Permission models need to be simple enough that mistakes don't happen.
- Cost must be predictable — The loudest theme in the thread. Developers want to experiment without fear.

We built Self-Driving Repo around the last two points. Budget caps and explicit tool permissions aren't features — they're the foundation.

The bottom line

GitHub Agentic Workflows is the more powerful platform — more tools, more integrations, more configuration options. If you're a platform engineer who's comfortable with YAML frontmatter and lock files, it's a serious option.

But power isn't the bottleneck. The bottleneck is adoption. Most developers won't set up recurring AI agents if it means installing a CLI, writing markdown with YAML frontmatter, compiling lock files, and hoping the "premium requests" billing doesn't surprise them.

Self-Driving Repo is the simplest way to get AI agents running on your repo. Budget caps mean you never worry about costs. OpenRouter means you pick any model. A web dashboard means you don't write a single line of config if you don't want to.

Both products are early. gh-aw is the power tool. Self-Driving Repo is the simple one — and we think simplicity wins adoption.

No CLI install. No YAML. No lock files. No surprise bills.

Get started at selfdrivingrepo.com