The problem
Your agent callslinear.create_issue and the response is dropped. The agent retries. Without idempotency enforcement, two identical issues land in the same team backlog.
Solution: write-once-checkable with idempotency key
Classifylinear.create_issue as write-once-checkable and always pass an idempotencyKey. On retry, Invoke checks whether the issue already exists in the team’s backlog before allowing a second creation:
How Invoke checks for duplicates
When an unknown outcome occurs, Invoke callsPOST /outcomes/reconcile with the current state of the Linear team’s backlog. If an issue with a matching title already exists, the outcome is already_succeeded and the retry is blocked.
Next steps
- Reconciliation — full reconciliation documentation
- Tool Safety Classes — how write-once-checkable works
- POST /outcomes/reconcile — full API reference