Run your agents somewhere other than a laptop

Run your agents from wherever the work starts.

Define an agent once, with its instructions, skills, and tools. Start it from Slack, a pull request, an alert, or a schedule. Agentrun runs it on Claude Code, Codex, or OpenCode in its own environment, on the model you choose, and keeps a record of what it did and what it cost.

Runs on Claude CodeCodexOpenCode with a paid model or one you host
TodayExample
incident-triage PagerDuty alert · OpenCode · Qwen3-Coder on your GPUs
Checking Sentry2m 10s
pr-reviewer GitHub /review on #2268 · Claude Code · Claude Opus
Review posted$1.12 · 4m 51s
test-repair Linear ENG-412 · Codex · GPT
PR opened$0.94 · 9m 03s
catalog-enricher Nightly at 02:00 · OpenCode · GLM
3 retries, done$0.77 · 41m
oncall-handoff Slack @handoff in #oncall · Claude Code · Claude Opus
Summary posted$0.31 · 1m 20s

Every run keeps its full trace. Open one to read each step, tool call, and retry.

What teams run

The agents you already wrote, running on their own.

Anything you can describe in an agent definition can run here. These are the kinds of jobs teams hand over first.

Starts from a PagerDuty alert

Incident triage

Reads the alert, checks Sentry and recent deploys, names the affected service and a likely cause.

Comes back with a diagnosis and evidence in the incident thread.
Starts from a slash command on a pull request

Pull request review

Reviews the diff against your team's conventions, runs the tests, flags what a reviewer should look at first.

Comes back with review comments on the PR.
Starts when an issue is assigned in Linear

Test repair

Finds the failing test, works out whether the test or the code is wrong, and fixes the right one.

Comes back with a PR and the passing test run.
Runs nightly on a schedule

Catalog enrichment

Pulls new product rows, fills in categories and attributes from the text, and flags the ones it is unsure about.

Comes back with a validated file and an exceptions list.
Starts from a Slack mention

On-call handoff

Reads the last 24 hours of alerts, incidents, and open threads, and writes the handoff note the next person needs.

Comes back with a summary in the channel.
Starts from your API

Your own

Anything with instructions, a few skills, and the tools it needs. Point it at a repo, a database, or a queue.

Comes back with whatever you told it to produce, plus the trace.
How a run works

Someone asks. The agent works. You get the result and the bill.

The same six steps for every agent, whatever starts it. Here, one incident-triage run.

#incidents · 4:12 pm
Hey @triage, checkout p99 latency is over 2s since the 3:50 deploy. Can you look?
  1. Someone asks. In Slack here. It could be a pull request, an alert, a Linear issue, a schedule, or your API.
  2. Your agent's definition loads. The instructions and skills your team maintains, pinned to a version.
  3. A harness runs it in its own environment. OpenCode this time. Claude Code or Codex next time, same definition.
  4. The model you chose answers. A paid model on your key, or an open-weight one on your GPUs.
  5. The agent uses its tools. Sentry and GitHub here, over MCP, with access scoped to this run.
  6. The result goes back where the request came from. With the checks it passed and what it cost.
Affected servicecheckout-api
Likely causeConnection pool exhausted after 3:50 deploy
EvidenceSentry CHECKOUT-119, pool metrics, deploy diff
Reviewer checkAccepted
Tests on proposed fix212 passed, 1 skipped
Time6m 12s
Cost$0.38

Example result, posted back to the thread. Every real run keeps its full trace.

What you get

Run

Start work from the tools your team uses

Mention the agent in Slack, use a slash command on a pull request, assign it a Linear issue, let a PagerDuty alert start it, put it on a schedule, or call the API. Each run gets its own isolated environment, credentials scoped to that run, and the harness and model you chose. You can talk to a running agent from Slack or the web.

Slack · GitHub · Linear · PagerDuty · schedule · API
Define once

One agent definition, any harness

Keep instructions, skills, MCP tools, permissions, and credential references in one versioned definition. Agentrun adapts it for each harness, the software that actually runs your agent, such as Claude Code, Codex, or OpenCode, and tells you what carries over and what needs attention before you switch.

Skills and instructions carry over MCP tools and credentials carry over Hooks need adapting Subagents not portable yet
Tools

Let it check the systems you check

Connect Slack, GitHub, Sourcegraph, Sentry, Datadog, Linear, Zapier, Postgres, or anything else with an MCP server. The connections live in the agent's definition, and every run gets its own short-lived credentials, so a token never outlives the job.

Inspect

See what happened and what it cost

Open any run to read its steps, tool calls, retries, result, and cost. See every agent's runs in one place, and group failures across agents and models so the recurring ones stand out.

catalog-enricher · Codex · GPT Slack rate limit, 3 retries catalog-enricher · OpenCode · GLM malformed tool call oncall-handoff · Claude Code · Opus passed
Also included

Wondering if a cheaper model would do the job? Test it on your own runs.

Replay tasks from an agent's history across the setups you want to compare. You get pass rates, critical failures, runtime, and cost per successful run, so the decision to move a workflow is a table, not a hunch. Example below, illustrative data.

HarnessModelHostingPass rate (95% CI)Critical failuresp95 timeCost per successful run
Claude CodeClaude OpusModel provider91% (88 to 94)06m 40s$2.84
OpenCodeQwen3-CoderSelf-hosted89% (86 to 92)07m 05s$0.41
CodexGPTModel provider90% (87 to 93)06m 58s$2.31
OpenCodeGLMSelf-hostedNot runNot runNot runNot runGLM did not pass the tool-call compatibility check for this agent.
Incident triage: try OpenCode with Qwen3-Coder on a limited rollout.

86% cheaper per successful run, pass rate two points lower, no critical failures seen. Decide whether a drop of up to five points is acceptable before moving all of it. Other agents get their own comparison.

Illustrative figures. A pass here means the agent named the affected service and produced a diagnosis the reviewer accepted. Cost per successful run includes failed attempts and retries. Self-hosted inference is priced as the GPU time allocated to the run, idle capacity included.

Pay for the time your agents run.

Each plan includes monthly credits for active agent time. One credit is one dollar. Idle environments cost nothing.

Team
$250/month
  • Unlimited seats
  • $250 in credits each month, then pay as you go
  • Every harness, every trigger
  • Run history, traces, and comparisons
  • Connect models hosted on your GPUs
  • Budgets and policies for each agent
Start with Team
Individual
$50/month
  • 1 seat
  • $50 in credits each month, then pay as you go
  • Every harness, every trigger
  • Run history, traces, and comparisons
  • Bring your own model keys
Start with Individual
Free
$0/month
  • 1 seat
  • $10 in credits each month
  • Every harness, every trigger
  • Bring your own model keys
Start free
Active agent time $0.10 per minute, so $50 covers about 500 minutes Idle environments no charge Paid models your keys, provider rates Self-hosted models your GPU costs still apply

Start with one agent your team already uses.

Import its existing files, connect its tools, pick where it should start from, and run it. Pick a job you know well enough to judge the result.

$ npx agentrun init --from .claude