Reference

CLI reference

jira-cli reads and searches Jira issues via JQL, creates and edits issues, moves them through workflow transitions, and manages comments. It supports Jira Cloud and Data Center / Server, and emits agent-friendly JSON with structured errors. AGENT NOTE: a companion Skill ("jira") carries the canonical usage, safety modes, and env setup and is the source of truth for driving this CLI. If you are an agent, load that Skill before composing commands. Check status with `jira-cli skill status`; install it with `jira-cli skill install`.

Generated from the command tree, so it always matches --help.

Global flags

Persistent flags accepted by every command.

FlagDefaultDescription
--allow-writesfalseoverride read-only mode (defaults.read_only / JIRA_CLI_READ_ONLY) for this invocation
--base-urlJira site URL (overrides config)
--configconfig directory (default ~/.angelmsger/jira)
--fieldscomma-separated dot-path fields to keep
--flavorbackend flavor: cloud, datacenter or auto
--format, -foutput format: json, table or ndjson
--prettyfalsehuman-friendly mode for interactive terminal use only (agents/scripts should omit): TUI in `config init`, colorized JSON elsewhere; errors without a TTY
--timeoutrequest timeout, e.g. 30s
--use-contextuse a named context for this invocation
--verbose, -vfalseverbose diagnostics on stderr

jira-cli auth

Inspect and manage stored credentials

jira-cli auth

jira-cli auth login

Store a credential for the configured server

jira-cli auth login

Prompt for a secret and store it securely. Run `config init` first if the server URL is not set.

Examples

  jira-cli auth login
  jira-cli --use-context staging auth login

jira-cli auth logout

Remove the stored credential for the configured server

jira-cli auth logout

jira-cli auth status

Show whether a usable credential is configured

jira-cli auth status

jira-cli comment

Read and post issue comments

jira-cli comment

jira-cli comment add

Post a comment on an issue

jira-cli comment add <issue-key|url> [flags]

Post a comment. Bodies are plain text on both flavors: on Cloud the text becomes ADF paragraphs, on Data Center it is sent verbatim (wiki markup is rendered server-side).

Options

FlagDefaultDescription
--bodycomment body text
--body-fileread body from a file ('-' for stdin)
--dry-runfalsepreview the HTTP request without sending it

Examples

  jira-cli comment add PROJ-123 --body "Deployed to staging."
  echo "Done." | jira-cli comment add PROJ-123 --body-file -

jira-cli comment delete

Delete one or more comments

jira-cli comment delete <comment-id>... --issue <key> [flags]

Delete a comment by ID. Pass several IDs to delete them in one run, or a single '-' to read newline-separated IDs from stdin. Deletion requires --yes (or an interactive confirmation when stdin is a terminal); --yes applies to the whole batch.

Options

FlagDefaultDescription
--dry-runfalsepreview the HTTP request without sending it
--issuethe issue the comments belong to (required)
--yesfalseskip the deletion confirmation

Examples

  jira-cli comment delete 10042 --issue PROJ-123 --yes
  jira-cli comment delete 10042 10043 --issue PROJ-123 --yes

jira-cli comment list

List an issue's comments (oldest first)

jira-cli comment list <issue-key|url> [flags]

Options

FlagDefaultDescription
--allfalsefetch every page of results
--cursorstart from this pagination cursor (the 'next' of a prior page)
--limit0page size (default from config)

Examples

  jira-cli comment list PROJ-123
  jira-cli comment list PROJ-123 --all

jira-cli comment update

Replace a comment's body

jira-cli comment update <comment-id> --issue <key> [flags]

Options

FlagDefaultDescription
--bodynew comment body text
--body-fileread body from a file ('-' for stdin)
--dry-runfalsepreview the HTTP request without sending it
--issuethe issue the comment belongs to (required)

Examples

  jira-cli comment update 10042 --issue PROJ-123 --body "Revised."
  echo "Revised." | jira-cli comment update 10042 --issue PROJ-123 --body-file -

jira-cli config

