The control plane for AI engineering

Build better software,
faster.

Steer your coding agents. Trace their work from its source to its outcome. Improve the next run.

Product views throughout this page use illustrative data.

Works with

Supported agents and controls

Keep the coding agents your team uses. Oxagen brings recorded work from supported agents into one workspace. Capture, cost reporting, live messages, and approvals differ by integration.

The marks below show agents, providers, and integration paths to check for your setup.

Claude CodeCoding agent

Anthropic’s coding agent for the terminal and the IDE.

Oxagen’s hooks capture the prompts, tool activity, and stops Claude Code exposes. Check the support table for live direction and approval coverage.

Command
oxagen agent enroll --harness claude-code
OpenAIModels and Agents SDK

The GPT models, and the OpenAI Agents SDK for building agents on them.

Oxagen records supported model calls routed through it. For an Agents SDK agent, check the wrapper’s capture coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
LangGraphAgent framework

LangChain’s library for agents built as graphs of steps that keep state.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
PythonLanguage

The language most agent frameworks ship in first.

Start a custom agent under oxagen agent run. Oxagen records the activity the integration reports. Controls apply to supported calls routed through Oxagen.

Command
oxagen agent run --name my-agent -- python agent.py
CursorCode editor

The AI code editor, and its cursor-agent command line.

Oxagen records the activity Cursor exposes. Model cost capture, live direction, and controls depend on the integration.

Command
oxagen agent enroll --harness cursor
Vercel AI SDKAgent SDK

Vercel’s TypeScript toolkit for building agents and AI apps.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
CrewAIAgent framework

A Python framework for crews of agents that each take a role.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
AnthropicModel provider

The company behind the Claude models.

Bring your own Anthropic key. Oxagen counts and prices each Claude call routed through it, and the run’s budget applies.

RustLanguage

For agents built for speed and memory safety.

Start a custom agent under oxagen agent run. Oxagen records the activity the integration reports. Controls apply to supported calls routed through Oxagen.

Command
oxagen agent run --name my-agent -- ./target/release/agent
CodexCoding agent

OpenAI’s coding agent for the terminal, the IDE, and the Codex app.

Captured Codex activity joins the workspace’s run records. Check the support table for capture, live direction, and control coverage.

Command
oxagen agent enroll --harness codex
MastraAgent framework

An open-source TypeScript framework for agents and workflows.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
MCPProtocol

The Model Context Protocol, the open standard agents use to call tools.

Oxagen’s MCP server gives any MCP client Oxagen’s own tools. Enrolling a harness adds it under the name oxagen.

StellaCoding agent

The open-source coding agent Oxagen builds.

Oxagen adds its hook block to Stella’s settings and records each run beside your other agents.

Command
oxagen agent enroll --harness stella
Claude Agent SDKAgent SDK

Anthropic’s SDK for building agents on the same loop as Claude Code.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
TypeScriptLanguage

Typed JavaScript, the language of the AI SDK and Mastra.

Start a custom agent under oxagen agent run. Oxagen records the activity the integration reports. Controls apply to supported calls routed through Oxagen.

Command
oxagen agent run --name my-agent -- node agent.js
LangChainAgent framework

The open-source framework that chains model calls, tools, and retrieval.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
Google ADKAgent SDK

Google’s Agent Development Kit for building and deploying agents.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
GoLanguage

For agents that ship as one small binary.

Start a custom agent under oxagen agent run. Oxagen records the activity the integration reports. Controls apply to supported calls routed through Oxagen.

Command
oxagen agent run --name my-agent -- go run ./cmd/agent
LlamaIndexAgent framework

A framework for agents that answer from your own documents and data.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
Claude DesktopDesktop app

Anthropic’s desktop app for Claude.

Claude Desktop reaches Oxagen through the Oxagen MCP server. Each call to Oxagen’s tools is checked and recorded.

Pydantic AIAgent framework

A Python agent framework from the Pydantic team, with typed inputs and outputs.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
JavaLanguage

For agents that live inside the JVM services a company already runs.

Start a custom agent under oxagen agent run. Oxagen records the activity the integration reports. Controls apply to supported calls routed through Oxagen.

