AgentKit
DocsKitsCLI ReferenceDesktop App
BetaYou are reading docs for the beta channel (2.13.0-beta.20). Features may change before the next stable release.Switch to stable →

ak agents

ak agents list

Compare installed agent files with agents available in the configured local kits tree.

Use ak agents list to inspect the merged local agent inventory before installing or removing one file. Despite the short help text, the result is not limited to installed agents: locally available records are appended too.

Usage

ak agents list

The command accepts no positional arguments and never prompts.

Command flags

FlagDefaultDescription
--kit <name>EmptyKeep records from one exact kit directory name.
--tag <tag>Empty list []Accepted as a repeatable string-slice flag. In these releases, the agent lister does not apply this filter.

Do not rely on --tag for selection in either release. Use JSON filtering in your caller if a tag gate is required. Shared flags are described in CLI conventions.

Inventory rules

The command scans available files at ./kits/<kit>/agents/<agent>.md and installed files at ~/.claude/plugins/<kit>/agents/<agent>.md. The roots can be replaced with AGENTKIT_KITS_DIR and AGENTKIT_PLUGIN_DIR.

Only direct .md files are considered. Hidden and underscore-prefixed names, directories, invalid ref segments, and other extensions are skipped. An unreadable agent file can still appear as a bare record derived from its filename.

Records are unique by canonical <kit>/<agent>. If both copies exist, the installed copy wins and its metadata is returned. Results are sorted by the canonical ref. This is a local filesystem catalog: the command does not contact the registry, check entitlements, or read the verified package cache.

Output

Human output is a table on stdout with NAME, DESCRIPTION, SOURCE, and STATUS. Status is installed or available; SOURCE is the kit name.

JSON success uses:

schema_version: 1
kind: assets.list
data.agents[]:
  kit, name, description, installed
  optional tools, model, memory, tags

An empty inventory is a successful empty array in JSON. Human mode prints an empty-state notice. No NDJSON or stderr status stream is produced.

Exit behavior

ExitMeaning
0The scan completed, including an empty inventory.
1A root directory could not be read, or positional arguments were supplied.
2A flag could not be parsed.

Errors are written to stderr. Flag-parse errors can remain plain text even with --json.