Existing User Migration

July 19, 2026 · View on GitHub

Phase 73 keeps existing users on the same tool-first boundary as new users, but migration is report-first. The default path is to inspect impact, preserve backups, and avoid cleanup until a separate explicit confirmation gate exists.

First Command

Run the report from a Harness checkout:

bin/harness doctor --migration-report

This command is non-destructive. It does not delete plugin caches, local skills, OpenCode files, symlinks, project state, or harness-mem data.

What The Report Checks

AreaImpactCompatibility ruleRollback / backup
Claude plugin cacheStale cached plugin versions can keep Claude Code on older Harness behavior.Use Claude Code plugin manager commands; do not hand-delete cache entries as part of the report./plugin update claude-code-harness or uninstall/reinstall through the plugin manager.
Claude slash entriesMissing harness-* skill entries can make /harness-plan or /harness-work unavailable.Missing entries are evidence of install drift, not proof that the host is unsupported.Update or reinstall the plugin, then run /harness-setup.
Codex local skillsDuplicate frontmatter names or old aliases can route Codex to stale skills.scripts/setup-codex.sh --user remains the safe fallback even after direct plugin smoke exists.Backups live under ${CODEX_HOME:-$HOME/.codex}/backups/setup-codex.
Codex symlinksOld symlink installs can break when the source checkout moves or on Windows.Current setup prefers copied skill directories.Re-run scripts/setup-codex.sh --user; restore inspected backups only if needed.
OpenCode filesExisting .opencode/skills, commands, plugins, and AGENTS.md may be replaced by setup.OpenCode stays internal-compatible; runtime parity is not claimed.Timestamped backups such as .opencode/skills.backup.<timestamp> and .opencode/plugins/harness-bootstrap.mjs.backup.<timestamp>.
harness-mem stateMemory continuity can span Claude Code and Codex sessions.memory DB を削除しない; the report does not read or delete DB contents.Keep ~/.harness-mem/ and project .harness-mem/state/; use harness mem doctor, and only run purge with explicit confirmation.

Compatibility Contract

  • Claude Code, Codex CLI, Cursor, and Grok are public supported routes (H8 pin).
  • OpenCode remains internal-compatible.
  • Codex app, Hermes Agent, and GitHub Copilot CLI remain candidate.
  • Antigravity CLI remains future/unsupported.
  • not_observed != absent: missing local evidence means the report could not observe a route, not that the capability is impossible.

Safe Migration Order

  1. Run bin/harness doctor --migration-report.
  2. If Claude plugin cache or slash entries are stale, update through Claude Code plugin commands first.
  3. If Codex duplicate skills or symlinks are reported, run scripts/setup-codex.sh --user and inspect ${CODEX_HOME}/backups/setup-codex.
  4. If OpenCode files are reported, run scripts/setup-opencode.sh and inspect timestamped backups before restoring anything.
  5. If harness-mem state is observed, preserve it; do not purge during adapter migration.

No destructive cleanup is part of Phase 73.1.9.