Command
oxagen agent run --name my-agent -- java -jar agent.jar
AutoGenAgent framework

Microsoft’s open-source framework for agents that work together in conversation.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
Strands AgentsAgent SDK

AWS’s open-source SDK for agents that a model drives step by step.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })
smolagentsAgent framework

Hugging Face’s small library for agents that write and run code.

With a supported wrapper, captured steps join the run record. Rules apply to tool calls routed through Oxagen. Check the support table for capture and control coverage. The wrapper below is illustrative.

Code change
oxagen.agent.wrap({ ...your agent code here })

Product

Agent work and delivery

Oxagen connects the reason for the work to the recorded runs, instructions, changes, and results behind it.

Work

Connected work items

Follow work from its source to the change. Bring work from supported trackers into one workspace, with its operator, captured runs, instruction versions, pull requests, checks, and cost.

Keep acceptance criteria beside the result. A passing check, a merged pull request, a deployment, and an accepted work item each answer a different question.

Ground the next estimate in work you have already completed. Compare scope, agent effort, and cost, then account for human review and dependencies.

The tracker view uses illustrative data. Confirm connector coverage for your team’s tracker before setup.

Support cases
Roadmap and specs
Northwind billingWorkspace0 trackers
Work itemAgentEstimate
    0Open items
    0Agent minutes
    $0Projected cost

    Illustrative estimates. Agent minutes exclude human review and waiting time.

    Mandates

    Shared steering and toolbelts

    Turn a useful correction into guidance the team can reuse. Review steering, keep its version history, and see which version a supported run received. Equip supported agents from one shared toolbelt.

    Set identity, permissions, tools, steering, and budget in the agent’s mandate. For actions routed through Oxagen, rules allow a request, deny it, or send it to a named person.

    Open the Mandates page

    Runs

    Run records and live direction

    Read the work behind the pull request. Inspect captured prompts, context, tool activity, code changes, and cost with the person who directed the run in view.

    Change direction while the work is happening. Send a correction to a supported run and see whether it arrived. Use the record to turn repeated detours into a better brief.

    Open the Runs page

    Keep the evidence behind the change. A locked record shows later changes, and an export lets a reviewer check its integrity outside Oxagen.

    Cut the 4.11.0 release notesRelease agent run by Priya Shah$0.00Cost 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

    Action controls

    One mandate per agent

    Make each agent’s permissions a team decision. Its mandate brings identity, tools, steering, rules, and budget together. For actions routed through Oxagen, the record shows which rule answered and who approved the request.

    Your agents run in their own environments. For supported actions routed through Oxagen, a rule allows the request, denies it, or sends it to a person. Keep the approval beside the action it authorized.

    Identity systemWho the agent is
    GatewayWhich tools it can call
    BillingWhat it consumed
    Prompt repositoryWhat it was told

    Agents

    • Claude CodeRelease agent
    • CodexBug fixer
    • CursorTest writer
    • stellastella
    • Agent SDKHotfix agent
    • Custom loopTriage loop
    MandateTriage loop
    AccessSecurity
    The identity it acts as and the actions it may request
    Budget and rulesFinance
    What it may spend and the rules it must obey
    EquipmentEngineering
    The tools, skills, and steering it works with
    RecordOxagen
    What it read, what it changed, and what it cost
    Post to #releasesAllowed by release-notes

    Your systems

    • GitHub
    • Linear
    • Slack
    • Stripe
    • Postgres

    Record

    AgentRequestAnswerCost
    Release agentPush to mainDenied by no-push-main$0.00
    Bug fixerUpdate ENG-219Allowed by tracker-writes$0.0031
    Test writerRun the staging migrationRouted to Priya Shah$0.00
    stellaList invoicesAllowed by billing-read$0.0012
    Hotfix agentRefund $1,400Routed to two people by refund.over-1000$0.00
    Triage loopPost to #releasesAllowed by release-notes$0.0008
    A rule answers each request routed through Oxagen

    One view

    Recorded runs across the team

    Keep your active runs within reach. See recorded work from supported agents on one timeline, with the operator, work item, state, and available cost beside each run.

    Know who directed the agent and what it produced. Open the run behind a work item, read the captured activity, and send a correction where live direction is supported. Check the delivery status before assuming the agent received it.

    Runs today

    Captured runs from supported agents

    Runs today
    18
    Running now
    4
    Waiting on a person
    2
    Spend today
    $74.43
    1. Priya Shah
      1. ENG-212ENG-212 by Release agent in Claude Code, 08:10 to 09:40, Done, $2.84
      2. ENG-212ENG-212 by Release agent in Claude Code, 10:05 to 11:20, Done, $1.91
      3. ENG-224ENG-224 by stella in stella, 11:30 to 13:50, Done, $4.12
      4. ENG-212ENG-212 by Release agent in Claude Code, 14:00 to 15:10, Done, $1.72
      5. ENG-231ENG-231 by Bug fixer in Codex, 15:20 to now, Running, $3.06
    2. Marcus Lee
      1. ENG-219ENG-219 by Bug fixer in Codex, 08:30 to 11:50, Done, $9.84
      2. ENG-220ENG-220 by Test writer in Cursor, 12:00 to 13:25, Done, $3.37
      3. ENG-226ENG-226 by Bug fixer in Codex, 13:35 to now, Waits on a person, $5.12
    3. Ana Ruiz
      1. ENG-215ENG-215 by Test writer in Cursor, 08:00 to 10:10, Done, $4.40
      2. ENG-216ENG-216 by stella in stella, 10:30 to 12:00, Done, $2.26
      3. ENG-222ENG-222 by Test writer in Cursor, 13:00 to now, Running, $7.15
    4. Jun Park
      1. ENG-217ENG-217 by Release agent in Claude Code, 09:00 to 12:30, Done, $8.62
      2. ENG-229ENG-229 by Bug fixer in Codex, 12:45 to 14:10, Failed, $1.98
      3. ENG-227ENG-227 by Release agent in Claude Code, 14:30 to now, Running, $4.94
    5. Sam Okafor
      1. ENG-218ENG-218 by stella in stella, 08:20 to 09:50, Done, $1.84
      2. ENG-223ENG-223 by Bug fixer in Codex, 10:00 to 13:30, Done, $7.92
      3. ENG-225ENG-225 by stella in stella, 13:45 to now, Waits on a person, $2.03
      4. ENG-230ENG-230 by Test writer in Cursor, 15:45 to now, Running, $1.31
    RunningWaits on a personDoneFailedSpend per hour
    A sample workspace on one day

    Spend

    Spend attribution

    See what agent work produced and what it cost. Follow the bill back to the work, then inspect the runs behind unproductive spend.

    Read each cost with its basis: measured, reported, or estimated. Investigate a finding, change the instructions or tools, and compare similar work afterward. Report realized savings separately from the opportunity identified.

    Attribution path

    1. Workspace$1,848.60This month
    2. Operator$412.80Priya Shah
    3. Agent$240.10Release agent
    4. Work item$6.47ENG-212 across 3 runs
    5. Run$2.84Run 4f2c9e
    6. Tool call$0.0412Edit docs/releases/v4.11.0.mdx

    Spend from operator to outcome

    $1,848.60 this month across 5 operators and 4 agents

    Basis

    • Measured$1,682.23
    • Reported$129.40
    • Estimated$36.97
    Spend this month in a sample workspace, from operator to agent to outcome
    FromToSpend
    Priya ShahRelease agent$240.10
    Priya ShahBug fixer$96.40
    Priya Shahstella$76.30
    Marcus LeeBug fixer$301.70
    Marcus LeeTest writer$148.20
    Marcus LeeRelease agent$88.30
    Ana RuizTest writer$192.60
    Ana Ruizstella$104.50
    Ana RuizBug fixer$64.30
    Jun ParkRelease agent$171.20
    Jun ParkTest writer$83.40
    Jun Parkstella$55.30
    Sam Okaforstella$128.90
    Sam OkaforBug fixer$97.40
    Release agentMerged$352.40
    Release agentIn review$88.10
    Release agentReturned$31.60
    Release agentUnproductive$27.50
    Bug fixerMerged$391.20
    Bug fixerIn review$71.40
    Bug fixerReturned$42.90
    Bug fixerUnproductive$54.30
    Test writerMerged$268.70
    Test writerIn review$96.80
    Test writerReturned$18.40
    Test writerUnproductive$40.30
    stellaMerged$241.60
    stellaIn review$62.20
    stellaReturned$24.70
    stellaUnproductive$36.50
    A sample workspace for one month

    The costs shown are the costs Oxagen recorded.

    Spend by harness

    Daily spend for 30 days

    • Codex$559.80
    • Claude Code$499.60
    • Cursor$424.20
    • stella$365.00
    Spend this month by harness
    Codex$559.80
    Claude Code$499.60
    Cursor$424.20
    stella$365.00

    Spend by token class

    Usage and the rate applied to it

    • Output tokens$701.30
    • Input tokens$612.40
    • Cache reads$320.10
    • Cache writes$214.80

    Cost per merged pull request

    Recorded spend per merged pull request

    • Test writer19 merged$22.33
    • Release agent24 merged$20.82
    • Bug fixer31 merged$18.06
    • stella22 merged$16.59

    Roles

    Agent work across the team

    Engineers direct the runs, leaders review delivery, and product managers check the result against the work they asked for.

    Engineering leaders

    See what agent work produced and what it cost. Follow an item through its captured runs, pull requests, checks, and acceptance. Use the record to find where the work needs to improve.

    FocusAccepted work and its cost
    38Items done this week
    $1,284Spent on them
    $33.79Cost per item

    Spend on finished items by day

    Industries

    Agent work by industry

    Keep the source work, recorded changes, and applicable approvals together for the reviews your team needs to make.

    Software and SaaS

    Several agent tools across many repositories, each with its own history, and a backlog longer than the team.

    Review question
    Which agent shipped ENG-212, and what did it cost?
    Example record
    Work item ENG-212. 3 runs in Claude Code and Codex. 1 pull request merged. $6.47.
    Read the page for software teams

    Financial services

    A review of the billing service needs the recorded agent work behind the code changes.

    Review question
    What did agents change in the billing service last week?
    Example record
    14 runs on billing-service. 9 pushes allowed by rule. 2 routed to Priya Shah. Exported as locked records.

    Healthcare

    Code near patient data needs a clear account of who requested a change and which controls applied.

    Review question
    Who approved the agent’s change to the intake service?
    Example record
    Push to intake-service routed by rule phi-repos to Dana Okafor. Approved at 14:02. Owner Priya Shah.

    Insurance

    Carriers that price agent risk ask for evidence of authority and governed actions for a defined workload.

    Review question
    What could these agents do, and what did they do?
    Example record
    Mandates, rules, approvals, run records, and spend for the support workload, in one export.
    Open all industries

    Pricing

    Seats and usage

    Start with one team and follow its agent spend through to the work it accepts.

    Team and Business seats include monthly agent actions and credits. Usage beyond the allowance draws on prepaid credits. Your model provider bills calls made on your own key.

    Team$99 per operator a month billed yearly, or $119 billed monthly
    Business$149 per operator a month billed yearly. Minimum 10 operators.
    EnterpriseFrom $60,000 a year

    Prices in USD. Checked 3 November 2026.

    Compare the plans
    $6.47Illustrative model cost for work item ENG-212
    Recorded runs for ENG-212
    RunAgentCost
    Fix invoice previewClaude Code$2.57
    Review usage linesCodex$2.49
    Address reviewClaude Code$1.41

    Get a demo

    How work moves from its source to its outcome

    Choose a repository and a piece of work to discuss, then trace the work with the team in a supported setup.

    Demo walkthrough

    1. Source workOpen a piece of work with its owner, scope, and acceptance criteria.
    2. Live directionSend a correction to a supported run and check its delivery status.
    3. Shared guidanceTurn that correction into reviewed steering and inspect the assigned toolbelt.
    4. Action controlsFollow a request routed through Oxagen to the rule or person that answers it.
    5. Result and costReview the changes, checks, and acceptance evidence beside the cost of the recorded work.

    Oxagen uses these details to answer your request. The privacy policy explains how Oxagen handles them.

    Request a demo by emailing success@oxagen.sh, or use this form when it is ready.