Production diagnostics
Octane error decoder
Production builds replace longer framework error messages with compact codes. Choose a code to read its full message, or open the link included in the production error to fill in its values automatically.
- #1Maximum update depth exceeded. Octane limits the number of nested updates to prevent infinite loops.
- #2Children.only expected to receive a single element child.
- #3Objects are not valid as an Octane child (found: %s). If you meant to render a collection of children, use an array instead.
- #4cloneElement: the first argument must be an element (from createElement / JSX).
- #5Can only set one of `children` or `props.dangerouslySetInnerHTML`.
- #6`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`
- #7`%s` is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.
- #8`<%s>` is a void element tag and must neither have children nor use `dangerouslySetInnerHTML`.
- #9Too many re-renders. Octane limits the number of renders to prevent an infinite loop.
- #10lazy: expected the load() promise to resolve to a component function or a module with a component as its default export, got '%s'
- #11A function wrapped in useEffectEvent can't be called during rendering.
- #12%s(): argument is not a Context nor a thenable
- #13Multiple errors were thrown during the render flush.
- #14act(): scheduler did not stabilize after %s iterations — likely an infinite render loop
- #15%s was called without a hook slot. The octane compiler injects per-call-site keys; ensure your project loads this runtime through the Vite plugin (octane/compiler/vite). To call hooks by hand, pass a stable symbol, e.g. useState(0, Symbol.for('my-stable-id')).
- #16Hydrate: `when` must synchronously return a hydration strategy with a valid type.
- #17Hydrate: the compiler-generated child loader did not resolve to a component.
- #18%s(): a React context can only be read inside a React-hosted Octane island (see octane/react); this component is not rendered under one.
- #19A renderer-owned DOM region is missing its universal owner bridge.
- #20bindRendererRegionOwner() must run while a DOM component is rendering.
- #21bindRendererRegionOwner() must be the first call in a renderer-owned DOM root component.
- #22A renderer-owned DOM region requires a live DOM root.
- #23Server-rendered use() rejected
- #24Element type is invalid: expected a string (for a built-in element) or a function (for a component), but got: %s.
- #25Octane: internal — a component descriptor reached the de-opt host reconciler (should have been routed through a Block via hostElementBody/componentSlot).
- #26`<%s>` is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.
- #27A hosted foreign-context request escaped its renderer-region owner; the owning bridge is gone or declined it.
- #28RetiredTarget container is not a DOM element.
- #29Cannot update an unmounted root.
- #30Invalid tag: %s
- #31If you supply `defaultValue` on a <textarea>, do not pass children.
- #32octane SSR: a use(thenable) did not settle within %sms.
- #33Retiredoctane SSR: exceeded %s suspense passes — a use(thenable) never resolved.
- #34octane SSR: a root suspension no longer has resumable work.
- #35octane SSR: %s root streaming passes completed without producing a shell.
- #36octane SSR: a pending streamed boundary no longer has resumable work; its error escaped to an ancestor that was already flushed.
- #37Retiredoctane SSR: %s consecutive streaming passes completed no boundary — a use(thenable) never resolved.
- #38The stream destination closed.
- #39octane SSR: destination.write() returned false but the destination cannot emit drain.
- #40The stream destination is closed.
- #41octane SSR: pipe() may only be called once.
- #42The render was aborted.
- #43The stream consumer cancelled.
- #44The readable stream is closed.
- #45Server-rendered use() rejected (function)
- #46Expected %s listener to be a function, instead got a value of `%s` type.
- #47octane SSR: exceeded %s suspense passes — a use(thenable) never resolved. If promises are re-created on every render pass (e.g. created in an ancestor render and passed down through props), create them at their use() site or hoist them out of render.
- #48octane SSR: %s consecutive streaming passes completed no boundary — a use(thenable) never resolved. If promises are re-created on every render pass (e.g. created in an ancestor render and passed down through props), create them at their use() site or hoist them out of render.
- #49FragmentInstance.scrollIntoView() does not support scrollIntoViewOptions. Use the alignToTop boolean instead.
- #50Unclosed server-rendered Fragment descriptor.
- #51Hydration mismatch: the server-rendered node did not match the client render; the mismatched subtree was rebuilt on the client.
- #52Hydration mismatch: root adoption was abandoned after a server/client shape divergence; the root was rebuilt on the client.
- #53Hydration mismatch: the server rendered more root content than the client; the stale remainder was discarded.
- #54Hydration mismatch: the client rendered text where the server rendered none; the client text was built fresh.
- #55Hydration mismatch: the server rendered a different child shape where the client renders a component; the stale range was discarded and the component was built on the client.
- #56Hydration mismatch: the server rendered more list items than the client; the extra server items were discarded.
- #57prerenderToNodeStream requires a Node.js runtime with process.getBuiltinModule; use prerender() in non-Node environments.
- #58Unsupported native-read compiler/runtime version.
- #59%s requires an active server component.
- #60A component suspended without a Suspense boundary during synchronous server rendering. Use prerender() or a streaming renderer to await it.
- #61Hydration mismatch: the server-rendered text differed from the client; the text was updated to the client value.
- #62Hydration mismatch: the server rendered extra children in a text element; the stale children were discarded.
- #63Target container is not a DOM element. Pass an Element, Document, or DocumentFragment. If document.body is null after document hydration, update the existing document root or render a document shell containing <body>.
- #64Multiple errors were thrown during act.
- #65Internal SSR invariant violated: ASYNC_SCOPE is not an extension of the active frame's async scope. Please file an Octane issue.
- #66An independent Hydrate boundary cannot change ownership after mount.
- #67Signal control identity mismatch for "%s".
- #68A signal control cannot join values from different document owners.
- #69Independent Hydrate requires a build manifest in RenderOptions.
- #70Independent Hydrate activation chunk is missing from the build manifest.
- #71Unsupported Octane server signal binding ABI.
- #72Octane DOM binding text range does not match its template.
- #73Octane DOM bindings require unique list keys.
- #74Unsupported Octane signal binding ABI.
- #75Hydration binding leases require a supported fixed native view without structural regions or unsupported writers.
- #76DOM binding hydration leases are supported only by hydrateRoot().
- #77Hydration binding leases require active fixed native views owned by this container.
- #78A hydration binding lease can be claimed only once.
- #79Unsupported native signal transition.
- #80Independent Hydrate cannot activate a `%s` strategy because its lexical parent never runs on the client. Use load(), idle(), visible(), media(), interaction(), or never(), or remove `independent`.
- #81An optimistic source needs a live Octane scope.
- #82Action operation "%s" is no longer writable.
- #83An optimistic write requires ready source authority.
- #84An action cannot adopt authority for a different query selection.
- #85Only a writable or query source can adopt an authoritative value.
- #86An action needs current authority to compare receipt revisions.
- #87An authority revision comparator must return a finite number.
- #88The pinned query selection is no longer current.
- #89optimistic$ requires an Octane signal source.
- #90An optimistic source cannot use conflicting authority revision policies.
- #91An optimistic subscription needs an active signal owner.
- #92An optimistic write must belong to action$ or use operation.set().
- #93Action operation "%s" may have been accepted.
- #94action$ requires crypto.randomUUID() for operation identity.
- #95operation.set() requires a signal from optimistic$().
- #96Action operation "%s" is settled.
- #97operation.adopt() requires exactly one optimistic source.
- #98The action is settled.
- #99until() requires a read.
- #100until() timeout must be a nonnegative number.
- #101until() requires a pinned optimistic source.
- #102The action is %s.
- #103The optimistic owner was retired.
- #104The pinned optimistic selection is no longer current.
- #105The optimistic confirmation timed out.
- #106optimistic$ requires a signal source.
- #107An authority revision policy must be a comparator function.
- #108action$ requires a handler and an optional nonempty key.
- #109Attempt reads require an Octane signal handle.
- #110Frozen derived candidates are not supported.
- #111The derived attempt is no longer active.
- #112A derived signal cannot read itself.
- #113Signal "%s" has no selected value.
- #114An async iterator must return an iteration result.
- #115The stream completed without yielding a value.
- #116A signal control requires a native value/checked property and a signal.
- #117This control property already has a signal binding. Dispose it before rebinding.
- #118A signal control subscription must return cleanup.
- #119A checked signal must contain a boolean.
- #120A multiple select signal must contain an array.
- #121A value signal must contain a string.
- #122derived$ requires a function.
- #123A signal document owner requires a document.
- #124A streamed signal hydration owner is already installed.
- #125%s must be a nonempty string.
- #126A signal seed must match scope "%s" and version 1.
- #127Signal seeds require unique, valid ready node entries.
- #128An unavailable latest entry cannot contain a ready value or request.
- #129Async seed entries require a query identity.
- #130Only async seed entries may contain a query identity.
- #131Signal traceLimit must be an integer from 0 through 10000.
- #132Signal key "%s" already exists in this scope.
- #133Signal seed kind does not match "%s".
- #134Signal key "%s" already has kind "%s".
- #135Candidate frames require live, non-adopting nodes.
- #136Async derived candidates are not supported by this prototype.
- #137A query resource requires a description.
- #138Read or write a signal through its owning scope or its handle.
- #139A signal action requires a function.
- #140Local hook scopes do not create SSR seeds.
- #141Distinct scopes in one presented graph need distinct scopeKey values.
- #142Local hook scopes do not adopt shared-state seeds.
- #143The signal adoption lease has been released.
- #144The presented frame has no compatible ready value for "%s".
- #145The presented query definition does not match "%s".
- #146Missing adoption frame for signal scope "%s".
- #147createScope requires scopeKey.
- #148A direct signal needs an Octane scope.
- #149A direct derived signal needs an Octane scope.
- #150A direct query needs an Octane scope.
- #151Signal scope "%s" has been disposed.
- #152Signals cannot be changed during a computation, render, or adoption frame.
- #153Signal "%s" depends on its own unfinished computation.
- #154Streamed signal failed with code "%s".
- #155Initial document signals require an implicit document owner.
- #156Initial document signals must be installed once, before any signal reads or writes.
- #157A document lifecycle requires its document owner.
- #158A module signal needs an active signal owner. Render it in an Octane root or use runWithSignalOwner().
- #159Module signal identity is assigned by the Octane compiler. Use an explicit key outside compiled code.
- #160Signal declaration options must be an object.
- #161A signal declaration key must be a nonempty string.
- #162A signal binding requires a signal handle.
- #163Only an async signal can be retried.
- #164Only a writable signal accepts set().
- #165A signal subscriber must be a function.
- #166derived$ requires a synchronous computation.
- #167A completed native render requires a renderer transaction.
- #168Native reads require a renderer transaction.
- #169A native capture must be accepted before publication.
- #170Initial document signals require a matching version 1 scope seed.
- #171Initial document signals require unique, valid node entries.
- #172Unavailable initial document entries cannot contain ready data.
- #173Initial document async entries require a query identity.
- #174Only initial document async entries may contain a query identity.
- #175Native signal revisions changed during server rendering.
- #176Native signal revisions changed before server output was accepted.
- #177Native signal revisions changed during server serialization.
- #178A completed native server read has no serializable ready value.
- #179Multiple data scopes claim native server key %s.
- #180Conflicting native signal seed for %s:%s.
- #181Invalid native signal hydration manifest.
- #182Invalid or duplicate native signal hydration scope.
- #183Invalid initial document signal references.
- #184Invalid or duplicate initial document signal reference.
- #185Native signal hydration requires its initial document signal seed.
- #186Missing or duplicate initial document signal reference.
- #187Overlapping initial document signal reference and boundary history.
- #188Multiple data scopes claim native hydration key %s.
- #189A signal owner environment requires current, run, and capture.
- #190A default signal owner requires a provider.
- #191A signal owner callback is required.
- #192A server signal query observer requires an observation factory.
- #193query$ requires selector and loader functions.
- #194Native hydration has no %s seed for %s:%s.
- #195query requires a nonempty key and a loader function.
- #196Unsupported signal query kind.
- #197The streamed signal completed without yielding a value.
- #198A stream query must return an async iterable.
- #199A stream query returned an invalid iterator.
- #200A resource must describe a query request.
- #201Streamed candidates are not supported by this prototype.
- #202Incompatible query definitions use the same key "%s".
- #203The signal candidate has retired.
- #204The request description is still pending.
- #205Frozen scalar candidates are not supported.
- #206Nested signal candidates are not supported.
- #207Only live candidate-capable owners are supported.
- #208Rebase the signal candidate before writing.
- #209Native signal presentation is not installed.
- #210The candidate owner changed lifetime.
- #211Candidate dependency escaped its frame.
- #212The native read candidate has retired.
- #213A signal document lifecycle requires a live document and build identity.
- #214Early independent Hydrate intent queue overflow; reload the document.
- #215Invalid independent Hydrate manifest.
- #216Independent Hydrate boundary identity mismatch.
- #217Independent Hydrate activation export is not a function.
- #218Invalid independent Hydrate sidecar.
- #219Independent Hydrate build identity mismatch.
- #220Independent Hydrate sidecar has no boundary.
- #221Independent Hydrate boundary already registered.
- #222Streamed renderer response limits must be positive safe integers.
- #223A streamed renderer frame exceeded its byte budget.
- #224Streamed renderer delivery exceeded its pending budget.
- #225Streamed renderer delivery timed out.
- #226Streamed renderer delivery failed.
- #227An Octane streamed renderer receiver is already installed in this realm.
- #228The pre-module streamed renderer mailbox overflowed.
- #229Streamed renderer exceeded its open result budget.
- #230Streamed renderer result timed out.
- #231Streamed renderer entrypoint was removed.
- #232The streamed renderer response has no body.
- #233Malformed streamed renderer frame.
- #234Streamed renderer response was canceled.
- #235Streamed renderer response timed out.
- #236The streamed renderer response exceeded its total byte budget.
- #237The streamed renderer response ended mid-frame.
- #238The streamed renderer response ended before a result terminal.
- #239Streamed renderer response failed.
- #240The streamed region range is detached.
- #241The streamed region range is malformed.
- #242Duplicate streamed control key "%s".
- #243A full streamed region must be one balanced range.
- #244Streamed HTML cannot preserve live control "%s".
- #245Required streamed region styles are unavailable.
- #246Historical read-frame adoption failed.
- #247This region does not support renderer deltas.
- #248Register the exact current selection first.
- #249The streamed region markers do not share a parent.
- #250Streamed region content revisions must be nonnegative safe integers.
- #251Stream receiver limits must be positive safe integers.
- #252Streamed result timed out.
- #253Invalid streamed selection identity.
- #254Streamed selection has the wrong authority.
- #255Cannot attach a result to a stale selection.
- #256A streamed result already has a consumer.
- #257Invalid or duplicate streamed result sequence.
- #258A streamed result must begin with open.
- #259A streamed result cannot open twice.
- #260A promise result emitted more than one value.
- #261A promise result completed without one value.
- #262Streamed result mailbox exceeded its bound.
- #263Invalid or duplicate placement sequence.
- #264Streamed renderer frame failed.
- #265Streamed receiver was disposed.
- #266Streamed signal hydration requires buildId and documentId.
- #267The streamed signal selection bootstrap is missing or incompatible.
- #268The pre-module streamed signal selection mailbox overflowed.
- #269A streamed signal selection has the wrong authority.
- #270Document initialization requires full initial signal scopes.
- #271DOM class groups require a valid compiler-issued class receipt.
- #272A DOM host cannot mix class groups from different binding views.
- #273A DOM class group does not match its compiler-issued receipt.
- #274This DOM class group already has a binding.
- #275Cannot prepare a disposed DOM class group.
- #276Cannot commit an outdated DOM class group preparation.
- #277A DOM binding hydration lease must be active and have only one root owner.
- #278A DOM presentation ref must be a callback, object, or ref array.
- #279A native event binding must resolve to a function.
- #280Conditional hydration requires a compiler-proven caller shape.
- #281Structural hydration leases require compiler-owned native nodes.
- #282Native rest hydration requires an eligible closed child view.
- #283Structural hydration leases do not support lists or opaque regions.
- #284Structural hydration leases require primitive text.
- #285Structural hydration leases require a supported child view.
- #286DOM presentation cannot adopt mismatched compiler-owned ranges or nodes.
- #287This opaque view cannot be constructed without its external owner.
- #288A DOM presentation projection must return its synchronous scalar values.
- #289A DOM presentation signal text requires a primitive value.
- #290A DOM presentation initializer must return its synchronous scalar values.
- #291A DOM presentation branch projection returned an unknown arm.
- #292A DOM presentation child slot requires a compiler-owned fragment.
- #293A DOM presentation activation must return cleanup or undefined.
- #294DOM presentation requires synchronous getSnapshot() and subscribe() methods.
- #295A DOM presentation mount requires a parent and its optional insertion anchor.
- #296DOM presentation requires a synchronous snapshot, not a thenable.
- #297Hydration binding leases require an adopted fixed native view without structural regions or controls.
- #298This DOM presentation range already has a binding. Dispose it before rebinding.
- #299A DOM presentation subscription must return cleanup.
- #300A DOM presentation list requires a synchronous iterable.
- #301A DOM presentation list cannot contain duplicate keys.
- #302A DOM control binding requires its compiler-selected adapter.
- #303A constructible class group requires its compiler baseline initializer.
- #304A DOM projection subscription must return cleanup.
- #305A DOM binding projection group requires a computation.
- #306A DOM presentation key must be a string or finite number.
- #307A DOM presentation key has invalid serialized identity.
- #308Octane DOM bindings: an imported signal accessor performed a live read without a subscription; bind the handle directly or pass an explicit sample through BindingSource.
- #309A DOM binding signal requires the native binding protocol.
- #310A DOM binding signal subscription must return cleanup.
- #311A whole-style DOM binding requires a style object, CSS text or null.
- #312A DOM style subscription must return cleanup.
- #313adoptBindings() requires an Octane-compiled .tsrx or .tsx call and a supported static view.
- #314mountBindings() requires an Octane-compiled .tsrx or .tsx call.
- #315A DOM class token binding requires one nonempty class token.
- #316This DOM property already has a binding. Dispose it before rebinding.
- #317DOM bindings require the matching compiler-stamped root.
- #318DOM bindings cannot adopt a mismatched static element topology.
- #319DOM bindings cannot adopt an incomplete static element topology.
- #320DOM bindings require unique compiler-issued target addresses.
- #321DOM bindings cannot adopt a mismatched addressed element topology.
- #322DOM bindings cannot adopt an incomplete addressed element topology.
- #323DOM binding text must be a synchronous scalar.
- #324A whole-style DOM binding requires serialized CSS text or null.
- #325DOM bindings require synchronous getSnapshot() and subscribe() methods.
- #326DOM bindings require a synchronous snapshot, not a thenable.
- #327A DOM binding projection must return its synchronous scalar values.
- #328A DOM binding targets an unknown element.
- #329A DOM binding subscription must return a cleanup function.
- #330This DOM binding view requires the general adopter.
- #331Invalid independent Hydrate manifest inputs.