Skip to content

Your coding agents finish the job

Open Conduit turns issues, pull requests, threads and alerts into durable Work that survives waits, restarts and failed runs. Claude Code, a script or a person can run it, with permissions enforced outside the prompt.

Open Conduit is a single daemon on your own machine. It picks up what happens in GitHub, Slack, Linear, Jira, on a schedule or on a webhook, hands each piece of work to the agent or command that should do it, and stays with it until it’s done.

Durable Work

Not fire-and-forget: a run can end without the work ending. The Work parks for hours or days and wakes on the merge, the CI result or the reply it was waiting for, even after a restart. A failed attempt is retried; it doesn’t fail the Work. How waits work

Any executor

Each run goes to whichever executor its binding names. Agents run on Claude Code or the Codex CLI today. A shell command runs the same way, with the same history and retries, and a person can answer an agent’s question or take over its session. Executors and bindings

Authority at the host

Each run gets only the operations its binding grants, checked by the daemon rather than asked for in a prompt. A binding can run its agent in a sandbox or a container, away from your credentials. Sandbox your agents

Open Conduit’s own issues are worked by Open Conduit agents. They post the start comment, open the pull request, fix the red checks and answer the reviews. Then a person merges.

On 2 November 2026, 158 of the 168 pull requests merged into the repository came from an agent’s agent/issue-N branch.

See the merged agent pull requests

Here is one of those runs in the web view: issue #324 and its pull request #326. The agent opened the PR in its first turn and parked. A check failed, which woke it for a second turn: it found the failing test, pushed a fix and parked again. The checks passed, it posted its report, and the PR merged. Three turns, 13 minutes of executing across 27 minutes of Work.

The web view of the Work for issue #324: completed, with PR #326 merged. Its lifetime bar shows three turns: issue open (11 minutes), checks failed (1 minute 40 seconds) and checks passed (17 seconds), with the Work waiting 7 and 6 minutes between them.
The Work outlives each run. It waits between turns and wakes on the next event.
Turn 2 of the same Work, woken by github.checks.failed. The agent reads the failing check on PR #326, explains the cause, fixes the test and ends the turn after pushing commit 7487116.
Turn 2, woken by the failing check: the agent finds the cause, pushes a fix and ends the turn.

GitHub engineering

Claims issues and works each one on its own branch and checkout. It opens a pull request, then comes back for every check result, review and comment until the PR merges. Set it up

Slack support

Answers threads in a channel. Follow-ups reach the agent while it’s still working, and it never answers itself. Set it up

Scheduled jobs

Runs commands or agent turns on cron, at fixed times, every N minutes, on a webhook or by hand, and catches up on the slots it missed. Set it up

Human decisions

An agent asks a person a private question. Its Work parks until the answer comes from the terminal UI or the web view. Set it up

To add your own integrations, executors and toolbelt operations, build your first extension.