Guide

Issue Tracking for AI Agents: Why Agents Need a Tracker More Than You Do

A prompt vanishes when the session ends. An issue persists. The humble issue tracker encodes exactly what coding agents lack, durable state, ownership, priority, and a written definition of done.

By Kylian Migot · Updated July 2026 · 7 min read

Quick answer

Coding agents have no durable memory, everything they know about a task lives in a context window that disappears. An issue tracker externalizes exactly that missing state: scope, priority, ownership, history, and acceptance criteria. An agent-native tracker goes further, machine-readable specs, a gate before work starts, one branch per issue, and status linked to the actual diff.
The core problem
Prompts vanish with the session; issues persist across sessions and agents
Retrofit approach
Linear agent delegation, Jira Rovo agents: agents added to human-first trackers
Agent-native approach
Spec-shaped issues, an enforced start gate, branch-per-issue, diff-linked status
How AIDEN does it
Stories are the tracker: card → spec gate → agent → worktree → diff → PR
01

Why Agents Need a Tracker More Than You Do

Issue trackers were invented to compensate for human limitations: we forget details, we lose track of who owns what, we disagree about what “done” means. Coding agents have all of those limitations in a more extreme form. An agent's entire understanding of a task lives in its context window, and the context window ends. Ask a human engineer what they shipped last Tuesday and you get an answer; ask a fresh Claude Code session and you get nothing, unless the answer was written down somewhere durable.

Look at what an issue actually encodes, and it reads like a checklist of exactly the things a coding agent lacks on its own:

Durable state

The issue exists before the agent starts and after the session ends. Progress, decisions, and blockers survive the context window. A prompt is gone the moment you close the terminal.

Ownership

One issue, one assignee. When three agents run in parallel, the tracker is what stops two of them from silently doing the same work, or worse, undoing each other's.

Priority

Agents will happily execute tasks in whatever order you feed them. A tracker holds the queue, so the next unit of work is a decision you made once, not a prompt you improvise at midnight.

History

Why does this function exist? With human teams, the issue link in the commit answers that. With agents, history matters more, nobody remembers the prompt, because nobody ever saw it but you.

Acceptance criteria

A written definition of done that exists before the work starts. For an agent this is not documentation, it is the target function: the thing it verifies its own output against.

A review point

The issue is where human judgment attaches to machine output. Without a tracked unit of work there is nothing to review against, only a diff and a vague memory of what you asked for.

This is why teams that run agents seriously converge on tracker-shaped workflows even when they never adopted one for humans. The tracker is not process overhead for agents, it is the external memory and coordination layer they cannot provide for themselves. How you run the whole team around that layer is the subject of our guide to project management for AI agents.

02

The Landscape: Retrofits and Git-Native Trackers

The industry has noticed. The major human-first trackers have all added agent support over the past year, and a new category of trackers built for agents is emerging alongside them.

Linear: agent delegation

Linear lets you delegate an issue to an agent from its agent directory, Cursor, Codex, Devin, and others. The human stays the primary assignee; the agent contributes work under that person's supervision. Clean design, but the issue itself is still free text written for humans.

Jira: Atlassian Rovo agents

Atlassian ships Rovo agents that operate inside Jira, drafting, triaging, and updating issues. The emphasis is AI assisting the humans who run the tracker, rather than restructuring the tracker around machine assignees.

Git-native trackers for agents

A newer thread: trackers built for agents from the start, such as Beads, which stores issues as files inside the repo itself. The insight is that if agents are the assignees, the tracker should live where agents already work, in git, versioned with the code.

The common thread

The retrofits all treat the agent as an add-on assignee dropped into a workflow designed for people. The issue format, the status model, and the review flow are unchanged; only the name in the assignee field is new.

Ship your first agent today

Download AIDEN free and point it at your existing Claude Code or Codex setup. No credit card, running in minutes.

Download AIDEN free

Free to start · macOS 12+ · No credit card required

03

What an Agent-Native Tracker Needs