Manage jira-cli configuration

jira-cli config

jira-cli config delete-context

Delete a context and its stored credential

jira-cli config delete-context <name>

Examples

  jira-cli config delete-context staging

jira-cli config get-contexts

List the configured contexts

jira-cli config get-contexts

List every context in the config file. The current context — the one used when --use-context is not given — is marked.

Examples

  jira-cli config get-contexts
  jira-cli config get-contexts --format table

jira-cli config init

Interactively set up server URL and credentials

jira-cli config init

Run the interactive setup wizard. It collects a server URL, detects the flavor, validates a credential and stores it. The wizard can also configure additional named contexts for working with several servers.

Examples

  jira-cli config init --pretty   # interactive TUI (recommended)
  jira-cli config init             # plain line-by-line wizard (scripts, non-TTY)

jira-cli config path

Print the config file path

jira-cli config path

jira-cli config show

Show the resolved configuration

jira-cli config show [flags]

Options

FlagDefaultDescription
--explainfalseannotate each value with its source

jira-cli config use-context

Switch the current context

jira-cli config use-context <name>

Set the current context — the server used by default. Override it for a single command with the global --use-context flag instead.

Examples

  jira-cli config use-context staging

jira-cli doctor

Diagnose configuration, credentials and connectivity

jira-cli doctor [flags]

Options

FlagDefaultDescription
--no-update-checkfalseskip the check for a newer jira-cli release

Examples

  jira-cli doctor
  jira-cli doctor --no-update-check

jira-cli issue

Read, search and write Jira issues

jira-cli issue

jira-cli issue assign

Change or clear an issue's assignee

jira-cli issue assign <key|url> [flags]

Assign an issue. --to accepts a Cloud accountId, a Data Center username, or a display-name/email query resolved to a unique user (see `jira-cli user resolve`).

Options

FlagDefaultDescription
--dry-runfalsepreview the HTTP request without sending it
--tothe new assignee
--unassignfalseclear the assignee

Examples

  jira-cli issue assign PROJ-123 --to alice@example.com
  jira-cli issue assign PROJ-123 --unassign

jira-cli issue create

Create an issue

jira-cli issue create [flags]

Create an issue. --project falls back to defaults.project when configured. Descriptions are plain text on both flavors; on Cloud the text becomes ADF paragraphs, on Data Center it is sent verbatim (wiki markup is rendered server-side).

Options

FlagDefaultDescription
--assigneeassignee (accountId, username, or display-name/email query)
--descriptiondescription text
--description-fileread the description from a file ('-' for stdin)
--dry-runfalsepreview the HTTP request without sending it
--label[]label to set (repeatable)
--parentparent issue key (for subtasks / epic children)
--prioritypriority name (e.g. High)
--projectproject key (default from defaults.project)
--summaryissue summary (required)
--typeTaskissue type name (e.g. Task, Bug, Story)

Examples

  jira-cli issue create --project ENG --type Task --summary "Fix login crash"
  jira-cli issue create --project ENG --type Bug --summary "..." \
      --description-file report.txt --assignee alice@example.com --label urgent

jira-cli issue edit

Update issue fields

jira-cli issue edit <key|url> [flags]

Update an issue's summary, description, priority or labels. Only the flags you pass change; everything else keeps its value.

Options

FlagDefaultDescription
--add-label[]label to add (repeatable)
--descriptionnew description text
--description-fileread the new description from a file ('-' for stdin)
--dry-runfalsepreview the HTTP request without sending it
--prioritynew priority name
--remove-label[]label to remove (repeatable)
--summarynew summary

Examples

  jira-cli issue edit PROJ-123 --summary "New title"
  jira-cli issue edit PROJ-123 --add-label triaged --remove-label urgent

jira-cli issue get

Show one issue

jira-cli issue get <key|url> [flags]

Options

FlagDefaultDescription
--expandextra sections to request, comma-separated (e.g. changelog)

Examples

  jira-cli issue get PROJ-123
  jira-cli issue get https://acme.atlassian.net/browse/PROJ-123

