Skip to content

opentui: fatal: undefined is not an object (evaluating 'session().parentID') #6964

Closed

Description

@sureshsankaran

Description

When attempting to fork a new session from a past interaction, OpenCode TUI throws a fatal error.

Error

Error: undefined is not an object (evaluating 'session().parentID')
    at <anonymous> (/Users/suressan/github_manager/repos/opencode/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx:82:17)
    at runComputation (/Users/suressan/github_manager/repos/opencode/node_modules/solid-js/dist/solid.js:695:22)
    at updateComputation (/Users/suressan/github_manager/repos/opencode/node_modules/solid-js/dist/solid.js:677:3)
    at runTop (/Users/suressan/github_manager/repos/opencode/node_modules/solid-js/dist/solid.js:784:7)
    at runQueue (/Users/suressan/github_manager/repos/opencode/node_modules/solid-js/dist/solid.js:855:42)
    at completeUpdates (/Users/suressan/github_manager/repos/opencode/node_modules/solid-js/dist/solid.js:811:84)
    at runUpdates (/Users/suressan/github_manager/repos/opencode/node_modules/solid-js/dist/solid.js:801:5)
    at setStore (/Users/suressan/github_manager/repos/opencode/node_modules/solid-js/store/dist/store.js:210:5)
    at navigate (/Users/suressan/github_manager/repos/opencode/packages/opencode/src/cli/cmd/tui/routes/session/context/route.tsx:18:9)
    at <anonymous> (/Users/suressan/github_manager/repos/opencode/packages/opencode/src/cli/cmd/tui/routes/session/dialog-message.tsx:83:15)
    at processTicksAndRejections (native)

Steps to Reproduce

  1. Open an existing session from history
  2. Attempt to fork the session to create a new one
  3. Fatal error occurs

Root Cause Analysis

Line 119 in routes/session/index.tsx uses session().parentID without null-checking:

if (session().parentID) return sync.data.permission[route.sessionID] ?? []

Other lines in the same file correctly use optional chaining: session()?.parentID

The session object is undefined when the forked/parent session data hasn't loaded into the sync store yet.

Suggested Fix

// Line 119: Change from:
if (session().parentID) return sync.data.permission[route.sessionID] ?? []
// To:
if (session()?.parentID) return sync.data.permission[route.sessionID] ?? []

Environment

  • OpenCode version: local (built from source)
  • Platform: macOS (darwin)

Activity

  1. added
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on Jan 5, 2026
  2. github-actions commented on Jan 5, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

    All three issues report the same root cause - missing optional chaining on session().parentID in routes/session/index.tsx. Feel free to ignore if your specific case differs from these.

  3. rekram1-node commented on Jan 5, 2026

    @rekram1-node
    Contributor

    what version r u on i thought we fixed this?

  4. R44VC0RP commented on Jan 24, 2026

    @R44VC0RP
    Collaborator

    Closing as duplicate of #6977 - same session().parentID undefined error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

opentuiThis relates to changes in v1.0, now that opencode uses opentui

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions