yolo-jail: Instructions file for Codex

AGENTS.md

yolo-jail AGENTS.md is an instructions file for Codex, OpenCode from mschulkind-oss/yolo-jail. It costs 11,136 tokens per session, scanned A, original, Apache-2.0.

Developer instructions for YOLO Jail, a system that runs coding agents in an isolated container while keeping host credentials and identity out of the container.

In plain words
What is it for?
Use them when developing, testing, configuring, or deploying YOLO Jail and its agent or loophole packs.
Why use it?
They document the project structure and rules that prevent agents from bypassing the isolation model.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md. Also seen: reads .claude/ paths; mentions Codex; mentions OpenCode.

This is mschulkind-oss/yolo-jail's own configuration. It tells Codex and OpenCode how to work on yolo-jail itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything yolo-jail configures →

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /home/agent/.yolo:.

Reuse

Borrowing it

Nothing to install: this file belongs to mschulkind-oss/yolo-jail. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/mschulkind-oss/yolo-jail/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/mschulkind-oss/yolo-jail

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for yolo-jail AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/mschulkind-oss/yolo-jail/agents-md.svg)](https://agentmods.dev/instructions/mschulkind-oss/yolo-jail/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/mschulkind-oss/yolo-jail/agents-md"><img src="https://agentmods.dev/badge/instructions/mschulkind-oss/yolo-jail/agents-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 11,136 This file is loaded in full into every session.
When invoked 11,136 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.11136 $0.11136
Opus 5 $0.05568 $0.05568
Sonnet 5 $0.02227 $0.02227
Haiku 4.5 $0.01114 $0.01114

Measured today against content hash 27f8778236f5, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

yolo-jail AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

AGENTS.md · 589 lines

How it starts

The opening of the file, as written. The whole thing — 589 lines — stays where its author put it; the contents beside it link to each section on GitHub.

YOLO Jail: Agent Developer Guide

yolo-jail runs coding agents in an isolated container against a live-mounted workspace, without exposing host credentials or identity.

AGENTS ARE PACKS. Core does not know what an agent is. There is no agent registry, no agents config key, and no YOLO_AGENTS. Config carries ONE list of packs; the fifteen that ship with yolo live in packs/*/pack.json and are selected by BARE NAME — "packs": ["claude"] (counted against ls packs/ 2026-09-04). Six install an agent (claude, copilot, opencode, pi, codex, agy) and nine install no CLI at all, in four kinds: audio, host-processes, journal, cgroup-delegate and serial ship a LOOPHOLE each (audio also contributes two env vars — the only one of the five that ships anything beside its loophole); zai and cerebras ship neither CLI nor loophole — a provider and a profile apiece, the two packs whose whole content is declarative facts (zai the first, cerebras the second); guardrails ships blocked-tool refusals and install requirements (core blocks nothing by default since 9caba669 — the blocked tools are opt-in through it); and wire-bridge is the first kind: "service" pack — one in-jail daemon and its endpoint file, no grants, joined to a launch automatically through cerebras's needs entry when claude or copilot is selected (docs/design/wire-bridge.md §2-§3). Anything that says "the six" is describing the agent SUBSET.

Every loophole yolo ships is a pack's, and there is no other channel (2026-08-19). journal and cgroup-delegate were Go functions the run pipeline called by hand — one switched by a top-level journal config key, the other by nothing at all. audio and host-processes came out of bundled_loopholes/. claude-oauth-broker was the last inhabitant of that directory and is now a contribution of packs/claude, not a pack of its own: the dependency is structural, so selecting the claude pack is the dependency (loophole-activation.md OQ-A10). bundled_loopholes/ and its embed are DELETED. Three consequences worth knowing before touching any of this: paths.BuiltinLoopholeNames and loopholes.ReservedLoopholeNames are both GONE (a reserved name and a pack-shipped name cannot be the same name — the pre-flight is fatal, so it refuses every launch that selects the pack); the top-level journal and host_processes keys are now REFUSALS that name their replacements; and the pack-shipped SUBSET is the only vocabulary left, so publishes: "endpoint", jail_env and an absolute requires.file_exists are refused for every manifest yolo reads — there is no wider-vocabulary source to fall back to.

Nothing is active by default: an empty config yields a jail with no coding agent, and says so at launch (run.warnIfNoPacks). internal/config/validate.go hard-errors on agents on the host (and warns in-jail, where the config is the generated snapshot).

What a pack declares (internal/packdecl), all read through internal/packload: install spec, mounts, writable/shared dirs, host-file grants, composed surfaces, launch flags, and named hooks. The boot path renders every one in a single loop (entrypoint/packsurfaces.go) with no switch on any tool name. Two things worth knowing before you debug:

  • The MOUNT is the filter. The entrypoint renders every pack under YOLO_PACK_ROOT, so stagePacks copies only the SELECTED packs into the mounted tree. Staging all six and filtering later renders packs nobody asked for. A dropped pack therefore has to be UNSTAGED or it keeps rendering: _official/ is cleared wholesale (it is derived from the binary's embed.FS), and each configured pack's dir is pruned when its slug leaves packs — contents-only, never the staging root itself, whose inode a live jail's /ctx/packs bind captured (packstage rule 3). A pack still configured but unresolvable this launch (offline git remote) is KEPT, not pruned.
  • packload.Embedded* is deliberately NOT selection-gated. The reservation lists (host_files writable roots, writable_home_dirs segments, GlobalHome subdirs) cover every pack yolo SHIPS, or a host_files entry could claim a path a pack added tomorrow needs.
  • packload.Embedded() is ONE temp tree for the WHOLE PROCESS, released on the way out. It is materialized before argv is even parsed — internal/config's hostFileWritableRoots is a package-level var whose initializer reaches it — so every yolo invocation pays for it, --version included. Pack.Root is a handle into that tree, nothing can know when the last read happens, and the only exit paths are cli.Main (deferred) and entrypoint.Main (explicit, since execBash replaces the process). A second process-lifetime copy is the bug to watch for: three call sites made their own, each leaking a never-removed ~200 KB directory per invocation (measured live 2026-09-03: 625 dirs, 109 MB) — call MaterializeEmbedded directly only when you delete the dest yourself (internal/cli/run/packs.go stages out of one).

Read the full file on GitHub · 589 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed · +55 lines · +1,171 tokens per session 27f8778236f5
  2. yesterday Changed · +14 lines · +276 tokens per session 23fcb9382e64
  3. 3d ago Changed · +31 lines · +595 tokens per session df8679c8e203
  4. 4d ago Changed · +84 lines · +1,670 tokens per session 92e978b3528c
  5. 8d ago First seen · 405 lines · 7,424 tokens per session scan A 7aa2dc5ab59e

Subscribe to this mod's changes

yolo-jail AGENTS.md is an instructions file published in the GitHub repository mschulkind-oss/yolo-jail (2 stars, last pushed today), licensed Apache-2.0. It adds 11,136 tokens to every session, about $0.0557 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,296 tokens

codex AGENTS.md

AGENTS.md instructions for openai/codex, covering rust/codex-rs, the codex-core crate, code review rules, crate api surface and model visible context.

openai/codex · 5,153 tokens

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 6,785 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, applying the notice (cutover) and fallback chain (never fail the build).

microsoft/vscode · 5,001 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,469 tokens

spec-kit AGENTS.md

AGENTS.md instructions for github/spec-kit, covering agents.md, about spec kit and specify, quickstart — add a new integration in 5 steps, integration architecture and integrationmanifest — file tracking.

github/spec-kit · 7,104 tokens