jira-cli issue transition

Move an issue through a workflow transition

jira-cli issue transition <key|url> --to <name-or-id> [flags]

Transition an issue. --to accepts a transition ID or name (matched case-insensitively against the transitions currently available; see `issue transitions`). Target status names also match when unambiguous.

Options

FlagDefaultDescription
--commentcomment to add as part of the transition
--dry-runfalsepreview the HTTP request without sending it
--totarget transition name or ID

Examples

  jira-cli issue transition PROJ-123 --to "In Progress"
  jira-cli issue transition PROJ-123 --to 31 --comment "Deployed to staging."

jira-cli issue transitions

List the workflow transitions currently available on an issue

jira-cli issue transitions <key|url>

List the transitions the issue can take from its current status — the values `issue transition --to` accepts.

Examples

  jira-cli issue transitions PROJ-123

jira-cli project

Browse Jira projects

jira-cli project

jira-cli project get

Show one project

jira-cli project get <key|url>

Examples

  jira-cli project get ENG

jira-cli project list

List projects visible to the authenticated user

jira-cli project list [flags]

List projects. On Jira Cloud the listing paginates and --query filters server-side; on Data Center the API returns every project in one response (a single page) and --query filters client-side.

Options

FlagDefaultDescription
--allfalsefetch every page of results
--cursorstart from this pagination cursor (the 'next' of a prior page)
--limit0page size (default from config)
--queryfilter by name/key substring

Examples

  jira-cli project list
  jira-cli project list --query platform

jira-cli skill

Install the companion Skill for coding agents (Claude Code, Codex)

jira-cli skill

jira-cli skill install

Deploy the embedded Skill into a coding agent's skills directory

jira-cli skill install [flags]

Write the companion `jira` Skill — bundled inside this binary — into a coding agent's skills directory. With no flags it probes for installed agents (Claude Code, Codex) and installs into each one found. Re-run it after upgrading the CLI to refresh the Skill to the matching version.

Options

FlagDefaultDescription
--agent[]target agents instead of auto-detecting (claude-code, codex)
--direxplicit skills base directory; installs into <dir>/jira
--projectfalseinstall into the project (./.claude/skills, ./.agents/skills) instead of $HOME

jira-cli skill path

Print where the Skill would be installed, and whether it is

jira-cli skill path [flags]

Options

FlagDefaultDescription
--agent[]limit to specific agents (claude-code, codex)
--direxplicit skills base directory
--projectfalseuse the project skills directories instead of $HOME

jira-cli skill show

Print the embedded SKILL.md to stdout

jira-cli skill show

jira-cli skill status

Report whether the companion Skill is loaded and installed

jira-cli skill status [flags]

Options

FlagDefaultDescription
--projectfalsecheck the project skills dirs (./.claude/skills, ./.agents/skills) instead of $HOME

jira-cli skill uninstall

Remove the companion Skill from a coding agent's skills directory

jira-cli skill uninstall [flags]

Delete a previously installed `jira` Skill. With no flags it probes for installed agents (Claude Code, Codex) and removes the Skill from each one found.

Options

FlagDefaultDescription
--agent[]target agents instead of auto-detecting (claude-code, codex)
--direxplicit skills base directory; removes <dir>/jira
--projectfalseremove from the project (./.claude/skills, ./.agents/skills) instead of $HOME

jira-cli user

Discover Jira users — the values assignee flags accept

jira-cli user

jira-cli user me

Print the user the configured credentials authenticate as (alias for whoami)

jira-cli user me

jira-cli user resolve

Resolve a user selector to a unique user

jira-cli user resolve <selector>

Resolve a user selector to a unique user. Cloud: an accountId is passed through; anything else is searched by display name / email and must match exactly one active user. DC: the selector is the username and is echoed back verbatim.

jira-cli version

Print version information

jira-cli version

jira-cli whoami

Print the user the configured credentials authenticate as

jira-cli whoami

Examples

  jira-cli whoami