Relay

A bright core inside a ring, joined by curved bundles of fine lines to five small rings around it, with dashed lines linking the small rings to each other.A bright core inside a ring, joined by curved bundles of fine lines to five small rings around it, with dashed lines linking the small rings to each other.

coding agent that acts within granted permissions

Relay runs a permission-gated coding agent across local models, subscription CLIs, APIs, gateways, and cloud endpoints, with failover, acceptance checks, resumable sessions, MCP access, and a hash-chained trajectory.

Status
active
Access
install
Release
v0.5.0 on GitHub and PyPI as flywheel-relay
Checked
2026-09-27

Listed in the catalog under

Who it is for

Audiences

  • agent-system engineers
  • software engineers

Deployment contexts

  • controlled agent workflows
  • local development workspaces

Inputs and outputs

Inputs

  • coding tasks and acceptance checks
  • repository context
  • endpoint profiles
  • tool grants

Outputs

  • proposed and applied code changes
  • acceptance-check results
  • resumable session state
  • hash-chained trajectories

Run or evaluate

See it work, step by step An animated walkthrough with the real commands and output from the repository.

Entrypip install flywheel-relay==0.5.0; relay --health --online
Verificationpython -m pytest -q

Inspect the public source

Architecture and relationships

Related records

Architecture, dependencies, and relationship notes

Dependencies

None declared in the public registry.

Relation-backed claims

  • Flywheel includes Relay as a lane
    Flywheel 1.0.4 declares and launches Relay as its coding-agent MCP lane, pinned to flywheel-relay 0.2.5. That pin is inside the ranges of the three Relay advisories listed on the Security page, and 0.5.0 and later are outside all three; this relation does not show that Flywheel was tested with 0.5.0.

Current evidence

Relay v0.5.0

Verified

How we know

The v0.5.0 GitHub release was published on 27 September 2026 (Pacific time) and attaches the wheel, the source archive and SHA256SUMS.txt. The wheel and source archive digests in SHA256SUMS.txt match the digests PyPI reports for flywheel-relay 0.5.0. The release drops PATH entries that reach the folder a child works in, from the lookup and from the child's PATH, including for the git that --auto-commit runs. The folder of the interpreter relay runs on stays, and on Windows so do the Windows, System32 and SysWOW64 folders. When the working folder is a filesystem root or holds the home folder, only the entry naming that folder itself leaves. The release notes list the remaining limits.

flywheel-relay 0.5.0 on PyPI

Verified

How we know

PyPI serves flywheel-relay 0.5.0. A clean virtual environment installed it from PyPI on 27 September 2026, pip reported the installed version as 0.5.0, and relay --help listed the --health and --online options. This is distribution evidence; it does not establish that every feature works on every platform.

Relay v0.4.0

Verified

How we know

The v0.4.0 GitHub release was published on 26 September 2026 (Pacific time) and attaches the wheel, the source archive and SHA256SUMS.txt. The wheel and source archive digests in SHA256SUMS.txt match the digests PyPI reports for flywheel-relay 0.4.0. The release gives every child program an environment allowlist, runs the claude and codex tiers in an isolated empty folder, and keeps session reads inside the session store.

flywheel-relay 0.4.0 on PyPI

Verified

How we know

PyPI serves flywheel-relay 0.4.0. A clean virtual environment installed it from PyPI on 26 September 2026, and pip reported the installed version as 0.4.0. This is distribution evidence; it does not establish that every feature works on every platform.

Relay 0.2.0 GitHub release

Verified

How we know

Relay 0.2.0 GitHub release resolves to commit 9efdd82a6ea47ea37b4771315529aa4a8b04de1b and is not draft or prerelease. Download-back verification covered relay_agent-0.2.0-py3-none-any.whl at 111,430 bytes with SHA-256 7b7f04ee9f393df2ec520110799ecd662033251b9dfcfaf1dad1d5727c717cee, relay_agent-0.2.0.tar.gz at 188,381 bytes with SHA-256 202c8ad1028eb1b2b45aa28801717246254ad837e7a5b1e37b26f1dc92d006c3, and SHA256SUMS.txt. A clean --no-index wheel install and MCP synthetic controls passed. No PyPI publication or install is claimed, and no real model or provider calls were in scope.

Relay source, August 2026

Verified

How we know

In August 2026 the source metadata named the package relay-agent 0.1.0; Relay now publishes on PyPI as flywheel-relay, and the PyPI name relay-agent belongs to another publisher. The README then described a permission-checked tool loop, hash-chained ledger, MCP surface, failover routes, and acceptance checks; no GitHub release tag was returned at that time.

Limitations and authorization boundaries

  • The command denylist is not a security boundary.
  • A valid trajectory proves recorded actions, not that edits are correct; acceptance needs a check you own.
  • Relay publishes on PyPI as flywheel-relay. The PyPI name relay-agent belongs to another publisher.
  • Every flywheel-relay release before 0.5.0 is inside the range of at least one of the three Relay advisories listed on the Security page; install 0.5.0 or later.
  • Commands that read a variable outside the child allowlist need it named in RELAY_CHILD_ENV.
  • From 0.5.0, a run, test_cmd or check command that found a program through a project folder on PATH, such as node_modules/.bin, needs that program's path, unless the folder holds the interpreter relay runs on. A pin such as ~=0.4.0 excludes 0.5.0.

Authorization boundary. Tool use remains permission-checked and limited to authorized repositories, systems, and endpoints.