Work across harnesses
A delivery can start in Claude Code, hand a bounded unit of work to Codex, and bring the evidence back to the one workflow that owns it. Record the harness, model, and effort at each handoff so the request stays coherent and every handoff can be inspected.
Easy path
> Hand this bounded change to Codex and show me which model and effort you picked.
railyard:model-routing helps choose the model and effort for the unit of work.
What happens
Native subagents in the same harness are the default. Crossing harnesses is opt-in, and the destination CLI has to be set up separately. Report an unsupported selection; don’t change the model, effort, or provider without saying so.
Session model and delegated model are different
Pick the interactive session for the conversation, and pick the model for each delegated unit of work. Choose an effort with the model wherever the model exposes one; Haiku 4.5 has no effort setting.
- Claude Code: Opus 5.5 at
mediumhandles substantive subagent work, Fable 5.1 is the escalation for frontier-hard or long autonomous work, Sonnet 5.5 takes well-scoped edits, bug fixes, and docs, and Haiku 4.5 takes read-only search. - Codex: GPT-6.1 Sol at
mediumis the baseline for implementation, debugging, planning, and ambiguous or multi-file work, even when small or bounded. Use Luna only for routine or repetitive work with no substantial engineering judgment and an inexpensive acceptance check, such as extraction, classification, large repetitive transforms, or narrowly specified edits. Use deterministic tools first for fully mechanical work. Demanding work can justify Sol 6.1 athigh,xhigh, ormax. Codex reviews default to Sol 6.1 athigh. Astra is a rare, explicitly justified escalation after a concrete residual failure or quality gap on Sol 6.1.
Leaving the model unset means the child inherits the parent’s. In Codex, a full-history fork inherits both settings; changing either one needs a limited-history or no-history fork and a sufficient brief. Check the actual tool schema before dispatch, and keep the requested selection separate from the runtime metadata that shows what ran.
Handoffs keep one owner
Claude Code reaches Codex models through a Codex CLI worker. Codex reaches Claude review through Compound Engineering’s claude -p adapter. Either harness can get a ChatGPT Pro second opinion through Oracle. Create a visible provider-owned task only when the user explicitly asks for one; an unavailable transport doesn’t justify creating one as a fallback.