AgentKit
ReferenceCLI commands
BetaYou are reading docs for the beta channel (2.4.1-beta.1) — updated automatically on every beta release.Switch to stable →

CLI commands

ak migrate

Migrate an existing ClaudeKit install to AgentKit

Discover, classify, and migrate a ClaudeKit (ck) install to AgentKit. Scans ~/.claude/, ~/.claudekit/, and the current directory for ClaudeKit artifacts, produces a per-user migration plan, and applies it. Dry-run by default; no files are written without explicit opt-in.

Who it's for: Both: power devs (--no-interactive --json --from=ck) and non-tech users (TUI defaults).

When to use it: When moving an existing ClaudeKit setup to AgentKit for the first time, or re-running after partial migration.

What changes on disk: Read-only with --dry-run (default). Without --dry-run, writes files under the migration target only after --yes and the runtime safety gates pass.

Usage

ak migrate [flags]

Examples

ak migrate                          # interactive TUI, dry-run
ak migrate --from=ck                # explicit source (default)
ak migrate --from=ck --dry-run=false --yes # apply a global/native migration
ak migrate --from=ck --switch-to-plugin --dry-run=false --yes # apply a project plugin migration
ak migrate --from=ck --json          # machine-readable status
ak migrate --from=ck --no-interactive --dry-run=false --yes # CI apply

Flags

FlagDescription
--dry-runPreview migration plan without writing any files (default true)
--force-unlockRemove a stale migration lock left by a previously crashed migration before proceeding
--from stringSource to migrate from (currently supports "ck" for ClaudeKit) (default "ck")
-h, --helphelp for migrate
--jsonEmit machine-readable JSON (implies --no-interactive)
--no-interactiveDisable interactive prompts (CI-safe)
-q, --quietSuppress non-error output on stderr
--switch-to-pluginExplicitly authorize Claude Code project plugin delivery in the migration plan
-V, --verboseExtra diagnostic output on stderr (loses to --quiet)
-y, --yesAssume yes for all prompts

Output modes

ModeBehavior
prettydefault on TTY (colors, ASCII markers)
plainauto when stdout piped or --no-interactive
json--json (single-object envelope, NDJSON-safe)

Exit codes

CodeMeaning
0success
1runtime error
2invalid flags
3user-cancel (SIGINT, prompt-cancel)

On this page