If you designed an issue tracker from scratch on the assumption that most assignees are machines, five requirements fall out. Together they are a reasonable definition of agent-native issue tracking:

  1. 1

    Machine-readable acceptance criteria

    The issue body must be a spec, not a title. Scope, files in play, verifiable success conditions, explicit exclusions. A human assignee fills gaps with judgment and a quick Slack question; an agent fills them with guesses. The criteria are the agent's target function, so they have to be concrete enough to verify against.
  2. 2

    A gate between planned and in progress

    With humans, “in progress” is a courtesy status. With agents it is the moment code starts being written at machine speed, so the transition needs a hard checkpoint: a human approves the plan before the agent moves the card. No agent-native tracker should let work start on an unapproved issue.
  3. 3

    One branch or worktree per issue

    The tracker should own the mapping between issue and git isolation. Every issue gets its own branch or worktree at start time, automatically, so parallel agents can never collide and every diff traces back to exactly one issue.
  4. 4

    Diff-linked status

    Status must derive from reality, not self-reporting. “In progress” should mean commits are landing on the issue's branch; “ready for review” should mean the diff exists and is attached to the card. Agents are unreliable narrators of their own progress; the diff is not.
  5. 5

    Human review as a first-class column

    Review is not a checkbox on the way to done, it is where the human in the loop actually works. An agent-native tracker gives review its own column, with the diff, the original criteria, and the accept/reject decision in one place, because that column is the team's real bottleneck.

Measure any tool against these five and the retrofit gap is obvious: delegation-era trackers typically deliver ownership and history, but not spec-shaped issues, not the start gate, and not diff-linked status. Those three are where agent work goes wrong.

04

In AIDEN, the Stories Are the Tracker

AIDEN's answer is to collapse the tracker and the execution environment into one surface. There is no separate issue database to sync: the story cards on the board are the issues, and the board runs the agents. Each story flows card → spec gate → agent → worktree → diff → PR, which maps onto the five requirements directly:

Agent-native requirementHow AIDEN implements it
Machine-readable acceptance criteriaAIDEN drafts a structured spec from each story card: scope, files, criteria, exclusions
Gate between planned and in progressThe spec approval gate, enforced since v1.5.21; no agent codes without an approved spec
One branch/worktree per issueEvery story gets its own git worktree and branch automatically at start
Diff-linked statusThe card shows the live diff and agent output; Review means the diff is ready, not claimed
Review as a first-class columnA dedicated Review column with the diff, the spec, an optional LLM review pass, and a one-click PR

The board itself, and how it differs from dragging cards in Jira, is covered in AI kanban for developers; the spec format and approval flow in spec-driven AI development. And once the tracker is in place, the day-to-day question becomes how you hand work to agents well, which is its own craft: see how to assign tasks to AI agents.

FAQ

Do AI agents actually need issue tracking?
Yes, arguably more than humans do. A coding agent has no memory between sessions: it forgets what it was doing, why, and what “done” meant the moment the context window closes. An issue tracker externalizes exactly that state, scope, priority, ownership, history, and acceptance criteria, so any agent (or any human) can pick the work up cold. Humans compensate for a missing tracker with memory and hallway conversation; agents cannot.
Can I use Jira or Linear for AI agents?
You can, and many teams do. Linear lets you delegate an issue to an agent like Cursor, Codex, or Devin while a human stays the primary assignee, and Atlassian ships Rovo agents for Jira. The limitation is that these are human-first trackers with agents added on: the ticket body is free text rather than a machine-readable spec, there is no enforced gate between planned and in-progress, and status is self-reported rather than linked to an actual branch and diff.
What is an agent-native issue tracker?
A tracker designed on the assumption that the assignee is a machine. Concretely that means five things: acceptance criteria written as a structured spec rather than a title, a hard gate between “planned” and “in progress,” one git branch or worktree per issue, status derived from the actual diff instead of self-reporting, and human review as a first-class column in the workflow, not an afterthought. Git-native trackers like Beads, which stores issues as files in the repo, and board-based tools like AIDEN both fit this definition.
How do acceptance criteria work for AI agents?
They have to be concrete and verifiable, because the agent uses them as its definition of done. “Login works” is useless; “POST /api/auth/login returns 200 and an httpOnly cookie for valid credentials, 401 for invalid ones, and the test suite passes” is executable. In AIDEN, acceptance criteria live in the spec generated from each story card, and you approve them before the agent starts, so the criteria are settled before any code exists.
Does AIDEN replace my existing issue tracker?
For agent work, yes; for everything else, not necessarily. AIDEN's stories are the tracker for work you hand to agents: each story carries its spec, branch, diff, and PR. Many teams keep Jira or Linear as the company-wide backlog and move engineering items into AIDEN when an agent will implement them. If your tracker exists mostly to feed engineers tasks, AIDEN can absorb that role entirely.

Keep reading

Give your agents a real tracker.

In AIDEN, every story is an issue with a spec, a worktree, a live diff, and a one-click PR. Free for one project.

macOS 12+ · Bring your own Claude Code or Codex · Your code stays local