Skip to content

neo issue

Manage issues.

Addressed repo-bound as owner/repo#N or team-scoped as KEY-N.

neo issue [OPTIONS] <COMMAND>

Create an issue.

Repo-bound by default; --team with no repo target creates a team-scoped issue (KEY-N) instead.

neo issue create [OPTIONS] --title <TITLE> [TARGET]
Option Value Required Default Env Values Description
<TARGET> no <owner>/<repo> or bare <repo>. Inferred from a checkout remote pointing at this host when omitted (unless --team alone makes the issue team-scoped)
--title <TITLE> yes Issue title, and the only required flag here. It is the whole of what a list, a search result or a link preview shows; the detail belongs in --body
--body <BODY> no "" Markdown description
--priority <PRIORITY> no none, urgent, high, medium, low Priority to file it at. Left to the server’s default when omitted
--team <TEAM> no Team key (ENG or <workspace>/ENG). Without a repo target the issue is team-scoped; with one it sets the repo-bound issue’s team
--json no Print the raw response as JSON

List issues in a repo (or a team with --team)

neo issue list [OPTIONS] [TARGET]
Option Value Required Default Env Values Description
<TARGET> no <owner>/<repo> or bare <repo>. Inferred from a checkout remote pointing at this host when omitted
--team <TEAM> no Team key (ENG or <workspace>/ENG) — list that team’s issues instead of a repo’s
--state <STATE> no open open, closed, all, backlog, todo, in_progress, in_review, done, cancelled, duplicate open (non-terminal), closed (done/cancelled/duplicate), all, or one exact status
--json no Print the raw response as JSON

Show one issue with its comments

neo issue view [OPTIONS] <ISSUE> [TARGET]
Option Value Required Default Env Values Description
<ISSUE> yes Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target
<TARGET> no <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team
--team <TEAM> no Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target
--json no Print {issue, comments} as JSON

Agent context pack for an issue (always JSON).

The issue plus its labels, links, comments, and every linked PR (open AND closed) with a checks summary and review comments/threads.

neo issue context [OPTIONS] <ISSUE> [TARGET]
Option Value Required Default Env Values Description
<ISSUE> yes Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target
<TARGET> no <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team
--team <TEAM> no Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target

Close an issue with a terminal status

neo issue close [OPTIONS] <ISSUE> [TARGET]
Option Value Required Default Env Values Description
<ISSUE> yes Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target
<TARGET> no <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team
--team <TEAM> no Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target
--reason <REASON> no done done, cancelled, duplicate Terminal status to close it with
--json no Print the updated issue as JSON

Edit an issue’s title, body, or priority.

Only supplied fields change; anything omitted keeps its current value. At least one of --title, --body, --body-file, or --priority is required.

neo issue edit [OPTIONS] <ISSUE> [TARGET]
Option Value Required Default Env Values Description
<ISSUE> yes Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target
<TARGET> no <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team
--team <TEAM> no Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target
--title <TITLE> no Replace the title
--body <BODY> no Markdown description. Mutually exclusive with --body-file
--body-file <BODY_FILE> no Read the markdown description from a file instead of a shell argument — - reads stdin. Avoids shell-quoting long bodies. Mutually exclusive with --body
--priority <PRIORITY> no none, urgent, high, medium, low Replace the priority
--json no Print the updated issue as JSON

Re-open a closed issue

neo issue reopen [OPTIONS] <ISSUE> [TARGET]
Option Value Required Default Env Values Description
<ISSUE> yes Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target
<TARGET> no <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team
--team <TEAM> no Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target
--json no Print the updated issue as JSON

Comment on an issue

neo issue comment [OPTIONS] --body <BODY> <ISSUE> [TARGET]
Option Value Required Default Env Values Description
<ISSUE> yes Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target
<TARGET> no <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team
--team <TEAM> no Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target
--body <BODY> yes Markdown comment body
--json no Print the created comment as JSON

Atomically claim an issue (backlog/todo → in_progress, assigned to you).

Exactly one claimer wins; a lost claim exits non-zero with the server’s 409 — the agent loop’s mutual exclusion.

neo issue claim [OPTIONS] <ISSUE> [TARGET]
Option Value Required Default Env Values Description
<ISSUE> yes Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target
<TARGET> no <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team
--team <TEAM> no Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target
--json no Print the claimed issue as JSON

Release a claimed issue: in_progress → todo, drop your assignment

neo issue release [OPTIONS] <ISSUE> [TARGET]
Option Value Required Default Env Values Description
<ISSUE> yes Issue to act on: 42 in the repo, or the team-scoped ENG-42 (or <workspace>/ENG-42). ENG-42 already names its team, so it combines with neither --team nor a repo target
<TARGET> no <owner>/<repo> or bare <repo>, for a repo-bound issue. Inferred from a checkout remote pointing at this host when omitted. Not combinable with --team
--team <TEAM> no Team key (ENG or <workspace>/ENG), for a team-scoped issue. Not combinable with a repo target
--json no Print the released issue as JSON