vise

Vise runs coding agents on hosts you control.

Open-source background coding agents. Describe a task and a repo. Vise runs the agent on your machine, on your model credentials, and tracks the pull request until a person merges it.

curl -fsSL https://vise.sh/install | sh

macOS (Apple Silicon) · Linux (x86_64, arm64) · Docker and git are the only prerequisites

Dual-licensed: MIT or Apache-2.0 Built on ACP

A person still reviews and merges every PR. Vise just doesn't stop watching after it opens.

A session, end to end

Watch one run.

The problem

The agent isn't the hard part anymore.

Running one well is. It takes a host, a way to launch it from somewhere other than your laptop, and someone watching the pull request after it opens. Most teams that run agents seriously end up building all three by hand. Some of the most engineering-mature teams already have. You'd rather not maintain your own fork of it.

The comparison

Vise vs. hosted background agents

Hosted background agents run the vendor's agent, in the vendor's cloud, on the vendor's terms. Vise is the same job on your infrastructure.

ViseHosted background agents
Where the agent runsYour host: laptop, VM, CI runnerVendor's cloud
Whose model credentialsYours. Vise is never in the inference pathVendor's, billed through them
Which agent harnessClaude Code today; more can be addedVendor's own agent
Repo accessClone on your host, your GitHub tokenVendor app installed on your org
Who mergesA person, alwaysVaries; some auto-merge
PR tracking after openPolled to merge; review and check state recorded as eventsVaries
Can you read the scheduler and sandbox?Yes, it's open sourceNo
Hosted optionNo. Self-hosted onlyYes

How it works

Three steps. No changes to the agent you already run.

YOUR INFRASTRUCTURE vise CLI vise-server + Postgres vise-host repo clone + agent GitHub pull request POST /sessions host claims the session ACP pushes branch, opens PR polls review + check state recorded as session events

Step 1

Enroll a host

Point Vise at a machine you control. It claims sessions and runs the agent.

$ vise hosts create laptop

Step 2

Start a session

Describe the task and the repo. The host clones it and runs the agent there over ACP, the Agent Client Protocol, an open standard for driving coding agents.

$ vise sessions create "fix the flaky retry test, run the suite, open a PR" --repo acme/billing --watch

Step 3

Vise tracks the PR

The agent branches, commits, pushes, and opens the PR itself. Vise polls it and records review and check state until it merges. When a reviewer asks for changes, a follow-up session pushes the fix to the same PR.

$ vise sessions follow-up ses_8f31 --watch

Configure the agent

One API call sets the whole session.

# POST /sessions
{
  "agent": {
    "harness": "claude-code",
    "model": "<your model>",
    "instructions": "follow CONTRIBUTING.md, keep PRs small"
  },
  "environment": {
    "kind": "github_repo",
    "repo": "acme/billing",
    "base_branch": "main"
  },
  "input": "fix the flaky retry test, run the suite, open a PR"
}
HarnessThe agent that runs the session. Set per session.
ModelSet per session. The agent runs on the model and credentials you configure.
InstructionsStanding guidance for the agent: conventions to follow, what to avoid.
EnvironmentThe repo and the base branch the work starts from.

What you get

The infrastructure, not another agent.

Self-hostedvise-server needs Postgres. vise-host runs on any machine you enroll: a laptop, a VM, a CI runner.
Built on ACPVise drives the agent over ACP, not a hardcoded integration. Claude Code is the harness wired today. More can be added without changing the protocol.
PR trackingEvery PR Vise opens is polled until it merges or closes, with review state and check state recorded as events.
Follow-up sessionsWhen a reviewer asks for changes, a follow-up session gets the review thread and pushes a fix to the same PR.
Your model credentialsThe agent runs on credentials you configure. Vise never sits in that path.
Open sourceRead the scheduler, the sandboxing, and the PR tracker before you trust them with your repo.

Fit

Built for teams already running agents for real

  • Agents already run against a real repository, and more than one person depends on the result.
  • Someone on the team has already written a script or a cron job to launch agents outside a laptop.
  • You'd rather read the code that runs your agent than take a SaaS's word for it.

Not a fit if

  • You want autocomplete or an in-editor pair programmer. Vise runs the agent you already use; it doesn't replace your editor.
  • You want a hosted product with nothing to run yourself. Vise is self-hosted: you run Postgres and the host.
  • You need code generation without human review. Every Vise PR waits for a person.

Why open source

Read it before you trust it.

The thing that runs an agent against your repo should be something you can read. The scheduler, the sandbox, and the PR tracker are all in the repository.

Vise started inside our own tools. They needed coding agents running somewhere, and we didn't want to tie them to one model provider, one harness, or one environment. So we built the neutral layer underneath and open-sourced it.

Status

What ships today, what's next

TodayNext
Claude Code harness · GitHub repositories · PR and check tracking · follow-up sessions · macOS and Linux hosts mcp_servers wired to the agent (the API accepts the field today) · additional harnesses

Public roadmapsoon · Contributing

FAQ

The questions engineers ask

Do I have to change the agent I already use?

No. Vise drives the agent over ACP. Claude Code works today, and you set the harness per session.

Where does the agent run, and what can it reach?

On a host you enroll. The agent runs in a clone of the repo on that machine, using the GitHub token and model credentials you configured.

Who opens the pull request?

The agent does, from a branch pushed from your host. It authenticates with the GitHub token you configured at install, so commits and the PR are authored by that token's user. A person reviews and merges. Vise does neither.

Is any of this hosted by Vise?

No. You run vise-server, Postgres, and vise-host yourself. Nothing in the loop is a Vise-run service.

What's the license?

Dual-licensed under MIT or Apache-2.0, your choice. The server, the host, and the CLI are in one repository.

What's ACP?

The Agent Client Protocol, an open standard for driving coding agents. Vise speaks ACP instead of a hardcoded integration, so a new harness is a change to the host, not a fork of Vise or a new API.

Run it on a machine you already have.

curl -fsSL https://vise.sh/install | sh

macOS (Apple Silicon) · Linux (x86_64, arm64) · Docker and git are the only prerequisites