Content

How to Connect Jira to Claude Code

Claude Code can read a Jira issue and comment on it. It cannot set the status to any words it likes. The project's workflow decides which moves are allowed.

IntegrationsOct 16, 2026

Key takeaways

  • -In this article we explore how to connect Jira to Claude Code, and why a status change has to follow the project's workflow.
  • -To understand how Jira transitions work: you cannot type any status you want. From the issue's current status, only some moves are legal, and Jira will reject the rest.
  • -The assistant should read the allowed transitions for that issue before it moves anything. A comment does not require a transition.
  • -Connect Jira with swy get jira, then swy discover "list transitions for an issue" --project jira. Use the action name the search prints.
  • -The Jira login is stored with swy auth connect jira, outside the chat. Downloading Jira does not enable every action.

You want Claude Code to read a Jira issue, summarise what is stuck, and sometimes leave a comment. That is a useful assistant. Moving the issue to a new status is a different job, and Jira will not accept a status because the sentence sounded right.

Each project has a workflow. The workflow is the list of statuses and the allowed moves between them. Those moves are called transitions. From "In progress" you might be allowed to go to "In review" and not to "Done." Another project on the same site can have a different list. The assistant has to read the transitions for this issue, on this board, before it tries to move it.

This article is the Jira setup. The next section defines Swytchcode. After that are five Jira agents you can start by pasting a prompt.

A similar choice on Asana, where a subtask is safer than changing the owner, is in this article: Building an Asana AI Agent. Jira in the directory is here.

What Swytchcode is

Swytchcode is a production runtime for AI agents. Claude decides which API call to make. Swytchcode runs that call. It is not the model, not the agent framework, and not a stand-in for Jira's own workflow.

On every call it does eight checks:

  1. Allow list. Only an action you added with swy add method can run.
  2. Schema check. Inputs are checked against that action before the request is sent.
  3. Policy. Rules in policies.json can allow, deny, or hold a call, and can read the arguments.
  4. Credentials. The Jira login is added when the call runs. It is not put in the chat. You store it with swy auth connect. There is no project env file for it.
  5. Execution. The request goes from your machine straight to Jira.
  6. Retry. Swytchcode backs off on rate limits. A create or an update is retried only when an idempotency key is already set.
  7. Response check. A success status whose body says the action failed is not treated as success.
  8. Audit. The call and the policy decision are written to a local log.

Test or live mode is chosen once with swy init and stored in .swytchcode/tooling.json. On Business and Enterprise, a held call can go to Slack or Telegram. If nobody approves within 48 hours, it never runs.

Jira AI agents you can build

Paste one prompt into Claude Code, Cursor, or Codex. Point it at a Jira project you can practice in. The assistant should search with swy discover and use the name that search prints.

1. Issue summary agent

Reads one issue and writes a short brief. It does not move the issue.

Set up https://www.swytchcode.com/skills.md and build a Jira issue-summary agent. When I give you an issue key, summarize the status, assignee, and latest comment. Do not transition the issue. Do not edit the summary field.

2. Transition reader

Lists the moves Jira allows from the current status. It does not take one.

Set up https://www.swytchcode.com/skills.md and build a Jira transition agent. When I give you an issue key, list the transitions that workflow allows from the current status. Do not move the issue.

3. Comment agent

Adds one comment you have approved. It does not change status.

Set up https://www.swytchcode.com/skills.md and build a Jira comment agent. Show me the comment text first. Add it only after I say yes, and only on the issue key I name. Do not transition the issue.

4. Open-work brief

Lists what is still open in one project. It is a read.

Set up https://www.swytchcode.com/skills.md and build a Jira open-work agent. For the project I name, list open issues with status and assignee. Do not edit issues. Do not change the board.

5. Incident note agent

Writes an incident as a comment on an issue you name. It does not close the issue.

Set up https://www.swytchcode.com/skills.md and build a Jira incident-note agent. Turn my notes into a comment on the issue key I name. Show me the comment first. Do not close the issue or change its status.

How Jira workflow transitions work

A comment adds context. It does not change who is doing the work, and it does not pretend a status exists. Start there.

A transition changes the status, but only along an edge the workflow allows. If Claude says "set this to Done" and Done is not a legal move from here, Jira refuses. If Done is legal but the team uses Done only after a review, the assistant has skipped the process even though Jira accepted it. So two checks matter: what Jira will allow, and what your team meant.

Do not turn on "edit the workflow" or "delete the issue" because moving tickets might need them. Those change the board for everyone. Looking up transitions and adding a comment are enough for a first assistant.

If a transition really should wait for a person, hold it. On Business and Enterprise, Swytchcode can send that hold to Slack or Telegram. No approval within 48 hours means the move never happens. Free and Pro can allow or deny the action. They do not include the hold. See human approval for AI agents.

Test mode is chosen once, with swy init --mode=sandbox, and stored in .swytchcode/tooling.json. Point it at a Jira project you can stand to clutter. Claude cannot switch you to the company project in the chat.

Follow these steps to connect Jira

swy is the short name for the Swytchcode program.

1. Follow this step to install the CLI

If you use Node.js:

npm install -g swytchcode

On Windows PowerShell:

irm https://cli.swytchcode.com/install.ps1 | iex

On macOS or Linux:

curl -fsSL https://cli.swytchcode.com/install.sh | sh

Then swy --version. The CLI quickstart has the rest of the install.

2. Follow this step to sign in

swy login

This is the Swytchcode account. The Jira login comes later. See the authentication docs.

3. Follow this step to start Claude Code in test mode

swy init --editor=claude --mode=sandbox

Change claude to cursor or codex if needed. See Set up a project.

4. Follow this step to download Jira

swy get jira

This does not turn every Jira action on.

5. Follow this step to find the transition list

swy discover "list transitions for an issue" --project jira

Use the name it prints. --project jira keeps the search inside Jira. Do not copy a method name from memory or from this article.

6. Follow this step to see the fields

swy info <id from discover>

Replace <id from discover> with the name from step 5. Run it only after step 4.

7. Follow this step to turn that action on

swy add method <id from discover>

You can add a comment action the same way, with a second search such as "add a comment to an issue." Do not add a generic "set status" action if the search is really an edit that skips the workflow.

8. Follow this step to connect Jira

swy auth connect jira

The login stays on your machine, outside the chat. Explore this article: credential brokering.

FAQ

How do I connect Jira to Claude Code?

Follow the eight steps in this article. Let the assistant list transitions before it moves an issue. Do not paste a Jira token into the chat.

Can the assistant set any status it wants?

No. Jira only accepts a transition the workflow allows from the current status. Another project can have a different list. Read that list first.

Is a comment safer than a transition?

Yes, for a first assistant. A comment does not move the issue. A wrong comment can be edited. A wrong transition can start the next team's work.

The directory shows example prompts. Are those the permissions?

No. That listing is where the connection starts. You still choose actions with the search in this article.

Read one issue before you move it

Start at step 1 if the CLI is not installed. Then ask Claude Code to list the legal moves for one issue, and to add a comment if something is unclear. Do not ask it to close the issue on the first day.

You can give Claude Code skills.md and ask it to follow these steps in test mode.

If a ticket landed in a status nobody expected, tell us which project and what you asked for. Discord is the quick place. The contact form is better if the board is private.

More content