Safeguard
Developer Tools•

Devin Alternatives in 2026: Autonomous and Approval-First Agents

Devin runs autonomous sessions in a cloud VM and opens pull requests. Alternatives include OpenHands, mini-SWE-agent, Goose, Cline, OpenCode and Aider.

Safeguard Security Team
18 min read

Devin is Cognition's autonomous AI software engineer: cloud Devin works in a virtual machine and delivers pull requests, and Devin CLI runs locally. Open-source alternatives include OpenHands, mini-SWE-agent, Goose, Cline, OpenCode and Aider. Codex Cloud and Claude Code cloud sessions are hosted options from OpenAI and Anthropic.

There is also an approval-first option that keeps the AI plan you already pay for. Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. You can also connect Claude or ChatGPT to the Safeguard MCP server and use Safeguard from the chat you already work in.

This guide covers what Devin does according to its own docs, explains the choice between autonomous and approval-first agents, compares alternatives on facts from their repositories and docs, and sets up an approval-first workflow with real commands.

What Devin is, from Cognition's docs

Devin's docs open with: "Devin is an autonomous AI software engineer that can write, run and test code." There are two ways to use it.

Cloud Devin. The Devin CLI page describes Devin as "our cloud-based AI software engineer that runs in a virtual machine." You start sessions from the web app at app.devin.ai, by tagging Devin in a Slack or Microsoft Teams thread, by asking it to take Linear or Jira tickets, or through the Devin API.

Ask and Agent modes. Ask Devin is "a lightweight mode for exploring your codebase and planning tasks with Devin, without making changes to the actual code." Agent mode is its "full autonomous mode where it can write code, run commands, browse the web." The docs suggest starting in Ask for anything not fully scoped, then using Send to Devin to hand the plan to Agent mode.

The workspace. Each session has a shell, a VS Code environment and a browser that you can "monitor, interact with, and take over." To take over, you stop the session first, and the docs advise pausing Devin before you change anything so your edits do not conflict.

How work comes back. Devin's first-run guide says it "handles branching, PR creation, and CI monitoring," and fixes CI failures and review feedback by pushing new commits to the same branch.

GitHub access. A GitHub organisation admin connects Devin and grants access to all repositories or selected ones. Devin "uses the permissions granted at the organization level," not those of the person running the session, and by default it opens pull requests as Devin. Admins can switch that to open them as the linked user.

Devin CLI. Devin CLI is "a local command-line coding agent with deep Devin Cloud integration" that "works with your local files and environment." Its default permission mode, Normal, auto-approves read-only operations while "writes and shell commands require your explicit approval." Other modes are Accept Edits, Smart, Bypass, and Autonomous, which needs the OS sandbox. The docs say it "does not yet support Knowledge, Playbooks, or Secrets from your Devin account."

Autonomous or approval-first: the choice behind the tool

Most searches for Devin alternatives come down to one design question: should the agent finish a task on its own and hand you a pull request, or should it stop and ask before each change?

Autonomous agents take a task, work through it in their own environment and return a result. Cloud Devin, OpenHands, mini-SWE-agent, Codex Cloud and Claude Code cloud sessions all work this way. Your review happens at the end, on the diff and the CI results. This suits well-scoped tasks you can check afterwards, and it lets work continue while you do something else.

Approval-first agents run on your machine and pause before they write a file or run a command. Cline's README says "Every file edit and terminal command requires your approval." Devin CLI in Normal mode, OpenCode's plan agent, Goose in Manual Approval mode and the Safeguard CLI in Ask mode work the same way. Your review happens step by step, while the context is fresh.

Neither model is right for every task. Many teams use both: an autonomous agent for routine chores with tight scope, an approval-first agent for anything touching auth, payments, infrastructure or dependencies. The tables below use each tool's own mode names so you can see where each one starts.

ToolModes you can pickDefault we found
Devin CLINormal, Accept Edits, Smart, Bypass, Autonomous (with sandbox)Normal: writes and shell commands ask
ClinePlan or Act, auto-approve on or offAsks per edit and command
GooseAutonomous, Manual Approval, Smart Approval, Chat OnlyAutonomous
OpenCodebuild agent or plan agent, with per-permission rulesbuild agent, full access
AiderAuto-commit on or offCommits each edit
Safeguard CLIAsk, Auto, YoloAuto: known actions run, new ones ask

Devin alternatives compared

