Interlock managed Agent execution via local Claude Code and Codex harness profiles
Discovered from README cross-links · today
Opt-in local harness profiles let Interlock run Agent assignments
What they did
The author extended the existing Interlock server so Agent assignments can be executed automatically through locally installed Claude Code and Codex CLIs instead of waiting for a connected chat to discover them. They added disabled-by-default local profiles that configure the installed executable, working directory, model, thinking effort and native permissions. A single app-wide assignment setting at the top of the Harnesses page offers a Limit to / Unlimited dropdown defaulting to three, with no per-profile limits or hidden four-job cap; raising it admits queued work and lowering it lets active assignments finish. Settings persist locally with revision protection. Harnesses default to Standard permissions with Read only and Full access options, and workflow Agent permissions can inherit or override the harness default with effective mode and source captured. Model settings use native catalogs with custom IDs, refresh and a CLI-default choice, resolving model and effort from Agent, then workflow, then profile defaults and native configuration. Catalog discovery uses Claude SDK initialization metadata and Codex model/list without starting an Agent turn or claiming work. A grouped manage_executors MCP tool handles revision-checked configuration, inspection, human responses, stop and reconciliation. The author ran the full suite (102 files / 1,215 tests), package tests, build, format checks, scoped Impeccable reviews that returned ship, and a real Codex text-only run using the installed CLI and existing account.
How it went
The full suite passed with 1,215 tests, along with build, package and format checks. Scoped Impeccable desktop/mobile reviews returned ship for permission and model settings. A real Codex run completed both text-only Agents on the first attempt using gpt-6-luna/low inherited from workflow settings and gpt-6.1-sol/medium selected at the node, with native usage reporting the expected models and final output {"message":"INTERLOCK WORKS","wordCount":2}. Real Codex Allow once command approval through the run inspector also passed, including a prolonged human wait. Remaining work includes run inspector approval/recovery UI checks, a real Codex stop/recovery check, and real Claude Code validation deferred to Lucy after release.
Worth knowing
Real Claude Code validation was not performed because Claude is not installed locally; account, enterprise policy and CLI compatibility depend on the installation. The real Codex run validated only the basic managed path, not approval, recovery or continuity behavior. Managed local Git trials remain blocked until scoped execution is supported. OpenCode, Channels, remote workers and automatic installation are deferred. This does not provide an operating-system sandbox. Routine tests make no paid model calls, so native behavior relies on stand-ins.
Wiring
The feature lives inside the existing Interlock server. Local harness profiles are stored in the document store without a database format migration and start disabled. A single app-wide assignment setting is persisted with revision protection and read by the shared capacity scheduler, which queues additional assignments until capacity is available. Workflow settings reference the shared limit and link to management. Model and effort resolution runs Agent model/effort, then workflow agentModel/agentEffort, then profile defaults, then native configuration; omitted effort inherits and explicit null uses native defaults. Catalog discovery calls Claude SDK initialization metadata and Codex model/list without starting an Agent turn or claiming work, and is cached and bounded. A grouped manage_executors MCP tool exposes settings/save_settings, models, inspection, human responses, stop and reconciliation operations over HTTP and stdio, adding no per-provider tools. Captured settings, native continuity and fresh sessions reuse the existing claim, renewal, budget/resource, usage, result-validation and bounded failure paths. Shared process-group cleanup covers both adapters.
Try it yourself
Add opt-in managed Agent execution to my Interlock-style server. Create disabled-by-default local harness profiles for Claude Code and Codex that configure the installed executable, working directory, model, thinking effort and native permissions. Add one app-wide assignment limit setting with a Limit to / Unlimited dropdown defaulting to three, persisted locally with revision protection, where raising admits queued work and lowering lets active assignments finish. Default harness permissions to Standard with Read only and Full access options, and let workflow Agent permissions inherit or override the harness default while capturing effective mode and source. Resolve model and effort from Agent, then workflow, then profile defaults and native configuration, using native catalogs with custom IDs, refresh and a CLI-default choice. Expose a single grouped manage_executors MCP tool for configuration, inspection, human responses, stop and reconciliation. Keep existing connected-agent execution when no executor is configured, and add regression tests for precedence, permissions, shared limits and persistence.