AgentKit
ReferenceCLI commands

CLI commands

ak update

Preview or apply AgentKit-owned project refreshes

ak update

Preview or apply AgentKit-owned project refreshes

Synopsis

What it does: Update the AK-owned files in a project. For each tracked file, ak update checks whether the user has modified it since install. Clean files are overwritten with the latest content; user-modified files are skipped (unless --force). A pre-update project snapshot is always taken before any disk mutation and points to manual recovery files when the project is outside ak backups restore scope.

Default behaviour is preview (dry-run). ak update infers project kits from tracked kits/<kit>/... files when it can; pass --kits for the explicit expert path. Pass --yes or confirm the interactive prompt to apply.

Who it's for: Both: power devs (--yes --json --no-interactive) and non-tech users (interactive prompt).

When to use it: After an AgentKit release to refresh AK-owned project files. Bare ak update refreshes inferred project-owned kits/<kit>/... content; refresh installed plugins with ak kit refresh engineer --remote --yes for paid kits or ak kit refresh core --yes for public kits.

Examples: ak update # preview inferred project refreshes ak update --yes # apply inferred project refreshes ak update ./myproj # preview a specific project ak update --show-diff # preview unified diff for each change ak update --kits engineer # expert: preview one project kit ak update --kits engineer --force --yes # expert: overwrite user-modified files too ak update --kits engineer --yes --json --no-interactive # scripted project refresh envelope ak update --kits core --yes # --kits defaults to the remote registry; offline reuses the verified local cache only, no embedded fallback ak update --kits engineer --local --kits-dir kits/ --yes # dev/CI: force the local kit source for --kits ak kit refresh engineer --remote --yes # separate paid plugin refresh

What changes on disk: Previews by default; applies only with --yes or an interactive accept. When applied, overwrites AK-owned files with the latest content and re-tracks them in the ownership manifest, taking a pre-update project snapshot before any mutation. User-modified files are skipped without --force. Bare ak update infers project kits from the manifest; --kits is the explicit override. The command writes project-owned kits/<kit>/... content. With --yes it checks and updates or re-executes the ak binary first when needed, then refreshes project kit content. Use ak self-update --yes for a binary-only operation. It does not refresh installed ~/.claude/plugins/<kit>/ plugin output; use ak kit refresh engineer --remote --yes for a paid install.

Output modes: pretty default on TTY (colors, ASCII markers) plain auto when stdout piped or --no-interactive json --json (single-object envelope, NDJSON-safe)

Exit codes: 0 success 1 runtime error 2 invalid flags 3 user-cancel (SIGINT, prompt-cancel) 1 runtime error (missing manifest, snapshot failure, etc.) 2 invalid flags 3 preview only — neither --yes nor an interactive confirmation was given

ak update [project-dir] [flags]

Options

      --channel string        Remote registry channel for --remote (beta requires explicit opt-in) (default "stable")
      --dry-run               Force preview (exit 0); update already previews by default unless --yes is given
      --force                 Overwrite user-modified files (snapshot is always taken first)
  -h, --help                  help for update
      --json                  Emit machine-readable JSON (implies --no-interactive)
      --kits string           Comma-separated list of kits to update
      --kits-dir string       Kits source directory (default: embedded kits, $AGENTKIT_KITS_DIR, or ./kits)
      --local                 Read --kits from the embedded/local kit source instead of the remote registry (dev/CI)
      --no-interactive        Disable interactive prompts (CI-safe)
  -q, --quiet                 Suppress non-error output on stderr
      --registry-url string   AgentKit registry base URL (default: $AGENTKIT_REGISTRY_URL, then dev/staging https://staging.agentkit.best or release https://agentkit.best)
      --remote ak update      Download --kits from the authenticated AgentKit registry (default; use --local for the embedded/dev source). Bare ak update with no --kits stays local regardless. (default true)
      --runtime string        Remote kit runtime for --remote (claude-code or codex) (default "claude-code")
      --show-diff             Show unified diff for each file that will be overwritten
  -V, --verbose               Extra diagnostic output on stderr (loses to --quiet)
      --version string        Remote kit version for --remote (default: channel latest)
  -y, --yes                   Assume yes for all prompts

SEE ALSO

  • ak - AgentKit CLI

On this page