Skip to content

opentui: fatal: undefined is not an object (evaluating 'lines().length') #3794

Closed

Description

@Howard3

Description

TypeError: undefined is not an object (evaluating 'lines().length')
    at <anonymous> (src/cli/cmd/tui/routes/session/index.tsx:1303:24)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at readSignal (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:624:10)
    at <anonymous> (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:1459:34)
    at <anonymous> (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:1134:43)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at createMemo (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:268:21)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at devComponent (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:587:18)
    at <anonymous> (src/cli/cmd/tui/routes/session/index.tsx:1320:16)
    at render (src/cli/cmd/tui/routes/session/index.tsx:1352:16)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at createMemo (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:268:21)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at devComponent (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:587:18)
    at <anonymous> (src/cli/cmd/tui/routes/session/index.tsx:1074:38)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at createMemo (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:268:21)
    at ToolPart (src/cli/cmd/tui/routes/session/index.tsx:1023:26)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at createMemo (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:268:21)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at devComponent (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:587:18)
    at <anonymous> (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:1526:24)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at createMemo (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:268:21)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at devComponent (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:587:18)
    at createRoot (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:197:23)
    at <anonymous> (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:1166:17)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at createMemo (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:268:21)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at devComponent (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:587:18)
    at AssistantMessage (src/cli/cmd/tui/routes/session/index.tsx:798:4)
    at untrack (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:470:58)
    at runComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:734:3)
    at updateComputation (../../node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/dev.js:718:10)
    at devComponent (../../node_mod...

OpenCode version

1.0.10

Steps to reproduce

I can't figure out the pattern to recreate this, bash commands are being run, I'm using paid for models (Zen). It's unclear to me what specific pattern results in this issue but it makes a session unusable, it's not possible to revisit the failed session.

Screenshot and/or share link

No response

Operating System

MacOS 26.0.1

Terminal

Ghostty, Terminal (MacOS)

Activity

  1. added
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on Nov 3, 2025
  2. github-actions commented on Nov 3, 2025

    @github-actions
    Contributor

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

    Feel free to ignore if none of these address your specific case.

  3. veracioux commented on Nov 3, 2025

    @veracioux
    Contributor

    To the maintainers: I am pretty much able to reproduce by making this change in the code:

    diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
    index 9868d3aff..374d2badc 100644
    --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
    +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx
    @@ -1000,7 +1000,7 @@ ToolRegistry.register<typeof WriteTool>({
       render(props) {
         const { theme, syntax } = useTheme()
         const lines = createMemo(() => {
    -      return props.input.content?.split("\n") ?? []
    +      return (undefined && props.input).content?.split("\n") ?? []
         })
         const code = createMemo(() => {
           if (!props.input.content) return ""
    
    Error: undefined is not an object (evaluating 'lines().length')                                                                                                                                                                            █
        at <anonymous> (/home/haris/data/projects/contrib/opencode/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx:1308:25)                                                                                                         █
        at runComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:695:22)                                                                                             █
        at updateComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:677:3)                                                                                           █
        at readSignal (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:613:67)                                                                                                 █
        at <anonymous> (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:1452:36)                                                                                               █
        at <anonymous> (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:1094:20)                                                                                               █
        at runComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:695:22)                                                                                             █
        at updateComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:677:3)                                                                                           █
        at createMemo (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:250:10)                                                                                                 █
        at <anonymous> (/home/haris/data/projects/contrib/opencode/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx:1329:24)                                                                                                         █
        at render (/home/haris/data/projects/contrib/opencode/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx:1358:14)                                                                                                              █
        at untrack (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:452:12)                                                                                                    █
        at runComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:695:22)                                                                                             █
        at updateComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:677:3)                                                                                           █
        at createMemo (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:250:10)                                                                                                 █
        at untrack (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:452:12)                                                                                                    █
        at <anonymous> (/home/haris/data/projects/contrib/opencode/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx:1080:24)                                                                                                         █
        at runComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:695:22)                                                                                             █
        at updateComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:677:3)                                                                                           █
        at createMemo (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:250:10)                                                                                                 █
        at ToolPart (/home/haris/data/projects/contrib/opencode/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx:1029:21)                                                                                                            █
        at untrack (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:452:12)                                                                                                    █
        at runComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:695:22)                                                                                             █
        at updateComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:677:3)                                                                                           █
        at createMemo (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:250:10)
        at untrack (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:452:12)
        at <anonymous> (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:1469:21)
        at runComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:695:22)
        at updateComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:677:3)
        at createMemo (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:250:10)
        at createRoot (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:189:12)
        at <anonymous> (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:1123:23)
        at untrack (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:452:12)
        at runComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:695:22)
        at updateComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:677:3)
        at createMemo (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:250:10)
        at AssistantMessage (/home/haris/data/projects/contrib/opencode/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx:805:11)
        at untrack (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:452:12)
        at <anonymous> (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:1501:19)
        at runComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:695:22)
        at updateComputation (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:677:3)
        at createMemo (/home/haris/data/projects/contrib/opencode/node_modules/.bun/solid-js@1.9.9/node_modules/solid-js/dist/solid.js:250:10)
    

    I have analyzed the code and it looks like the only way for props.input to be undefined is if a ToolPart was stored in the database without the input property (hence the undefined error).

  4. thdxr commented on Nov 4, 2025

    @thdxr
    Member

    fixed

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingopentuiThis 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