Skip to content

Reference

check-env

Check that the React Native development environment is ready for testing. The workflow reads rn_session(action="status") first, then uses passive cdp_status and device_list as diagnostic context. It never creates authority from an ambient port or the first available device.

/rn-dev-agent:check-env
SubsystemWhat it checksSource
Source declarationWhether a non-Git app root declares its source identity before setup or buildRN_DEV_AGENT_DECLARED_ROOT and RN_DEV_AGENT_DECLARED_MANIFESTS in the supervisor environment
SessionReady state, worktree, app, platform, device, Metro, and migration readinessrn_session(action="status")
MetroAllocated and bound port for this sessionrn_session, then passive cdp_status
CDPWhether the exact authority-bound Hermes target is connectedrn_session, then passive cdp_status
Device inventoryAvailable devices for diagnosis onlydevice_list
StatusSuggested fix
NON_GIT_MANIFEST_REQUIREDExport RN_DEV_AGENT_DECLARED_ROOT and RN_DEV_AGENT_DECLARED_MANIFESTS for the non-Git app root, then restart the supervisor. See parallel session authority
Session state: blockedStop and follow recoveryRequirement.nextAction; do not run setup or bind another device. See parallel session authority.
Session missing or genuinely unboundRun setup, review/apply the integration preview, and bind the intended device and app
Metro not foundUse literal pnpm ios or pnpm android through the confirmed integration
No Hermes targetOpen the bound app, then call cdp_connect for the exact signed target
CDP code 1006Close React Native DevTools, Flipper, or Chrome DevTools
cdp_component_tree reports RedBoxRun /rn-dev-agent:debug-screen
Narrow gated CDP read times outCheck for a blocked JS thread, then use cdp_reload
HELPERS_NOT_INJECTEDRead bounded meta.helperHealth; use a __DEV__ Hermes build and retry through the gated tool after reload
No devicesBoot a simulator: xcrun simctl boot "iPhone 16"
  • Before starting a feature development session
  • When other commands report connection issues
  • After restarting Metro or the simulator