code, title and message. Codes are NRY- and four digits. Quote the code when you report a problem. The host API overview describes the transport these answers arrive on.
{ "code": "<code>", "title": "<title>", "message": "<message>" }
Codes the host answers
The
message always names the specific thing that failed. Read it before you act on the row below.
| Code | HTTP status | When the host answers it | What to do |
|---|---|---|---|
| NRY-0000 | 400 | The request is malformed. The body is not valid JSON, or a value does not bind to its declared type. | Correct the request encoding. The message names the part that failed to bind. |
| NRY-0001 | 422 | A request body failed validation. | Correct the properties the message names, then send the request again. |
| NRY-0002 | 404 | No session on this host carries the sessionId in the request. | List sessions to get a valid id. |
| NRY-0003 | 409 | The target session is archived. An archived session accepts no new work. | Branch the session at an entry to continue from its transcript, or address an active session. |
| NRY-0004 | 409 | The target cannot accept the request in its current state. | Read the message and resolve the conflict it describes. |
| NRY-0006 | 409 | Two packages claim the same replaceable slot. Nothing was installed. A package job that fails this way carries the code in its error field. | Remove or disable one claimant, then install again. The message names both. |
| NRY-0007 | 409 | A package build failed. The binary that was already serving is intact. A package job that fails this way carries the code in its error field. | Read the job’s error, correct or remove the package, then install again. |
| NRY-0009 | 404 | The addressed peer session is gone from this host. | List peers to refresh the set of addressable sessions, then send the message again. |
| NRY-0010 | 422 | A workflow script failed validation before the run started. | Correct the script errors the message names, then start the run again. |
| NRY-0011 | 401 | The request carries no valid token. | Sign in with narya login, then send the request again. A host with no identity provider refuses every token, and the message names the settings to add. |
| NRY-0012 | 500 | The local store is unavailable, or it failed its integrity check. The host refuses writes rather than work on a damaged store. | Check disk space and store integrity, correct the cause, then restart the host. |
| NRY-0013 | 404 | This home has no enabled extension with that name, or the extension does not expose the operation. | List this home’s extensions, and ask the extension’s author which operations it exposes. |
| NRY-0015 | 404 | The named resource does not exist on this host. Packages, package jobs, agent recipes, skills, commands, lanes, monitors, providers, schedules, workflow runs, inter-session asks and transcript entries all answer with this code. | List the collection the resource belongs to, and use a name or id from it. |
| NRY-0016 | 409 | A package with this name is already installed. | Remove the installed package first, or install under another name. |
| NRY-0017 | 409 | An enable or a disable swapped the binary, and then failed to confirm the package row. | The change already applies to the binary that runs now. Send the request again, or restart the host so start-up reconciliation confirms the row. |
| NRY-0020 | 412 | A conditional write carried an ifMatchesSha256 that the stored value no longer hashes to. Another client wrote the row first, and nothing was written. | Read the resource again to see what it holds now. A client that clears a draft it sent can treat this as success. |
| NRY-0021 | 500 | The host could not carry out the request on this machine. A process it had to start did not start, or an operation failed for a reason with no more exact code. | Nothing about the request was wrong, so send it again. |
| NRY-0022 | 500 | A rewind that restores named files stopped part-way. Some files are back and the rest are untouched. | Read the message for the files that moved. The working tree as it stood before the attempt is kept as a restore point. |
| NRY-0023 | 500 | A rewind of the conversation and the files branched the conversation, and then failed to restore the files. The branch is real. | Continue in the session the message names, then rewind the files alone from the original session at the same moment. |
| NRY-0024 | 413 | A transcript import ran past a size ceiling. | Read the message for the ceiling it names, then send a smaller transcript. |
| NRY-0025 | 409 | A blocking ask between sessions was refused, because granting it would close a loop of sessions that wait on each other. | Answer or expire the ask already in flight, or send a one-way message instead. The message names both sessions. |
| NRY-0026 | 409 | A stream resumed from a Last-Event-ID that names an event newer than anything this store holds. | Resume with no Last-Event-ID, then read state again through the GET operations. |
| NRY-0027 | 413 | The files on one message weigh more together than one supplier request can carry. Nothing was written. | Send fewer files on the message, or smaller ones. The message names the ceiling in bytes. |
| NRY-0028 | 403 | The caller is signed in and the request is refused. When the operation needs a permission, the message names it. | For a named permission, an administrator grants it on your role in Access Manager, and it takes effect on your next token. If the message says the host could not reach Access Manager, send the request again shortly. |
| NRY-0029 | 503 | The organisation’s home did not answer. | Read the message: it says whether the work is queued or whether to send the request again. Publishing the same session again creates a second share. |
| NRY-0030 | 403 | The token names an organisation that this home does not serve. | Point NARYA_HOME at your organisation’s home, or sign in to this home with narya login. |
| NRY-0031 | 410 | The share was revoked. | Publish the session again to create a new share. A revoked share is never resumed. |
Codes a failed turn carries
A turn that fails ends with a
turn-finished event. Its payload.error carries the same envelope as an HTTP error. Three codes arrive that way, and the host never answers them as an HTTP status.
| Code | Event | When the host writes it | What to do |
|---|---|---|---|
| NRY-0008 | turn-finished | The model supplier the turn needed has no usable credential. It is missing, expired or refused, or the keyring is unavailable. | Sign in with narya auth login <provider>, then send the message again. The message names the remedy that fits. |
| NRY-0018 | turn-finished | The turn could reach no model supplier. The session names no provider, or it names one this host has no record of. | Sign in with narya auth login <provider>, or set default_model in the host’s config.toml, then send the message again. narya providers lists what this machine can use. |
| NRY-0019 | turn-finished | The turn failed for a reason with no more specific code. The message carries the cause. Narya removes known credential shapes and URL secrets from it, and replaces your home directory with ~. | Read the message. |

