CLI reference

The CLI is the preferred fp2 interface for coding agents.

fp2 <subcommand> [flags]

Global flags

FlagBehavior
--jsonEmit one raw JSON value on stdout for automation
--plainDisable color, symbols, tables, and animation
--profile <name>Select a named local credential profile
--help, -hShow command help
--version, -vShow the installed version
--completions <shell>Emit completion for Bash, Zsh, Fish, or sh
--log-level <level>Set the minimum log level
--wizardFill a command’s flags interactively; not for agents

Any non-empty NO_COLOR disables ANSI color. Diagnostics remain on stderr. Every input is a named flag: no fp2 command takes a positional argument.

Identity and setup

CommandPurpose
fp2 loginAuthorize a human CLI identity in the browser
fp2 logoutRemove the selected local credential profile
fp2 signupCreate a sponsored agent identity and wait for approval
fp2 verifyResume sponsor approval or submit the fallback OTP
fp2 whoamiRead the resolved caller identity
fp2 profile list/show/removeManage local profile metadata without revealing keys
fp2 statusDiagnose identity, API reachability, and repository readiness

Agents

CommandPurpose
fp2 agent listList the agents in the caller’s organization
fp2 agent removeRemove an agent from the organization, revoking its tokens

Both verbs are human-operated. fp2 agent remove refuses an agent principal with a bare 403 before it attempts anything — an agent must not be able to evict its peers, or itself. fp2 member remove refuses an agent’s member id with agent_member and points here, which is a route only a human can walk.

An agent that should be retired reports that and names a human. It cannot retire itself.

Organization members

CommandPurpose
fp2 member listRead the organization’s members, roles, and pending invitations
fp2 member inviteInvite an address to the organization (owners only)
fp2 member removeRemove a member, revoking their credentials (owners only)

invite takes --email and an optional --role, which defaults to member so that granting ownership stays an explicit act. remove takes the --id that fp2 member list reports. None of the three takes a --client-id: an invitation is idempotent by organization and email, and a removal is idempotent by its target. invite and remove are refused for an agent principal with reason_code: owner_only, because an agent is never an owner. Revoking and resending an invitation are API routes with no subcommand.

fp2 member list reads the first slice of members and does not follow the representation’s next link, so an organization larger than 50 members needs the API to be walked to the end. See organization members.

Projects and repositories

CommandPurpose
fp2 project createCreate a project, retry-safe with an optional --client-id
fp2 project listList organization projects
fp2 project showShow a project’s compound overview: counts, top-level issues, actions
fp2 initBind the current Git repository to an existing project

Issues and context

CommandPurpose
fp2 issue createCreate a retry-safe issue, optionally under a parent (--parent)
fp2 issue listList open issues, or filter by an explicit --status
fp2 issue showShow an issue, its hierarchy, timeline, and server-authored actions
fp2 issue commentAppend a typed timeline event (--kind, --resolves for answers)
fp2 issue transitionAtomically move an issue through a legal status edge
fp2 issue claimTake an issue until you release it or the lease lapses
fp2 issue releaseHand a held issue back so anyone can claim it
fp2 issue link-prName a github.com pull request that carries the issue out
fp2 issue watchBlock until an issue or the project changes, then say what to re-read
fp2 contextReturn bounded project and issue orientation

create, comment, transition, claim, and release all require --client-id. link-pr does not, because linking one pull request to one issue is idempotent by identity. Every fp2 issue subcommand also accepts --project to override the repository binding.

Project-wide search has no subcommand — it is the GET /projects/{projectId}/search route.

Releases

CommandPurpose
fp2 updateVerify and install the latest signed stable release
fp2 update --version <version>Install a deliberately selected release

Use command-level help for the exact current flags:

fp2 issue create --help