We confirmed every open-source licence below on the project's repository page. "Where the agent runs" means where the tool executes. Prompts and the files the agent reads still go to the model provider you configure, unless you use a local model.

ToolInterfaceLicenceModelsWhere the agent runsStyle
Devin (reference)Web app, Slack, Teams, API, CLIHosted Cognition serviceLite, Normal, Ultra, Fusion, SWE-2 agents, per admin settingsCloud VM; CLI on your machineAutonomous in the cloud; CLI asks by default
AiderTerminalApache 2.0Most hosted LLMs and local modelsYour machinePair programming, auto-commits
ClineVS Code, JetBrains, CLI, desktop appApache 2.0 (JetBrains plugin not open source)Anthropic, OpenAI, Google, OpenRouter, Bedrock, Vertex, Ollama, LM StudioYour machineApproval-first
GooseDesktop app, CLI, APIApache 2.015+ providersYour machineAutonomous by default, modes available
mini-SWE-agentCommand lineMITAny model via litellm, OpenRouter, PortkeyLocal, Docker, Podman, Apptainer, bubblewrapAutonomous on an issue
OpenCodeTerminal UI, beta desktop appMIT75+ providers and local modelsYour machinebuild or plan agent
OpenHandsSelf-hosted local stack, DockerMITAny LLM you configureYour machine, Docker, VMs or OpenHands CloudAutonomous, self-hosted

Autonomous and self-hosted

OpenHands. The OpenHands repository is MIT licensed. Its README describes a stack that "turns your coding agents into a self-hosted, always-on engineering team," running the OpenHands agent by default and able to drive Claude Code, Codex and Gemini CLI. It runs locally, in Docker with an optional sandbox per conversation, on VMs or on OpenHands Cloud. Know before adopting: the README warns that the non-sandboxed install gives the agent "full access to your filesystem," and it labels the project beta.

mini-SWE-agent. mini-SWE-agent calls itself "The 100 line AI agent that solves GitHub issues or helps you in your command line." It is MIT licensed, comes from the team behind SWE-bench, uses only bash as its tool and works with models through litellm, OpenRouter and Portkey. It runs in local environments, Docker or Podman, Apptainer and bubblewrap. Know before adopting: the README we read does not describe confirmation modes, so put it in a container if you run it unattended. Its predecessor, SWE-agent, is also MIT licensed, but its README now says mini-SWE-agent "has superseded SWE-agent."

Approval-first, on your machine

Cline. Cline is an Apache 2.0 agent for VS Code, a JetBrains plugin, a CLI and a desktop app for macOS and Windows. In Plan mode it explores and proposes; in Act mode it executes, and "Every file edit and terminal command requires your approval." Changes are tracked with checkpoints you can undo. Know before adopting: auto-approve can be switched on, the CLI also has a headless mode for CI, and the JetBrains plugin is not open source.

OpenCode. OpenCode is an MIT-licensed coding agent with a terminal UI and a beta desktop app. Tab switches between the build agent, which has full access, and the plan agent, which "Denies file edits by default" and "Asks permission before running bash commands." Its provider docs list more than 75 providers and local models. Know before adopting: the default is the build agent, so switch to plan if you want approval-first. We cover it in open-source OpenCode alternatives.

Aider. Aider is "AI pair programming in your terminal," licensed Apache 2.0 and installed with Python. It connects to nearly any LLM, including local models. Know before adopting: it works turn by turn with you rather than on its own, and it commits every change to git, so review with git log -p and undo with git.

Goose. Goose is an Apache 2.0 general-purpose agent with a desktop app for macOS, Linux and Windows, a CLI and an API, and it is part of the Agentic AI Foundation at the Linux Foundation. It works with more than 15 providers. Know before adopting: "Autonomous Mode is applied by default." Switch to Manual Approval or Smart Approval if you want it to ask.

Hosted agents from the model vendors

Codex Cloud. OpenAI's Codex Cloud runs each task in "its own workspace" that "can keep working while your computer is asleep." You build an environment from GitHub repositories, set internet access per environment with allowed domains, then review the changes and test results and commit or open a pull request. It needs a ChatGPT sign-in; OpenAI's pricing page lists Codex in the Free, Go, Plus, Pro, Business, Edu and Enterprise plans, with local and cloud usage sharing one allowance. The Codex CLI itself is Apache 2.0 and runs locally. More in OpenAI Codex alternatives.

