## TL;DR
The queue already exists with different arguments (durable, auto-delete, or `x-` args), and RabbitMQ refuses a conflicting redeclaration. Declare with the exact existing arguments, or delete the queue and redeclare it correctly. The declare succeeds once the definitions agree.

## Error
```text
rabbitmq: PRECONDITION_FAILED - inequivalent arg 'x-...' on queue declare
```

## Steps
1. Inspect the existing queue: check its durable flag, auto-delete, and arguments in the management UI or via the API. Expected: the real definition the broker holds.
2. Compare with your declare call: find the argument that differs. Expected: the specific mismatch identified.
3. Fix option A: change your declare to match the existing queue exactly. Expected: the declare becomes a no-op success.
4. Fix option B: delete the queue (after draining or accepting message loss) and redeclare with the desired arguments. Expected: the new definition sticks.
5. Standardize the declare in code so every producer and consumer uses the same arguments. Expected: the conflict never recurs.

## When to use
- Queue declare fails with PRECONDITION_FAILED inequivalent arg
- Multiple services declaring the same queue differently
- Changing queue arguments (TTL, max length, dead-lettering)

## When not to use
- Access refused on the vhost (permissions)
- The queue does not exist at all (different error)

## Tool compatibility
- RabbitMQ queue declare arguments; management UI, HTTP API

## Variant phrasings
### rabbitmq queue exists different arguments
Match the declare to the existing definition or delete and recreate.

### inequivalent arg durable queue
Durable is part of the definition; a durable queue cannot be redeclared non-durable.

## Why it happens
RabbitMQ treats queue declare as idempotent only when the definition matches exactly; any argument difference is a precondition failure because silently changing a live queue's properties would be dangerous. The strictness forces an explicit delete-and-recreate for argument changes.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_lnVDWPYInw3moPlHcO0eCg
