Stop AI coding agents
from silently looping.
onpath wraps your coding agent and watches the session locally — detecting repeated failures, stalled progress, and wasted time. When the agent gets stuck, you know why, and what to run next.
codexclaudecursor-agentopencode
Agents fail quietly. You notice an hour later.
A coding agent doesn't crash when it gets stuck — it keeps going. Same test, same error, same edit, on repeat. By the time you look, the context is gone and the time is spent.
Repeated failures look like progress
The agent reruns the same failing test with tiny edits. Output scrolls. Nothing actually changes.
Edit loops burn the budget
The same file is rewritten back and forth. Tokens and minutes disappear with no net diff.
Teams have vibes, not evidence
"It's been slow lately" isn't a metric. Leads need to see where agents actually stall.
Visibility shouldn't mean surveillance
Raw transcripts are sensitive. Teams need aggregate signal without collecting every keystroke.
One prefix. Everything after runs as normal.
onpath sits between you and your agent. It records events, runs detectors, and writes a local report — without changing how the agent behaves.
Wrap the command
Prefix any agent invocation. onpath spawns it as a child process and watches the stream.
Capture events locally
Commands, exit codes, file edits, and timings stream into a local SQLite store. Nothing leaves the machine.
Detect stuck patterns
Detectors hash failure signatures, track edit churn, and watch the clock against your thresholds.
Report & recover
Get a markdown report and a recovery prompt. Optionally expose it read-only to your agent over MCP.
Built for the way agents actually fail.
Detection, reporting, and integration that runs on your machine — with a hosted layer for teams when you want it.
Stuck-loop detection
Repeated commands, matching failure signatures, edit churn, permission and provider waits, context exhaustion, and configured no-progress or time-budget overruns — each its own detector.
Local markdown reports
Every session writes a readable report: timeline, commands, failure signatures, and findings — searchable by project or detector.
Read-only MCP
Install an MCP server so Codex, Claude, or Cursor can read findings and recovery context — never write, never act on your behalf.
read-onlyPolicy: warn / pause / block
Set thresholds per project or team. When an agent crosses them, onpath can warn, pause for a decision, or block the run — with bypass reasons logged.
Redacted sync preview
Before anything is shared, preview the exact payload. Raw terminal output is excluded by default; signatures are hashed.
Team analytics
Aggregate stuck-loop rate, findings by detector and repo, and policy decisions over time — process-focused, never an individual leaderboard.
proInstall, monitor, inspect, and recover.
Install once, wrap any agent, and inspect the local report. Add read-only MCP when you want your agent to read the same local evidence.
Where your agents stall — across the whole team.
The optional hosted layer turns local findings into team visibility: stuck-loop rate, where it happens, and what to fix. Aggregate by design — no raw transcripts, no developer ranking.
Open the live dashboardOverview
| Agent | Repo | Status | Duration | Findings |
|---|---|---|---|---|
| CCodex | acme/billing | stuck | 6m 12s | 2 |
| ClClaude | acme/web | done | 3m 41s | 0 |
| CuCursor | acme/api | blocked | 11m 03s | 3 |
| OOpenCode | acme/infra | done | 2m 18s | 0 |
| CCodex | acme/billing | warn | 5m 56s | 1 |
Your sessions stay on your machine.
onpath records to local SQLite and uploads nothing unless you turn sync on. When you do share, you see the redacted payload first — raw terminal output never leaves by default.
No upload by default
Everything runs locally. Sync is opt-in, per project, and reversible.
Local SQLite storage
One file at .onpath/events.sqlite. Export or delete it any time.
Redacted sync preview
Inspect the exact payload before it's shared. Signatures are hashed; secrets are stripped.
Process, not people
Team analytics aggregate by repo and detector — never an individual developer leaderboard.
# what leaves your machine when sync is on { "session": "s_9f3a…b21", "agent": "codex", "repo": "acme/billing", "finding": "repeated-failure-output", "signature": "f1a4c0" // hashed, "repeats": 4, "command": «redacted», "output": «excluded by default» }
Free and local forever. Hosted when your team needs it.
The CLI, detectors, reports, and MCP are open and run on your machine. The hosted dashboard adds team analytics, shared policy, and support.
- CLI monitoring & recording
- All stuck-loop detectors
- Local markdown reports
- Read-only MCP integration
- Local aggregate analytics
- Everything in Local
- Hosted team dashboard
- Cross-session team analytics
- Shared policy & thresholds
- Redacted sync & retention controls
- Everything in Pro
- Private detector packs
- Advanced semantic detection
- SSO, audit logs, SLAs
- Support workflows
Know when the agent is stuck — before an hour disappears.
Local-first. Open-core. Two minutes to install and one prefix to start.