Claude Code cloud sessions. Anthropic's docs describe a cloud session as "a Claude Code session that runs on cloud infrastructure instead of on your machine," in an isolated VM with network access limited by default. You start one from claude.ai/code, the Claude app, the desktop app or claude --cloud. Cloud sessions are available on Pro, Max and Team plans and for Enterprise users with premium seats or Chat + Claude Code seats, and they count toward your plan's usage limits. With the Claude GitHub App installed, Auto-fix can watch a pull request and push fixes for CI failures and review comments.

Setting up an approval-first workflow, step by step

This workflow works with any approval-first agent above. The Safeguard commands give you a check that does not depend on which agent you chose.

Step 1: Write the task like a ticket. Devin's docs recommend clear success criteria and enough context, as you would give a teammate. That advice holds for every agent. "Add rate limiting to POST /login, 5 attempts per minute per IP, with a test" is checkable. "Harden auth" is not.

Step 2: Branch and take a baseline.

git switch -c agent/login-rate-limit
curl -fsSL https://cli.safeguard.sh/install | bash
safeguard scan --dir .

The scan builds an SBOM and matches it against vulnerability databases, writing JSON files such as vuln.json and license.json under ./output. Keep them so you can compare later.

Step 3: Start the agent in its most cautious mode.

# Safeguard CLI: open the terminal, sign in, choose Ask
safeguard
#   /login
#   /permissions        (pick Ask)

# OpenCode: press Tab to use the read-only plan agent first
curl -fsSL https://opencode.ai/v2/install | bash
opencode

# Devin CLI: Normal mode asks before writes and shell commands
curl -fsSL https://cli.devin.ai/install.sh | bash
devin

# mini-SWE-agent, if you want an autonomous run on your machine
pip install mini-swe-agent
mini

For Goose, pick Manual Approval. For Cline, leave auto-approve off.

Step 4: Approve with intent. Read each command before you allow it. Package installs, git pushes and anything with sudo deserve a second look. Devin CLI's Smart mode always prompts for those, which is a useful list to copy.

Step 5: Review the diff and run the tests yourself.

git diff main --stat
git diff main -- src/
npm test        # or your project's test command

Step 6: Scan again before you merge.

safeguard scan --dir .
safeguard exec "summarise the critical findings in this repository"

A new finding that was not in your baseline usually points to a dependency the agent added or upgraded. Our guide to checking coding agent changes walks through this loop in more detail.

Step 7: Put the same check in CI. safeguard exec runs one non-interactive assistant turn, so a pipeline step can scan and summarise every agent-authored pull request, whichever agent wrote it.

Common mistakes

Granting every repository by default. Devin's GitHub integration lets an admin pick selected repositories. Do the same with any agent's GitHub app.

Treating "opened by an agent" as "reviewed". Devin opens pull requests as Devin by default, and Claude Code's Auto-fix can push fixes. Someone still has to read the diff.

Leaving broad modes on for shared repositories. Bypass in Devin CLI, Yolo in the Safeguard CLI and Autonomous in Goose skip prompts. Keep them for throwaway folders.

Running a self-hosted agent without its sandbox. OpenHands warns that the non-sandboxed install has full access to your filesystem. Use its Docker setup.

Scanning only the final branch. Without a baseline you cannot tell what the agent introduced.

Do the work properly with the Safeguard CLI

The Safeguard CLI is an approval-first assistant that writes code and knows your vulnerabilities. It scans code, container images and SBOMs on your own machine, sends only the results to the platform, and includes an assistant that can fix what it finds. Use it as your main agent, or run it after Devin or any tool above.

Install

A single static binary with no Node, Python or JVM needed. It runs on macOS, Linux and Windows, on x86_64 or arm64, with Windows on x86_64 only.

# macOS and Linux
curl -fsSL https://cli.safeguard.sh/install | bash

# Windows (PowerShell)
irm https://cli.safeguard.sh/install.ps1 | iex

First session

Run safeguard with no arguments to open the interactive terminal. /login signs you in through the browser and /scan . scans the current folder. Ask in plain language, for example "how many critical vulns do we have". @ attaches a file from the folder you started in, /resume picks up the last session in that folder, and /model shows or switches the AI model.

Keep the plan you already pay for

Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. To connect a model, see the CLI docs or run /model in a session.

Or bring Safeguard into the chat you already use. This demo connects Claude to the Safeguard MCP server with OAuth and chooses which Safeguard tools Claude can use:

Click through it at your own pace, or open it full screen.

Writing and fixing code, with your approval

The assistant has tools for your local files and for your Safeguard data, and picks whichever the question needs. Ask it to "fix the lodash CVE in this repo" and it starts from your real findings, then writes files, edits code and runs commands, with your approval. It also works as a general terminal assistant: the docs give "what's the latest file in ~/Downloads" as an example.

This demo shows the approval-first loop end to end. It attaches a computer running the Safeguard CLI and a folder, asks for a fix, reviews the diff and approves the command before it runs. The demo notes that computer work from Search is available and expanding:

Click through it at your own pace, or open it full screen.

Approvals

Tools that change things ask before they act. /permissions sets the mode: Ask prompts before every action, Auto approves known actions and asks for anything new (the default), and Yolo approves everything. For the approval-first workflow above, choose Ask.

Scans and CI with safeguard exec

safeguard scan --dir .
safeguard scan --repo https://github.com/your-org/your-repo
safeguard scan --image your-image:tag
safeguard scan --sbom bom.json
safeguard exec "summarise the critical findings in this repository"

safeguard validate checks CycloneDX, SPDX and VEX documents. Policies and gates are evaluated in the Safeguard platform, not by the CLI. When the local runner handles platform scan jobs, your source code never leaves your machine; only SBOMs and findings are uploaded. The platform adds reachability analysis and autonomous remediation with fix pull requests, which is off by default, so autonomy stays your choice. See the Safeguard CLI as a security-aware coding assistant.

One platform on every surface

The download page lists each surface. Start in the terminal with CLI 1.4.0, which also runs in CI/CD. Continue in desktop app 3.2.2 on Windows, macOS or Linux. Check findings on the iOS app or the Android app from Google Play. In your editor, use the VS Code, JetBrains or Open VSX extension. With nothing to install, the cloud sandbox gives you an isolated tenant against a seeded demo repo, free for seven days with no card, and the Cloud CLI runs the CLI on Safeguard's infrastructure.

FAQ

Where does Devin run?

Cloud Devin runs in a virtual machine, according to its docs, and you watch or take over through its shell, IDE and browser. Devin CLI runs in your terminal and works with your local files.

Is there an open-source alternative to Devin?

Yes. OpenHands and mini-SWE-agent are MIT licensed; Cline, Goose and Aider are Apache 2.0; OpenCode is MIT. We confirmed each licence on its repository page.

What is the difference between autonomous and approval-first agents?

An autonomous agent finishes a task and hands you the result to review. An approval-first agent asks before each file write or command. Several tools offer both, through modes.

If I switch to Safeguard, do I lose my Claude, ChatGPT or Codex plan?

No. Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. You can also connect Claude or ChatGPT to the Safeguard MCP server and use Safeguard from that chat.

Does the Safeguard CLI replace Devin?

It is not a feature-for-feature replacement. It writes and fixes code with your approval, starting from your vulnerability data, and scans what any agent changed. You can switch to it, or keep Devin and check its pull requests with Safeguard.

Can I check pull requests that Devin opens?

Yes. Check out the branch and run safeguard scan --dir ., or add safeguard exec to the CI job that runs on agent pull requests.

Does my source code leave my machine?

With any coding agent, prompts and the files it reads go to the model provider you configure, and cloud agents work on a copy of your repository in their own environment. With Safeguard scans, when the local runner handles platform scan jobs, only SBOMs and findings are uploaded.

Which approval mode should I use?

Start with Ask in the Safeguard CLI, Normal in Devin CLI, Manual Approval in Goose or auto-approve off in Cline. Loosen it only for throwaway folders.

Try it yourself

This walkthrough sets up the runner on your own machine: pick the platform, start it, approve it with its device code, then use the same CLI to scan from the terminal.

Click through it at your own pace, or open it full screen.

Keep autonomy where you want it and approvals where you need them. Download Safeguard, connect the Claude, ChatGPT or Codex plan you already have, and read the CLI docs before your next merge.

Quick check

In Devin CLI's default Normal mode, what runs without asking?

Read-only operations. Devin's docs say writes and shell commands require your explicit approval in Normal mode.

An agent opened a pull request and CI passed. Is it ready to merge?

Not on that alone. Read the diff, and scan the branch against your baseline, for example with safeguard scan --dir ., to see whether the agent added a dependency with a known vulnerability.

Sources

Last reviewed: 21 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.