---
title: Delegate implementation through a native coding CLI
description: planr-delegate coordinates an explicitly requested implementation with Claude Code, Codex or Cursor.
url: https://openplanr.dev/docs/guides/delegation
updated: 2026-10-06
related:
  - https://openplanr.dev/docs/guides/build.md
---

# Delegate implementation through a native coding CLI

`planr-delegate` coordinates an explicitly requested implementation with Claude Code,
Codex or Cursor. The installed native harness owns investigation, tools, permissions,
sandboxing, configuration, build/test and correction. OpenPlanr supplies complete
context, tracks the exact run/session, independently reviews and verifies the candidate,
and safely integrates accepted changes into the user's checkout.

Use normal signed-in CLI authentication. Fresh native runs need no named enrollment
or renewal. Choose an engine explicitly, reuse a saved choice or use the sole available
CLI. Optional profiles pin a model or alternate existing configuration. Hosted and
local models use the same workflow; local compatibility probes are diagnostic.

Before dispatch, review the engine/model selection, known provider or native-managed
routing, trusted configuration, context inventory and owned working directory.
Pinned destinations must match inspected routing. Conflicting environment and
configuration sources block dispatch with their source names and safe origins;
OpenPlanr does not silently reset native routing. Local probes use bounded,
authenticated model metadata reads. They do not generate completions or load models,
and their latency is not an estimate of task duration.
Trusted native hooks/plugins/MCP can execute or contact additional services.
OpenPlanr does not claim to sandbox those operations. Scope limits accepted changes.

The readable capsule retains required ignored planning files and binding repository
instructions. A short brief and ordered index avoid duplicating complete files in
prompts. Continue the exact recorded session with new findings; unchanged context
does not need repeated delivery. Plain native completion is accepted without a
formatting-only correction. Permission denials remain actionable and are never
worked around by silently weakening policy or changing providers.

Prepare required dependencies/build outputs once in the owned worktree. Parent
verification uses structured executable/argument arrays and normally reuses that
prepared tree. Reviewable changes made by verification invalidate the previous
review. A stale prepared tree requires a fresh actual candidate only when necessary.
Failures remain blocked; baseline comparisons are explicit diagnostics. Review-only
acceptance is explicitly unverified and requires a reason.

Integration retains the checkout lock, scope/Preserve checks, reviewed patch identity,
destination compare-and-swap and recovery journal. Concurrent user edits are preserved.
Accepted changes remain an uncommitted local diff. Successful integration removes
only its owned worktree unless retained, keeping context, patch, evidence, report and
native session reference. Failed/interrupted worktrees remain inspectable.

Status reports live elapsed time and observed native tool activity when the harness
provides it. This is activity evidence, not proof that every reported file was read
or every proposed change was verified. Errors include recognized native reasons,
HTTP status and the inspected destination without exposing raw output or credentials.

Use the runner's explicit `abandon` action for a prepared or blocked run that has
never executed. It checks ownership, the initial checkout and all surrounding
resources before cleanup. Modified or unknown files, ignored dependencies, existing
sessions and recovery work prevent removal. The record and evidence remain available.

Private v2 records describe this behavior. Existing profiles are unchanged and retained
runs use their original pinned helpers. Generic adapters remain experimental under
their existing versioned protocol. Ordinary `planr-ship` and frozen public contracts
remain unchanged; there are no public delegation CLI commands.

See the canonical [skill](https://github.com/openplanr/OpenPlanr/blob/4d4fb273180f65c6c648e6babd4b9c6ae8465ff2/skills/planr-delegate/SKILL.md),
[onboarding](https://github.com/openplanr/OpenPlanr/blob/4d4fb273180f65c6c648e6babd4b9c6ae8465ff2/skills/planr-delegate/references/operator-guide.md) and
[verification contract](https://github.com/openplanr/OpenPlanr/blob/4d4fb273180f65c6c648e6babd4b9c6ae8465ff2/skills/planr-delegate/references/integration-review.md).
Live configurations are verified individually; unavailable or quota-blocked journeys
are reported as such. Merge, publication and deployment require separate release decisions.
