# MQRC 2086: Object queue manager unknown

Source: https://wndsoftware.com/mainframe-errors/mqrc-2086

### MQRC 2086: Object queue manager unknown

MQRC 2086 (MQRC_UNKNOWN_OBJECT_Q_MGR, hex 0826) means the queue manager name in the ObjectQMgrName field of the object descriptor isn't acceptable on MQOPEN or MQPUT1. Either the name breaks MQ's naming rules, or the program opened the queue manager object itself and named a queue manager other than the one it is connected to.


#### Other names for this code

Also written as `RC2086`, `reason code 2086`, `MQ 2086`, `MQ error 2086`, `MQRC_UNKNOWN_OBJECT_Q_MGR`, `0826`, `0x0826`, `unknown object queue manager`, `ObjectQMgrName`, `MQJE001 Reason 2086`.


### What it means

The MQOD passed to MQOPEN and MQPUT1 has two name fields. ObjectName holds the queue or object name, and ObjectQMgrName says which queue manager it belongs to. A blank ObjectQMgrName, or one that starts with a null character, means the local queue manager. Any other value has to be a valid MQ name of up to 48 characters, padded with blanks or ended with a null where the language needs it.

IBM gives two cases for 2086. The ObjectQMgrName doesn't follow the rules for MQ names. Or ObjectType is MQOT_Q_MGR, meaning the program is opening the queue manager object to inquire on its attributes, and ObjectQMgrName is filled in with a name that isn't the local queue manager. A program can only open its own queue manager's object this way.

The code is rarer than 2085 and 2087 because most programs leave ObjectQMgrName blank. When it does appear, the name field was usually filled from configuration or storage that holds something unexpected.


### Common causes

- ObjectQMgrName contains characters that aren't allowed in an MQ name, often because the field was filled from uninitialised storage or a configuration value with stray characters.
- A C program copies a name into ObjectQMgrName without padding it with blanks or ending it with a null, so trailing bytes become part of the name.
- The program opens the queue manager object (MQOT_Q_MGR) and sets ObjectQMgrName to a remote queue manager or a different name.


### How to find the problem

- Log the ObjectType, ObjectName and ObjectQMgrName fields just before MQOPEN, in hex if possible, so non-printing characters show up.
- Check where the program sets ObjectQMgrName. In COBOL, look at the working-storage field and any MOVE into it. In Java, check the queue manager name argument passed to accessQueue.
- If the program opens MQOT_Q_MGR, compare ObjectQMgrName with the name of the queue manager it is connected to, from `DISPLAY QMGR QMNAME`.


### How to fix it

- Leave ObjectQMgrName blank (or start it with a null) whenever you mean the local queue manager.
- Initialise the MQOD with its default values (MQOD_DEFAULT in C, the supplied copybook defaults in COBOL) before setting any fields.
- Pad names with blanks, or end them with a null in C, and keep them within 48 characters.
- To inquire on another queue manager's attributes, connect to it, or send a PCF or MQSC command to it, instead of opening its object remotely.


### IBM documentation

[IBM documentation: MQRC 2086](https://www.ibm.com/docs/en/ibm-mq/9.4.x?topic=acrc-2086-0826-rc2086-mqrc-unknown-object-q-mgr). Use the documentation for your installed release.

[Report a correction to WND Software](https://wndsoftware.com/contact#message).

Technical reviewer: [Albert Joseph](https://wndsoftware.com/authors/albert-joseph), WND Software.

Last reviewed 2026-10-18 by the WND Software team. Written in our own words. For the full reference, check IBM’s MQ documentation for your version.


### Related codes

[MQRC 2087 MQRC_UNKNOWN_REMOTE_Q_MGR Read →](https://wndsoftware.com/mainframe-errors/mqrc-2087)
[MQRC 2085 MQRC_UNKNOWN_OBJECT_NAME Read →](https://wndsoftware.com/mainframe-errors/mqrc-2085)
[MQRC 2082 MQRC_UNKNOWN_ALIAS_BASE_Q Read →](https://wndsoftware.com/mainframe-errors/mqrc-2082)
[MQRC 2058 MQRC_Q_MGR_NAME_ERROR Read →](https://wndsoftware.com/mainframe-errors/mqrc-2058)
[MQRC 2019 MQRC_HOBJ_ERROR Read →](https://wndsoftware.com/mainframe-errors/mqrc-2019)

### Questions


#### What is the difference between 2086 and 2087?

2086 means the queue manager name in the MQOD is unacceptable for the call. 2087 means the name is valid, but the local queue manager has no route to that queue manager.


#### How do I refer to the local queue manager in ObjectQMgrName?

Leave the field all blanks, or start it with a null character. The queue manager then uses itself.


#### What is the difference between 2086 and 2058?

2058 is about the queue manager name passed on MQCONN when connecting. 2086 is about the queue manager name inside the object descriptor on MQOPEN or MQPUT1.

[IBM MQ reason codes](https://wndsoftware.com/mainframe-errors/mq-reason-codes) · [MQRC 2085](https://wndsoftware.com/mainframe-errors/mqrc-2085) · [MQRC 2087](https://wndsoftware.com/mainframe-errors/mqrc-2087)

[← All error codes](https://wndsoftware.com/mainframe-errors/)
