Product
Industries
Roles
Research
Resources

The whole product on one page

Product overview

Oxagen connects coding-agent runs to the people, work items, code changes, costs, and outcomes behind them. Engineering teams use that record to direct supported agents, share reviewed steering and toolbelts, enforce controls on mediated actions, and improve how the next task gets done.

An illustrative work item with its Done Checklist approved, a run that opened a pull request, required checks read on the head commit, a person's acceptance, and the merge. Deployed is a separate state the figure leaves unreached.

One work item and its states

  1. Done Checklist approvedReached
  2. Pull request opened by the runReached
  3. Required checks read on the head commitReached
  4. Accepted by a personReached
  5. MergedReached
  6. DeployedPending
Illustrative Work item states from the Work record and its docs

Work

A reviewer opens a pull request and asks why it exists. The answer sits in a tracker, in a run on someone's laptop, and in a checklist nobody wrote down. Oxagen puts them on one work item.

Triage suggests a priority and a first Done Checklist, the short list of things a reviewer checks. A person approves the checklist and sends the item to one agent. When the run ends, the item shows the pull request, its head commit, and the checks the base branch requires on that commit.

Accept records a person's acceptance of that head commit and merges nothing. The item is done once a person has accepted it and the pull request has merged, in either order. A pull request closed without merging is not done.

An illustrative work record with its source, Done Checklist progress, the run that worked on it, its pull request, the required checks, and the open acceptance.

One work item

Source
GitHub issue #218
Done Checklist
5 items approvedDone
Run
Claude Code run with its recorded costDone
Pull request
Opened on the linked repositoryDone
Required checks
Passed on the head commitDone
Acceptance
Waiting for a personOpen
Illustrative Fields from the Oxagen work record

Mandates

For a call routed through Oxagen, a rule your team wrote allows it, denies it, or routes it to a named person. For a mediated connection, Oxagen uses the connection credential on the agent's behalf, and the agent does not receive it. In observe mode, Oxagen records what the policy would decide and lets the call go ahead.

An agent's identity, permissions, toolbelt, steering, and budget together make up its mandate. Oxagen checks those terms on calls routed through it and records each decision, so the people who set them can see how they applied.

The Bug fixer agent's mandate. Security owns its access, Finance owns its budget of $20 a run with $11.64 spent, Engineering owns its tools, and Oxagen keeps the record of 412 frames. A request to read the repository is allowed by a rule.

One agent's mandate

Bug fixerMandate billing-fixes
  • AccessSecurityAsks for GitHub when the task needs it
  • Budget and rulesFinance$11.64 of $20 this run
  • EquipmentEngineeringget_issuecreate_pull_requestrun-tests
  • RecordOxagen412 frames recorded
RequestRead oxageninc/productAllowed by rule repo.read
Illustrative Each clause names the team that owns it

Runs

An agent that works for an hour leaves a scrollback nobody reads. Oxagen records the run while the agent works: each prompt, each tool call and the rule that answered it, the files git reports as changed, and the cost of each model call it carried.

Know whose authority is behind the action. The record names the agent that asked, the person it acted for, the rule that answered, and who approved the call when a person was required, beside its result and cost.

The record holds only what the agent's computer reported, and the coverage statement names what each harness reports. Cursor's model calls do not pass through Oxagen, so their cost is not recorded.

A release agent's run on Claude Code. It read the repository, asked to push to the release branch and waited for Sam Chen to approve, edited the release notes, opened a pull request, and ended with its record locked. Each step names the rule that answered it and what it cost, $2.84 in all.

One run record

Cut the 4.11.0 release notesRelease agent run by Priya Shah$2.84Cost so far
  1. Run started on Claude CodeMandate release. Operator Priya Shah.
  2. Read 22 files and 31 merged pull requestsAllowed by rule repo.read+$0.62
  3. Asked to push to release/4.11Routed to Sam Chen by rule release-branch+$0.04
  4. Sam Chen approved the pushAnswered in 3 minutes
  5. Edited docs/releases/v4.11.0.mdxAllowed by rule docs.write+$1.31
  6. Opened pull request #81194 of 4 checks passed on the head commit+$0.87
  7. Run ended after 37 stepsOxagen locked the record
Locked at 09:33Locked means any change after this point shows.sha256:f2c9…34ef
Illustrative A run from its first step to its locked record

Setup

  1. Install the CLI

    Install the Oxagen app on the machine the agent runs on. It puts the oxagen command on your path.

  2. Enroll the agent

    Run oxagen agent enroll --harness claude-code or name Codex, Cursor, or Stella. Enrollment writes the harness's hooks and gives the machine its own identity in the workspace.

  3. Confirm the first run

    Start the agent and open Runs. The run appears while the agent works.

Supported agents

Controls Oxagen applies to each supported agent
ControlClaude CodeCodexCursorStella
Record each tool callYesYesYesYes
Let a rule allow or deny a tool callYesYesYesYes
Send a tool call to a personPartialClaude Code asks you on your own machine.NoOxagen denies the call and says why.NoOxagen denies the call and says why.PartialStella holds the call for your approval.
Record model calls and their costYesYesNoCursor sends model calls to its own servers.PartialFor Anthropic models.
Send a message to a running agentYesYesPartialDelivered at the end of the turn.Yes
Stop a runYesPartialOxagen blocks the next tool call and ends the model call in progress.PartialOxagen blocks the next tool call.Yes

Product walkthrough

Bring one piece of work and see how its runs, controls, and record fit together.