Skip to content

CLI commands

The korva CLI is the orchestrator for everything — initialise workspaces, manage editors, run sentinel, activate licenses, manage teams, sync skills, and operate the vault. Built on Cobra, runs everywhere the binary runs.

Updated: 2026-05-15

The korva CLI is your primary interface to everything Korva. It’s a single Cobra binary that ships with the install. Run korva --help for the live tree.

Lifecycle commands

CommandPurpose
korva initInitialise ~/.korva/, generate IDs, write per-project korva.config.json. Add --admin --owner [email protected] to also generate admin.key.
korva setup [editor]Auto-configure MCP for one or every supported IDE. Idempotent. Use --all to do them all in one shot.
korva statusSnapshot of the current install — vault running, license tier, project count, last sync.
korva doctor13+ health checks. Use after install or when something feels off.
korva updateSelf-update by downloading the latest GitHub release, verifying SHA256 and atomically replacing binaries.

Vault server

CommandPurpose
korva vault startStart korva-vault in the background, write PID, poll /healthz until reachable (5 s timeout).
korva vault stopSend SIGINT to the PID, remove vault.pid.
korva vault statusProcess state + HTTP reachability.
korva vault logsPrint the path to vault.log for tail -f.
korva vault clean [--dry-run] [--project NAME]Deduplicate observations using GROUP BY (project, type, lower(trim(content))), keep the oldest. Works without the server running.

Sentinel

CommandPurpose
korva sentinel installInstall pre-commit + post-commit Git hooks in the current repo.
korva sentinel checkRun the validator over staged files without committing.
korva sentinel run --hook=pre-commitInternal — invoked by the Git hook itself.

Cloud connect (Teams)

CommandPurpose
korva connect <url> <key>Connect this workstation to your organization’s Korva Teams portal. Stores the endpoint and authenticates with the provided license key. Enables shared skills, private scrolls, and team analytics.
korva connect --statusShow current connection state, portal URL, and tier.
korva connect --disconnectRemove the stored portal connection (data stays local).

Example: korva connect https://portal.korva.dev K0RVA-XXXX-XXXX-XXXX-XXXX

License

CommandPurpose
korva license activate <key>POST to the licensing endpoint, verify the JWS RS256 token, persist to ~/.korva/license.key (mode 0600), start the 24 h heartbeat.
korva license statusTier, expiry, last heartbeat, grace remaining.
korva license deactivateRelease the seat (returns to Community tier, no data deleted).

Admin (requires admin.key)

CommandPurpose
korva admin initBootstrap admin.key on a fresh install.
korva admin rotate-keyRotate admin.key (current key required via stdin for safety).

Lore

CommandPurpose
korva lore listShow installed scrolls — curated and team.
korva lore addInteractive scroll authoring (template, frontmatter, triggers).

Teams (requires admin.key)

CommandPurpose
korva teams syncPull the team profile from its private Git repo.
korva teams statusActive profile + override summary.
korva teams listList teams managed on this instance.
korva teams create "<name>" --owner <email>Create a team.
korva teams members <team_id>List members.
korva teams invite <email> --team <team_id>Generate an invite token (shown once).
korva teams add-member <team_id> <email> [--role admin]Promote / add directly.
korva teams remove-member <team_id> <email>Revoke membership.

Auth (team members)

CommandPurpose
korva auth redeem <invite-token>Exchange an invite token for a session_token, persisted to ~/.korva/session.token (mode 0600).
korva auth statusShow current session identity.
korva auth logoutDelete the session token locally and revoke remotely.

Hive

CommandPurpose
korva hive pushFlush the local outbox once.
korva hive statusPending / sent / rejected / failed counts + worker state.
korva hive enable / disableToggle sync (writes config).
korva hive retryRe-enqueue rows in failed status.
korva hive rotate-keyGenerate a new 32-byte Hive API key.

Sync

CommandPurpose
korva syncCombined: pull team profile + flush vault outbox + sync skills. Use --vault, --profile, --skills flags to scope.
korva sync --vault --quietUsed by the post-commit Git hook.

Observations (CLI access to the vault)

CommandPurpose
korva obs list [--project] [--type] [--limit]List observations.
korva obs search <query> [--cloud]Full-text search (optionally including Hive).
korva obs get <id>Print one by ULID.

Skills

CommandPurpose
korva skills listList team-distributed skills.
korva skills syncPull updated skills from /team/skills/sync (delta).
korva skills history <id>Show skill version history.
korva skills hook installAdd a PreToolUse hook in ~/.claude/settings.json so Claude Code auto-syncs skills before each session.
korva skills hook removeRemove the auto-sync hook.

Auto-update check

Every command runs an opportunistic, non-blocking GitHub releases check on its first invocation in 24 h. Set KORVA_NO_UPDATE_CHECK=1 to disable.

Next