Skip to content

Feature: title-based deduplication for create-issue safe-output handler #32482

@kaovilai

Description

@kaovilai

Problem

Agents emit duplicate create_issue safe-output messages within a single run. Even with explicit prompt instructions ("do not create duplicates", "track your own output"), the LLM still produces multiple create_issue calls with identical titles in the same conversation.

Example from https://github.com/kaovilai/dotfiles/actions/runs/25941313101:

  • #41 and #43 — identical title, same run
  • #42 and #44 — identical title, same run

Prompt engineering is unreliable for this. The dedup should happen at the handler level.

Proposed Solution

Add a deduplicate option to the create-issue safe-output handler config:

safe-outputs:
  create-issue:
    deduplicate: true

When enabled, the handler should skip a create_issue message if:

  1. Within-run dedup: Another message in the same run already created an issue with the same (or very similar) title
  2. Repo-level dedup: An open or recently-closed issue in the repo already has the same title (with the configured title-prefix)

The handler already has max and title_prefix — dedup fits naturally alongside these.

Why Handler-Level

  • Agent can't bypass it — dedup happens after the LLM emits messages, before GitHub API calls
  • Zero prompt engineering needed — works regardless of model, temperature, or instruction-following quality
  • Consistent behavior across all workflows using create-issue

Related

Filed from https://github.com/kaovilai/dotfiles — workflow dotfiles-improvements consistently produces duplicate issues across runs.

Note

Responses generated with Claude

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions