Skip to content

Opencode become stuck all of a sudden. Does not launch anymore. #5485

Closed as not planned

Description

@raymelon

Description

Curious if uninstalling is safe. If not, how can I make sure that my config and conversations are kept after the process?

This is what is happening right now:

Image

So I figured to just uninstall

I am running opencode in Windows 10, WSL 1.0 Ubuntu 20.14

OpenCode version

1.0.67

Steps to reproduce

No response

Screenshot and/or share link

No response

Operating System

Windows 10

Terminal

Warp

Activity

  1. github-actions commented on Dec 13, 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.

  2. raymelon commented on Dec 13, 2025

    @raymelon
    Author

    Well, apparently my opencode was updated to 1.0.142

    opencode --print-logs --log-level DEBUG
    INFO  2025-12-13T15:17:08 +220ms service=default version=1.0.142 args=["--print-logs","--log-level","DEBUG"] opencode
    

    It looks like the update caused the issue?

  3. raymelon commented on Dec 13, 2025

    @raymelon
    Author

    I decided to proceed with updating it to 1.0.125, but it also looks like it failed to detect the installed version.

    Image
  4. raymelon commented on Dec 13, 2025

    @raymelon
    Author

    This is bad. Despite updating to 1.0.152, it's still stuck.

    Image
  5. rekram1-node commented on Dec 13, 2025

    @rekram1-node
    Contributor

    hm that’s very strange

    are you able to do:

    opencode run hello

    and pass print logs to that?

  6. self-assigned this
    on Dec 13, 2025
  7. radomirml commented on Dec 14, 2025

    @radomirml

    I have a similar issue since this morning. It looks like an issue with TUI - open code is just stuck and doesn't open:

    $ opencode --print-logs
    INFO  2025-12-14T09:24:59 +83ms service=default version=1.0.152 args=["--print-logs"] opencode
    ERROR 2025-12-14T09:24:59 +142ms service=acp-command promise={} reason=Failed to initialize OpenTUI render library: Failed to open library "/$bunfs/root/libopentui-5kxbhhq3.so": /$bunfs/root/libopentui-5kxbhhq3.so: cannot open shared object file: No such file or directory Unhandled rejection
    ERROR 2025-12-14T09:24:59 +0ms service=default e=Failed to initialize OpenTUI render library: Failed to open library "/$bunfs/root/libopentui-5kxbhhq3.so": /$bunfs/root/libopentui-5kxbhhq3.so: cannot open shared object file: No such file or directory rejection
    ERROR 2025-12-14T09:24:59 +0ms service=default Error: Failed to initialize OpenTUI render library: Failed to open library "/$bunfs/root/libopentui-5kxbhhq3.so": /$bunfs/root/libopentui-5kxbhhq3.so: cannot open shared object file: No such file or directory
    

    This works: opencode run hello --print-logs

  8. radomirml commented on Dec 14, 2025

    @radomirml

    Ignore my comment - in my case the problem was full /tmp partition

  9. CountElqyd commented on Dec 15, 2025

    @CountElqyd

    This issue usually happens because of opencode autoupdating, which is why you see "No such file or directory"
    You may add this to your opencode.json to prevent this from happening.

    "autoupdate": false,

  10. acbk2b commented on Dec 15, 2025

    @acbk2b

    I have been having the exact same issue today (everything worked on Friday 12/12), very similar set up: Windows 11, Ubuntu 22.04 WSL 1.
    opencode opens on projects without actual code (i.e. markdown files), however coding projects hang as described in this thread.

    Disabling lsp support and autoupdate globally yielded no change for me, unfortunately

    However, I was able to get opencode working again when downgrading substantially (i.e. 1.0.0)

  11. rekram1-node commented on Dec 15, 2025

    @rekram1-node
    Contributor

    Can anyone having issue show me:

    opencode run hello --print-logs --model opencode/grok-code

    and we can see if stuff is hanging and where

  12. acbk2b commented on Dec 15, 2025

    @acbk2b

    Output from my end, looks like in my case the corporate proxy my laptop sits behind is stepping on opencode.ai (I can't access it in the browser. I was using the GitHub Copilot backend before, which was working fine

    Edit: Ran with the wrong version, but shows the same on the latest (`

    $ opencode run hello --print-logs --model opencode/grok-code
    INFO 2025-12-15T20:39:53 +194ms service=default version=1.0.158 args=["run","hello","--print-logs","--model","opencode/grok-code"] opencode
    INFO 2025-12-15T20:39:53 +1ms service=default directory=/home/user/repos/testproject creating instance
    INFO 2025-12-15T20:39:53 +0ms service=project directory=/home/user/repos/testproject fromDirectory
    INFO 2025-12-15T20:39:53 +24ms service=default directory=/home/user/repos/testproject bootstrapping
    INFO 2025-12-15T20:39:53 +4ms service=config path=/home/user/.config/opencode/config.json loading
    INFO 2025-12-15T20:39:53 +0ms service=config path=/home/user/.config/opencode/opencode.json loading
    INFO 2025-12-15T20:39:53 +1ms service=config path=/home/user/.config/opencode/opencode.jsonc loading
    INFO 2025-12-15T20:39:53 +2ms service=bun cmd=["/home/user/.config/nvm/versions/node/v22.21.1/lib/node_modules/opencode-ai/node_modules/opencode-linux-x64/bin/opencode","add","@opencode-ai/plugin@1.0.158","--exact"] cwd=/home/user/.config/opencode running
    INFO 2025-12-15T20:39:53 +36ms service=bun code=0 stdout=bun add v1.3.4 (5eb2145b)
    
    installed @opencode-ai/plugin@1.0.158
    
    [6.00ms] done
    stderr=Saved lockfile
    done
    INFO 2025-12-15T20:39:53 +3ms service=plugin path=opencode-copilot-auth@0.0.9 loading plugin
    INFO 2025-12-15T20:39:53 +3ms service=plugin path=opencode-anthropic-auth@0.0.5 loading plugin
    INFO 2025-12-15T20:39:53 +31ms service=bus type=_ subscribing
    INFO 2025-12-15T20:39:53 +1ms service=bus type=session.updated subscribing
    INFO 2025-12-15T20:39:53 +0ms service=bus type=message.updated subscribing
    INFO 2025-12-15T20:39:53 +0ms service=bus type=message.part.updated subscribing
    INFO 2025-12-15T20:39:53 +0ms service=bus type=session.updated subscribing
    INFO 2025-12-15T20:39:53 +0ms service=bus type=message.updated subscribing
    INFO 2025-12-15T20:39:53 +0ms service=bus type=message.part.updated subscribing
    INFO 2025-12-15T20:39:53 +0ms service=bus type=session.diff subscribing
    INFO 2025-12-15T20:39:53 +0ms service=format init
    INFO 2025-12-15T20:39:53 +0ms service=bus type=file.edited subscribing
    INFO 2025-12-15T20:39:53 +0ms service=lsp serverIds=deno, typescript, vue, eslint, biome, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, fsharp, sourcekit-lsp, rust, clangd, svelte, astro, jdtls, yaml-ls, lua-ls, php intelephense, dart, ocaml-lsp, bash, terraform, texlab, dockerfile, gleam enabled LSP servers
    INFO 2025-12-15T20:39:53 +0ms service=file.watcher init
    INFO 2025-12-15T20:39:53 +3ms service=bus type=command.executed subscribing
    INFO 2025-12-15T20:39:53 +5ms service=file.watcher platform=linux backend=inotify watcher backend
    INFO 2025-12-15T20:39:53 +98ms service=vcs branch=master initialized
    INFO 2025-12-15T20:39:53 +1ms service=bus type=file.watcher.updated subscribing
    INFO 2025-12-15T20:39:53 +6ms service=server method=POST path=/session request
    INFO 2025-12-15T20:39:53 +0ms service=server status=started method=POST path=/session request
    INFO 2025-12-15T20:39:53 +3ms service=session id=session-id version=1.0.158 projectID=projectId directory=/home/user/repos/testproject title=New session - 2025-12-15T20:39:53.958Z time={"created":1765831193958,"updated":1765831193958} created
    INFO 2025-12-15T20:39:53 +2ms service=bus type=session.created publishing
    INFO 2025-12-15T20:39:53 +0ms service=bus type=session.updated publishing
    INFO 2025-12-15T20:39:53 +2ms service=server status=completed duration=7 method=POST path=/session request
    INFO 2025-12-15T20:39:53 +2ms service=server method=GET path=/config request
    INFO 2025-12-15T20:39:53 +0ms service=server status=started method=GET path=/config request
    INFO 2025-12-15T20:39:53 +0ms service=server status=completed duration=0 method=GET path=/config request
    ERROR 2025-12-15T20:39:53 +0ms service=acp-command promise={} reason=Bad file descriptor Unhandled rejection
    ERROR 2025-12-15T20:39:53 +0ms service=default e=Bad file descriptor rejection
    INFO 2025-12-15T20:39:53 +5ms service=server method=GET path=/event request
    INFO 2025-12-15T20:39:53 +0ms service=server status=started method=GET path=/event request
    INFO 2025-12-15T20:39:53 +0ms service=server event connected
    INFO 2025-12-15T20:39:53 +1ms service=bus type=_ subscribing
    INFO 2025-12-15T20:39:53 +1ms service=server status=completed duration=2 method=GET path=/event request
    INFO 2025-12-15T20:39:53 +0ms service=server method=POST path=/session/session-id/message request
    INFO 2025-12-15T20:39:53 +1ms service=server status=started method=POST path=/session/session-id/message request
    INFO 2025-12-15T20:39:53 +2ms service=server status=completed duration=3 method=POST path=/session/session-id/message request
    INFO 2025-12-15T20:39:53 +24ms service=bus type=message.updated publishing
    INFO 2025-12-15T20:39:54 +2ms service=provider status=started state
    INFO 2025-12-15T20:39:54 +2ms service=models.dev file={} refreshing
    INFO 2025-12-15T20:39:54 +11ms service=provider init
    INFO 2025-12-15T20:39:54 +0ms service=bus type=message.part.updated publishing
    INFO 2025-12-15T20:39:54 +2ms service=bus type=session.updated publishing
    INFO 2025-12-15T20:39:54 +2ms service=bus type=session.status publishing
    INFO 2025-12-15T20:39:54 +0ms service=session.prompt step=0 sessionID=session-id loop
    INFO 2025-12-15T20:39:54 +2ms service=provider providerID=opencode found
    INFO 2025-12-15T20:39:54 +0ms service=provider status=completed duration=19 state
    INFO 2025-12-15T20:39:54 +30ms service=llm providerID=opencode modelID=gpt-5-nano sessionID=session-id small=true agent=title stream
    INFO 2025-12-15T20:39:54 +1ms service=provider status=started providerID=opencode getSDK
    INFO 2025-12-15T20:39:54 +0ms service=provider providerID=opencode pkg=@ai-sdk/openai using bundled provider
    INFO 2025-12-15T20:39:54 +0ms service=provider status=completed duration=0 providerID=opencode getSDK
    INFO 2025-12-15T20:39:54 +0ms service=bus type=message.updated publishing
    INFO 2025-12-15T20:39:54 +1ms service=session.prompt status=started resolveTools
    INFO 2025-12-15T20:39:54 +2ms service=llm providerID=opencode modelID=gpt-5-nano sessionID=session-id small=true agent=title params={"options":{"reasoningEffort":"minimal","promptCacheKey":"session-id","include":["reasoning.encrypted_content"],"reasoningSummary":"auto"}} params
    INFO 2025-12-15T20:39:54 +10ms service=tool.registry status=started invalid
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started bash
    INFO 2025-12-15T20:39:54 +0ms service=bash-tool shell=/bin/zsh bash tool using shell
    INFO 2025-12-15T20:39:54 +1ms service=tool.registry status=started read
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started glob
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started grep
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started list
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started edit
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started write
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started task
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started webfetch
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started todowrite
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started todoread
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started websearch
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=started codesearch
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=1 invalid
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 read
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 glob
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 grep
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 list
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 edit
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 write
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 webfetch
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 todowrite
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 todoread
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 websearch
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 codesearch
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=1 bash
    INFO 2025-12-15T20:39:54 +0ms service=tool.registry status=completed duration=0 task
    INFO 2025-12-15T20:39:54 +4ms service=session.prompt status=completed duration=17 resolveTools
    INFO 2025-12-15T20:39:54 +1ms service=ripgrep cwd=/home/user/repos/testproject limit=200 tree
    INFO 2025-12-15T20:39:54 +15ms service=bus type=message.updated publishing
    INFO 2025-12-15T20:39:54 +1ms service=llm providerID=opencode modelID=gpt-5-nano sessionID=session-id small=true agent=title stream
    INFO 2025-12-15T20:39:54 +0ms service=llm providerID=opencode modelID=gpt-5-nano sessionID=session-id small=true agent=title params={"options":{"reasoningEffort":"minimal","promptCacheKey":"session-id","include":["reasoning.encrypted_content"],"reasoningSummary":"auto"}} params
    INFO 2025-12-15T20:39:54 +2ms service=bus type=session.updated publishing
    INFO 2025-12-15T20:39:54 +1ms service=bus type=session.diff publishing
    INFO 2025-12-15T20:39:54 +9ms service=session.processor process
    INFO 2025-12-15T20:39:54 +0ms service=llm providerID=opencode modelID=grok-code sessionID=session-id small=false agent=build stream
    INFO 2025-12-15T20:39:54 +0ms service=provider status=started providerID=opencode getSDK
    INFO 2025-12-15T20:39:54 +0ms service=provider providerID=opencode pkg=@ai-sdk/openai-compatible using bundled provider
    INFO 2025-12-15T20:39:54 +0ms service=provider status=completed duration=0 providerID=opencode getSDK
    INFO 2025-12-15T20:39:54 +1ms service=llm providerID=opencode modelID=grok-code sessionID=session-id small=false agent=build params={"options":{}} params
    INFO 2025-12-15T20:39:54 +0ms service=bus type=session.status publishing
    ERROR 2025-12-15T20:39:54 +774ms service=llm providerID=opencode modelID=grok-code sessionID=session-id small=false agent=build error={"error":{"code":"ConnectionRefused","path":"https://opencode.ai/zen/v1/responses","errno":0}} stream error
    ERROR 2025-12-15T20:39:54 +2ms service=acp-command promise={} reason=No output generated. Check the stream for errors. Unhandled rejection
    ERROR 2025-12-15T20:39:54 +0ms service=default e=No output generated. Check the stream for errors. rejection
    ERROR 2025-12-15T20:39:54 +0ms service=llm providerID=opencode modelID=grok-code sessionID=session-id small=false agent=build error={"error":{"code":"ConnectionRefused","path":"https://opencode.ai/zen/v1/responses","errno":0}} stream error
    ERROR 2025-12-15T20:39:54 +0ms service=session.prompt error=No output generated. Check the stream for errors. failed to generate title
    ERROR 2025-12-15T20:39:54 +1ms service=llm providerID=opencode modelID=grok-code sessionID=session-id small=false agent=build error={"error":{"code":"ConnectionRefused","path":"https://opencode.ai/zen/v1/chat/completions","errno":0}} stream error
    ERROR 2025-12-15T20:39:54 +1ms service=session.processor error=Unable to connect. Is the computer able to access the url? process
    INFO 2025-12-15T20:39:54 +0ms service=bus type=session.error publishing
    INFO 2025-12-15T20:39:54 +2ms service=bus type=message.updated publishing
    INFO 2025-12-15T20:39:54 +1ms service=session.compaction pruning
    Error: Error: Unable to connect. Is the computer able to access the url?
    INFO 2025-12-15T20:39:54 +37ms service=session.prompt sessionID=session-id cancel
    INFO 2025-12-15T20:39:54 +0ms service=bus type=session.status publishing
    INFO 2025-12-15T20:39:54 +0ms service=bus type=session.idle publishing
    
  13. rekram1-node commented on Dec 15, 2025

    @rekram1-node
    Contributor

    @acbk2b can you try the same with a copilot model?

    opencode run hello --print-logs --model github-copilot/gpt-4.1

  14. acbk2b commented on Dec 15, 2025

    @acbk2b

    I get a ProviderModelNotFoundError error on that:

    ProviderModelNotFoundError: ProviderModelNotFoundError
     data: {
      providerID: "github-copilot",
      modelID: "gpt-4.1",
      suggestions: [],
    },
    
  15. 25 remaining items

  16. maxjust commented on Jan 16, 2026

    @maxjust

    +1

  17. Godlaa commented on Jan 17, 2026

    @Godlaa

    +2

  18. Songze1019 commented on Jan 19, 2026

    @Songze1019

    Same issue, I noticed that opening opencode with VSCode,

    Image

    these garbled characters have appeared with an "Aborted" .

  19. rnwolfe commented on Jan 22, 2026

    @rnwolfe

    I am having a similar issue. My open code just hangs indefinitely when trying to launch. FWIW, it still launches in other session (precisely, other tmux panes). It seems to occur anytime the launch would be the second running instance of opencode.

    Per above, I tried opencode run hello with both grok-code and my default model (opus 4.5 via anthropic). Grok works, but not specifying model does not.

    The opencode run where it hangs seems to loop indefinitely on:

    INFO  2026-01-22T15:17:19 +78ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:19 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:19 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:19 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    

    Version:

    > opencode -v
    1.1.31

    Works: opencode run hello --print-logs --model opencode/grok-code

    > opencode run hello --print-logs --model opencode/grok-code
    INFO  2026-01-22T15:17:01 +262ms service=default version=1.1.31 args=["run","hello","--print-logs","--model","opencode/grok-code"] opencode
    INFO  2026-01-22T15:17:01 +1ms service=default directory=/home/rnwolfe/dev/untunneled.dev creating instance
    INFO  2026-01-22T15:17:01 +0ms service=project directory=/home/rnwolfe/dev/untunneled.dev fromDirectory
    INFO  2026-01-22T15:17:01 +9ms service=default directory=/home/rnwolfe/dev/untunneled.dev bootstrapping
    INFO  2026-01-22T15:17:01 +9ms service=config path=/home/rnwolfe/.config/opencode/config.json loading
    INFO  2026-01-22T15:17:01 +0ms service=config path=/home/rnwolfe/.config/opencode/opencode.json loading
    INFO  2026-01-22T15:17:01 +8ms service=config path=/home/rnwolfe/.config/opencode/opencode.jsonc loading
    INFO  2026-01-22T15:17:01 +3ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","add","@opencode-ai/plugin@1.1.31","--exact"] cwd=/home/rnwolfe/.config/opencode running
    INFO  2026-01-22T15:17:01 +1ms service=config path=/home/rnwolfe/.opencode/opencode.jsonc loading
    INFO  2026-01-22T15:17:01 +1ms service=config path=/home/rnwolfe/.opencode/opencode.json loading
    INFO  2026-01-22T15:17:01 +0ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","add","@opencode-ai/plugin@1.1.31","--exact"] cwd=/home/rnwolfe/.opencode running
    INFO  2026-01-22T15:17:01 +4ms service=plugin name=CodexAuthPlugin loading internal plugin
    INFO  2026-01-22T15:17:01 +0ms service=plugin name=CopilotAuthPlugin loading internal plugin
    INFO  2026-01-22T15:17:01 +1ms service=plugin path=opencode-antigravity-auth@1.3.0 loading plugin
    INFO  2026-01-22T15:17:01 +1ms service=bun code=0 stdout=bun add v1.3.5 (1e86cebd)
    
    installed @opencode-ai/plugin@1.1.31
    
    [1.00ms] done
     stderr=Saved lockfile
     done
    INFO  2026-01-22T15:17:01 +0ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","install"] cwd=/home/rnwolfe/.config/opencode running
    INFO  2026-01-22T15:17:01 +1ms service=bun code=0 stdout=bun add v1.3.5 (1e86cebd)
    
    installed @opencode-ai/plugin@1.1.31
    
    [1.00ms] done
     stderr=Saved lockfile
     done
    INFO  2026-01-22T15:17:01 +0ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","install"] cwd=/home/rnwolfe/.opencode running
    INFO  2026-01-22T15:17:01 +44ms service=bun code=0 stdout=bun install v1.3.5 (1e86cebd)
    
    Checked 3 installs across 4 packages (no changes) [1.00ms]
     stderr= done
    INFO  2026-01-22T15:17:01 +0ms service=bun code=0 stdout=bun install v1.3.5 (1e86cebd)
    
    Checked 3 installs across 4 packages (no changes) [1.00ms]
     stderr= done
    INFO  2026-01-22T15:17:01 +3ms service=plugin path=oh-my-opencode-slim loading plugin
    INFO  2026-01-22T15:17:01 +0ms service=bun pkg=oh-my-opencode-slim version=latest installing package using Bun's default registry resolution
    INFO  2026-01-22T15:17:01 +0ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","add","--force","--exact","--cwd","/home/rnwolfe/.cache/opencode","oh-my-opencode-slim@latest"] cwd=/home/rnwolfe/.cache/opencode running
    INFO  2026-01-22T15:17:02 +353ms service=bun code=0 stdout=bun add v1.3.5 (1e86cebd)
    
    + @gitlab/opencode-gitlab-auth@1.3.2
    + oh-my-opencode@2.14.0
    + opencode-anthropic-auth@0.0.9
    + opencode-antigravity-auth@1.3.0
    
    installed oh-my-opencode-slim@0.5.2 with binaries:
     - oh-my-opencode-slim
    
    189 packages installed [350.00ms]
     stderr=Resolving dependencies
    Resolved, downloaded and extracted [1]
    Saved lockfile
     done
    INFO  2026-01-22T15:17:02 +67ms service=plugin path=opencode-anthropic-auth@0.0.9 loading plugin
    INFO  2026-01-22T15:17:02 +5ms service=plugin path=@gitlab/opencode-gitlab-auth@1.3.2 loading plugin
    INFO  2026-01-22T15:17:02 +48ms service=bus type=* subscribing
    INFO  2026-01-22T15:17:02 +0ms service=bus type=session.updated subscribing
    INFO  2026-01-22T15:17:02 +0ms service=bus type=message.updated subscribing
    INFO  2026-01-22T15:17:02 +0ms service=bus type=message.part.updated subscribing
    INFO  2026-01-22T15:17:02 +0ms service=bus type=session.updated subscribing
    INFO  2026-01-22T15:17:02 +0ms service=bus type=message.updated subscribing
    INFO  2026-01-22T15:17:02 +0ms service=bus type=message.part.updated subscribing
    INFO  2026-01-22T15:17:02 +0ms service=bus type=session.diff subscribing
    INFO  2026-01-22T15:17:02 +0ms service=format init
    INFO  2026-01-22T15:17:02 +0ms service=bus type=file.edited subscribing
    INFO  2026-01-22T15:17:02 +1ms service=lsp serverIds=deno, typescript, vue, eslint, oxlint, biome, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, fsharp, sourcekit-lsp, rust, clangd, svelte, astro, jdtls, kotlin-ls, yaml-ls, lua-ls, php intelephense, prisma, dart, ocaml-lsp, bash, terraform, texlab, dockerfile, gleam, clojure-lsp, nixd, tinymist, haskell-language-server enabled LSP servers
    INFO  2026-01-22T15:17:02 +0ms service=file.watcher init
    INFO  2026-01-22T15:17:02 +2ms service=scheduler id=snapshot.cleanup run
    INFO  2026-01-22T15:17:02 +0ms service=scheduler id=tool.truncation.cleanup run
    INFO  2026-01-22T15:17:02 +0ms service=bus type=command.executed subscribing
    INFO  2026-01-22T15:17:02 +1ms service=file.watcher platform=linux backend=inotify watcher backend
    INFO  2026-01-22T15:17:02 +20ms service=server method=POST path=/session request
    INFO  2026-01-22T15:17:02 +0ms service=server status=started method=POST path=/session request
    INFO  2026-01-22T15:17:02 +1ms service=session id=ses_419b8396fffe870IaCv1YWyRRx slug=witty-lagoon version=1.1.31 projectID=ac7193dc1cc2decbac30f34065906a43c0285033 directory=/home/rnwolfe/dev/untunneled.dev title=New session - 2026-01-22T15:17:02.224Z time={"created":1769095022224,"updated":1769095022224} created
    INFO  2026-01-22T15:17:02 +1ms service=bus type=session.created publishing
    INFO  2026-01-22T15:17:02 +0ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:02 +1ms service=server status=completed duration=3 method=POST path=/session request
    INFO  2026-01-22T15:17:02 +0ms service=server method=GET path=/config request
    INFO  2026-01-22T15:17:02 +0ms service=server status=started method=GET path=/config request
    INFO  2026-01-22T15:17:02 +1ms service=server status=completed duration=1 method=GET path=/config request
    INFO  2026-01-22T15:17:02 +2ms service=server method=GET path=/event request
    INFO  2026-01-22T15:17:02 +0ms service=server status=started method=GET path=/event request
    INFO  2026-01-22T15:17:02 +0ms service=server method=POST path=/session/ses_419b8396fffe870IaCv1YWyRRx/message request
    INFO  2026-01-22T15:17:02 +0ms service=server status=started method=POST path=/session/ses_419b8396fffe870IaCv1YWyRRx/message request
    INFO  2026-01-22T15:17:02 +0ms service=server event connected
    INFO  2026-01-22T15:17:02 +1ms service=bus type=* subscribing
    INFO  2026-01-22T15:17:02 +4ms service=server status=completed duration=5 method=GET path=/event request
    INFO  2026-01-22T15:17:02 +1ms service=server status=completed duration=6 method=POST path=/session/ses_419b8396fffe870IaCv1YWyRRx/message request
    INFO  2026-01-22T15:17:02 +6ms service=vcs branch=main initialized
    INFO  2026-01-22T15:17:02 +0ms service=bus type=file.watcher.updated subscribing
    INFO  2026-01-22T15:17:02 +5ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:02 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:02 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:02 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:02 +0ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:02 +6ms service=provider status=started state
    INFO  2026-01-22T15:17:02 +4ms service=models.dev file={} refreshing
    INFO  2026-01-22T15:17:02 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:02 +14ms service=provider init
    INFO  2026-01-22T15:17:02 +1ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:02 +2ms service=bus type=session.status publishing
    INFO  2026-01-22T15:17:02 +0ms service=session.prompt step=0 sessionID=ses_419b8396fffe870IaCv1YWyRRx loop
    INFO  2026-01-22T15:17:02 +7ms service=server status=started method=POST path=/log request
    INFO  2026-01-22T15:17:02 +2ms service=snapshot prune=7.days cleanup
    INFO  2026-01-22T15:17:02 +1ms service=provider providerID=openai found
    INFO  2026-01-22T15:17:02 +0ms service=provider providerID=github-copilot found
    INFO  2026-01-22T15:17:02 +0ms service=provider providerID=google found
    INFO  2026-01-22T15:17:02 +0ms service=provider providerID=anthropic found
    INFO  2026-01-22T15:17:02 +0ms service=provider providerID=opencode found
    INFO  2026-01-22T15:17:02 +0ms service=provider status=completed duration=32 state
    INFO  2026-01-22T15:17:02 +3ms service=llm providerID=opencode modelID=gpt-5-nano sessionID=ses_419b8396fffe870IaCv1YWyRRx small=true agent=title mode=primary stream
    INFO  2026-01-22T15:17:02 +0ms service=provider status=started providerID=opencode getSDK
    INFO  2026-01-22T15:17:02 +0ms service=provider providerID=opencode pkg=@ai-sdk/openai using bundled provider
    INFO  2026-01-22T15:17:02 +0ms service=provider status=completed duration=0 providerID=opencode getSDK
    INFO  2026-01-22T15:17:02 +0ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:02 +1ms service=session.prompt status=started resolveTools
    INFO  2026-01-22T15:17:02 +15ms service=tool.registry status=started invalid
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started question
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started bash
    INFO  2026-01-22T15:17:02 +1ms service=bash-tool shell=/usr/bin/zsh bash tool using shell
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started read
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started glob
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started grep
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started edit
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started write
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started task
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started webfetch
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started todowrite
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started todoread
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started websearch
    INFO  2026-01-22T15:17:02 +1ms service=tool.registry status=started codesearch
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started skill
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started background_task
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started background_output
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started background_cancel
    INFO  2026-01-22T15:17:02 +1ms service=tool.registry status=started lsp_goto_definition
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started lsp_find_references
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started lsp_diagnostics
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started lsp_rename
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started grep
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started ast_grep_search
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started ast_grep_replace
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started antigravity_quota
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started omos_skill
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=started omos_skill_mcp
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=3 invalid
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=3 question
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 read
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 glob
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 grep
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 edit
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 write
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 webfetch
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 todowrite
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 todoread
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=1 codesearch
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=1 background_task
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=1 background_output
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=1 background_cancel
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 lsp_goto_definition
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 lsp_find_references
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 lsp_diagnostics
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 lsp_rename
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 grep
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 ast_grep_search
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 ast_grep_replace
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 antigravity_quota
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 omos_skill
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=0 omos_skill_mcp
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=3 bash
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 websearch
    INFO  2026-01-22T15:17:02 +0ms service=permission permission=task pattern=explorer ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:02 +1ms service=permission permission=task pattern=librarian ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:02 +0ms service=permission permission=task pattern=oracle ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:02 +0ms service=permission permission=task pattern=designer ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:02 +0ms service=permission permission=task pattern=fixer ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=3 task
    INFO  2026-01-22T15:17:02 +0ms service=tool.registry status=completed duration=2 skill
    INFO  2026-01-22T15:17:02 +5ms service=mcp key=websearch type=remote found
    INFO  2026-01-22T15:17:02 +4ms service=mcp key=context7 type=remote found
    INFO  2026-01-22T15:17:02 +1ms service=mcp key=grep_app type=remote found
    INFO  2026-01-22T15:17:02 +130ms service=mcp key=context7 transport=StreamableHTTP connected
    INFO  2026-01-22T15:17:02 +52ms service=mcp key=context7 toolCount=2 create() successfully created client
    INFO  2026-01-22T15:17:02 +12ms service=mcp key=grep_app transport=StreamableHTTP connected
    INFO  2026-01-22T15:17:02 +141ms service=mcp key=grep_app toolCount=1 create() successfully created client
    INFO  2026-01-22T15:17:02 +191ms service=mcp key=websearch transport=StreamableHTTP connected
    INFO  2026-01-22T15:17:03 +264ms service=mcp key=websearch toolCount=1 create() successfully created client
    INFO  2026-01-22T15:17:03 +184ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:03 +179ms service=session.prompt status=completed duration=1182 resolveTools
    INFO  2026-01-22T15:17:03 +7ms service=session.processor process
    INFO  2026-01-22T15:17:03 +0ms service=llm providerID=opencode modelID=grok-code sessionID=ses_419b8396fffe870IaCv1YWyRRx small=false agent=orchestrator mode=primary stream
    INFO  2026-01-22T15:17:03 +0ms service=provider status=started providerID=opencode getSDK
    INFO  2026-01-22T15:17:03 +0ms service=provider providerID=opencode pkg=@ai-sdk/openai-compatible using bundled provider
    INFO  2026-01-22T15:17:03 +0ms service=provider status=completed duration=0 providerID=opencode getSDK
    INFO  2026-01-22T15:17:03 +2ms service=bus type=session.status publishing
    INFO  2026-01-22T15:17:03 +6ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:03 +0ms service=llm providerID=opencode modelID=gpt-5-nano sessionID=ses_419b8396fffe870IaCv1YWyRRx small=true agent=title mode=primary stream
    INFO  2026-01-22T15:17:03 +1ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:03 +0ms service=bus type=session.diff publishing
    INFO  2026-01-22T15:17:05 +1840ms service=snapshot hash=8104a652a63324f163074410bcbce408649c6f06
     cwd=/home/rnwolfe/dev/untunneled.dev git=/home/rnwolfe/.local/share/opencode/snapshot/ac7193dc1cc2decbac30f34065906a43c0285033 tracking
    INFO  2026-01-22T15:17:05 +0ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +0ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +0ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +0ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +23ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +2ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +0ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +41ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +2ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +2ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +27ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +2ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +22ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:05 +91ms service=session.summary title=Greeting message check-in title
    INFO  2026-01-22T15:17:05 +1ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:07 +2181ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +32ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +27ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +0ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +32ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +46ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +2ms service=bus type=message.part.updated publishing
    
    Hello! How can I help with your project?
    
    INFO  2026-01-22T15:17:07 +16ms service=snapshot hash=8104a652a63324f163074410bcbce408649c6f06
     cwd=/home/rnwolfe/dev/untunneled.dev git=/home/rnwolfe/.local/share/opencode/snapshot/ac7193dc1cc2decbac30f34065906a43c0285033 tracking
    INFO  2026-01-22T15:17:07 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:07 +0ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:07 +6ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:07 +0ms service=bus type=session.status publishing
    INFO  2026-01-22T15:17:07 +0ms service=session.prompt step=1 sessionID=ses_419b8396fffe870IaCv1YWyRRx loop
    INFO  2026-01-22T15:17:07 +3ms service=session.prompt sessionID=ses_419b8396fffe870IaCv1YWyRRx exiting loop
    INFO  2026-01-22T15:17:07 +1ms service=session.compaction pruning
    INFO  2026-01-22T15:17:07 +0ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:07 +0ms service=bus type=session.diff publishing
    INFO  2026-01-22T15:17:07 +1ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:07 +2ms service=session.prompt sessionID=ses_419b8396fffe870IaCv1YWyRRx cancel
    INFO  2026-01-22T15:17:07 +0ms service=bus type=session.status publishing
    INFO  2026-01-22T15:17:07 +0ms service=bus type=session.idle publishing
    INFO  2026-01-22T15:17:07 +1ms service=default directory=/home/rnwolfe/dev/untunneled.dev disposing instance
    INFO  2026-01-22T15:17:07 +0ms service=state key=/home/rnwolfe/dev/untunneled.dev waiting for state disposal to complete
    INFO  2026-01-22T15:17:07 +0ms service=bus type=file.watcher.updated unsubscribing
    INFO  2026-01-22T15:17:07 +3ms service=state key=/home/rnwolfe/dev/untunneled.dev state disposal completed

    Hangs: opencode run hello --print-logs (default model, opus 4.5 via anthropic)

    > opencode run hello --print-logs
    INFO  2026-01-22T15:17:17 +282ms service=default version=1.1.31 args=["run","hello","--print-logs"] opencode
    INFO  2026-01-22T15:17:17 +1ms service=default directory=/home/rnwolfe/dev/untunneled.dev creating instance
    INFO  2026-01-22T15:17:17 +0ms service=project directory=/home/rnwolfe/dev/untunneled.dev fromDirectory
    INFO  2026-01-22T15:17:17 +9ms service=default directory=/home/rnwolfe/dev/untunneled.dev bootstrapping
    INFO  2026-01-22T15:17:17 +8ms service=config path=/home/rnwolfe/.config/opencode/config.json loading
    INFO  2026-01-22T15:17:17 +0ms service=config path=/home/rnwolfe/.config/opencode/opencode.json loading
    INFO  2026-01-22T15:17:17 +10ms service=config path=/home/rnwolfe/.config/opencode/opencode.jsonc loading
    INFO  2026-01-22T15:17:17 +3ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","add","@opencode-ai/plugin@1.1.31","--exact"] cwd=/home/rnwolfe/.config/opencode running
    INFO  2026-01-22T15:17:17 +2ms service=config path=/home/rnwolfe/.opencode/opencode.jsonc loading
    INFO  2026-01-22T15:17:17 +0ms service=config path=/home/rnwolfe/.opencode/opencode.json loading
    INFO  2026-01-22T15:17:17 +0ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","add","@opencode-ai/plugin@1.1.31","--exact"] cwd=/home/rnwolfe/.opencode running
    INFO  2026-01-22T15:17:17 +5ms service=plugin name=CodexAuthPlugin loading internal plugin
    INFO  2026-01-22T15:17:17 +0ms service=plugin name=CopilotAuthPlugin loading internal plugin
    INFO  2026-01-22T15:17:17 +0ms service=plugin path=opencode-antigravity-auth@1.3.0 loading plugin
    INFO  2026-01-22T15:17:17 +1ms service=bun code=0 stdout=bun add v1.3.5 (1e86cebd)
    
    installed @opencode-ai/plugin@1.1.31
    
    [1.00ms] done
     stderr=Saved lockfile
     done
    INFO  2026-01-22T15:17:17 +0ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","install"] cwd=/home/rnwolfe/.config/opencode running
    INFO  2026-01-22T15:17:17 +1ms service=bun code=0 stdout=bun add v1.3.5 (1e86cebd)
    
    installed @opencode-ai/plugin@1.1.31
    
    [1.00ms] done
     stderr=Saved lockfile
     done
    INFO  2026-01-22T15:17:17 +0ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","install"] cwd=/home/rnwolfe/.opencode running
    INFO  2026-01-22T15:17:17 +49ms service=bun code=0 stdout=bun install v1.3.5 (1e86cebd)
    
    Checked 3 installs across 4 packages (no changes) [1.00ms]
     stderr= done
    INFO  2026-01-22T15:17:17 +0ms service=bun code=0 stdout=bun install v1.3.5 (1e86cebd)
    
    Checked 3 installs across 4 packages (no changes) [1.00ms]
     stderr= done
    INFO  2026-01-22T15:17:17 +3ms service=plugin path=oh-my-opencode-slim loading plugin
    INFO  2026-01-22T15:17:17 +0ms service=bun pkg=oh-my-opencode-slim version=latest installing package using Bun's default registry resolution
    INFO  2026-01-22T15:17:17 +0ms service=bun cmd=["/home/rnwolfe/.opencode/bin/opencode","add","--force","--exact","--cwd","/home/rnwolfe/.cache/opencode","oh-my-opencode-slim@latest"] cwd=/home/rnwolfe/.cache/opencode running
    INFO  2026-01-22T15:17:17 +151ms service=bun code=0 stdout=bun add v1.3.5 (1e86cebd)
    
    + @gitlab/opencode-gitlab-auth@1.3.2
    + oh-my-opencode@2.14.0
    + opencode-anthropic-auth@0.0.9
    + opencode-antigravity-auth@1.3.0
    
    installed oh-my-opencode-slim@0.5.2 with binaries:
     - oh-my-opencode-slim
    
    189 packages installed [147.00ms]
     stderr=Resolving dependencies
    Resolved, downloaded and extracted [1]
    Saved lockfile
     done
    INFO  2026-01-22T15:17:17 +63ms service=plugin path=opencode-anthropic-auth@0.0.9 loading plugin
    INFO  2026-01-22T15:17:17 +6ms service=plugin path=@gitlab/opencode-gitlab-auth@1.3.2 loading plugin
    INFO  2026-01-22T15:17:17 +48ms service=bus type=* subscribing
    INFO  2026-01-22T15:17:17 +1ms service=bus type=session.updated subscribing
    INFO  2026-01-22T15:17:17 +0ms service=bus type=message.updated subscribing
    INFO  2026-01-22T15:17:17 +0ms service=bus type=message.part.updated subscribing
    INFO  2026-01-22T15:17:17 +0ms service=bus type=session.updated subscribing
    INFO  2026-01-22T15:17:17 +0ms service=bus type=message.updated subscribing
    INFO  2026-01-22T15:17:17 +0ms service=bus type=message.part.updated subscribing
    INFO  2026-01-22T15:17:17 +0ms service=bus type=session.diff subscribing
    INFO  2026-01-22T15:17:17 +0ms service=format init
    INFO  2026-01-22T15:17:17 +0ms service=bus type=file.edited subscribing
    INFO  2026-01-22T15:17:17 +0ms service=lsp serverIds=deno, typescript, vue, eslint, oxlint, biome, gopls, ruby-lsp, pyright, elixir-ls, zls, csharp, fsharp, sourcekit-lsp, rust, clangd, svelte, astro, jdtls, kotlin-ls, yaml-ls, lua-ls, php intelephense, prisma, dart, ocaml-lsp, bash, terraform, texlab, dockerfile, gleam, clojure-lsp, nixd, tinymist, haskell-language-server enabled LSP servers
    INFO  2026-01-22T15:17:17 +1ms service=file.watcher init
    INFO  2026-01-22T15:17:17 +1ms service=scheduler id=snapshot.cleanup run
    INFO  2026-01-22T15:17:17 +0ms service=scheduler id=tool.truncation.cleanup run
    INFO  2026-01-22T15:17:17 +1ms service=bus type=command.executed subscribing
    INFO  2026-01-22T15:17:17 +0ms service=file.watcher platform=linux backend=inotify watcher backend
    INFO  2026-01-22T15:17:17 +21ms service=server method=POST path=/session request
    INFO  2026-01-22T15:17:17 +0ms service=server status=started method=POST path=/session request
    INFO  2026-01-22T15:17:17 +2ms service=session id=ses_419b7fd00ffegrNepjbO51h8Hq slug=sunny-island version=1.1.31 projectID=ac7193dc1cc2decbac30f34065906a43c0285033 directory=/home/rnwolfe/dev/untunneled.dev title=New session - 2026-01-22T15:17:17.695Z time={"created":1769095037695,"updated":1769095037695} created
    INFO  2026-01-22T15:17:17 +0ms service=bus type=session.created publishing
    INFO  2026-01-22T15:17:17 +1ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:17 +1ms service=server status=completed duration=4 method=POST path=/session request
    INFO  2026-01-22T15:17:17 +0ms service=server method=GET path=/config request
    INFO  2026-01-22T15:17:17 +0ms service=server status=started method=GET path=/config request
    INFO  2026-01-22T15:17:17 +0ms service=server status=completed duration=0 method=GET path=/config request
    INFO  2026-01-22T15:17:17 +2ms service=server method=GET path=/event request
    INFO  2026-01-22T15:17:17 +0ms service=server status=started method=GET path=/event request
    INFO  2026-01-22T15:17:17 +1ms service=server method=POST path=/session/ses_419b7fd00ffegrNepjbO51h8Hq/message request
    INFO  2026-01-22T15:17:17 +0ms service=server status=started method=POST path=/session/ses_419b7fd00ffegrNepjbO51h8Hq/message request
    INFO  2026-01-22T15:17:17 +0ms service=server event connected
    INFO  2026-01-22T15:17:17 +1ms service=bus type=* subscribing
    INFO  2026-01-22T15:17:17 +3ms service=server status=completed duration=5 method=GET path=/event request
    INFO  2026-01-22T15:17:17 +1ms service=server status=completed duration=5 method=POST path=/session/ses_419b7fd00ffegrNepjbO51h8Hq/message request
    INFO  2026-01-22T15:17:17 +7ms service=vcs branch=main initialized
    INFO  2026-01-22T15:17:17 +0ms service=bus type=file.watcher.updated subscribing
    INFO  2026-01-22T15:17:17 +5ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:17 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:17 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:17 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:17 +0ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:17 +5ms service=provider status=started state
    INFO  2026-01-22T15:17:17 +5ms service=models.dev file={} refreshing
    INFO  2026-01-22T15:17:17 +1ms service=bus type=message.part.updated publishing
    INFO  2026-01-22T15:17:17 +16ms service=provider init
    INFO  2026-01-22T15:17:17 +1ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:17 +2ms service=bus type=session.status publishing
    INFO  2026-01-22T15:17:17 +0ms service=session.prompt step=0 sessionID=ses_419b7fd00ffegrNepjbO51h8Hq loop
    INFO  2026-01-22T15:17:17 +5ms service=snapshot prune=7.days cleanup
    INFO  2026-01-22T15:17:17 +2ms service=server status=started method=POST path=/log request
    INFO  2026-01-22T15:17:17 +3ms service=provider providerID=openai found
    INFO  2026-01-22T15:17:17 +1ms service=provider providerID=github-copilot found
    INFO  2026-01-22T15:17:17 +0ms service=provider providerID=google found
    INFO  2026-01-22T15:17:17 +0ms service=provider providerID=anthropic found
    INFO  2026-01-22T15:17:17 +0ms service=provider providerID=opencode found
    INFO  2026-01-22T15:17:17 +0ms service=provider status=completed duration=36 state
    INFO  2026-01-22T15:17:17 +3ms service=llm providerID=google modelID=gemini-3-flash-preview sessionID=ses_419b7fd00ffegrNepjbO51h8Hq small=true agent=title mode=primary stream
    INFO  2026-01-22T15:17:17 +0ms service=provider status=started providerID=google getSDK
    INFO  2026-01-22T15:17:17 +0ms service=provider providerID=google pkg=@ai-sdk/google using bundled provider
    INFO  2026-01-22T15:17:17 +0ms service=provider status=completed duration=0 providerID=google getSDK
    INFO  2026-01-22T15:17:17 +1ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:17 +0ms service=session.prompt status=started resolveTools
    INFO  2026-01-22T15:17:17 +16ms service=tool.registry status=started invalid
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started question
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started bash
    INFO  2026-01-22T15:17:17 +1ms service=bash-tool shell=/usr/bin/zsh bash tool using shell
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started read
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started glob
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started grep
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started edit
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started write
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started task
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started webfetch
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started todowrite
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started todoread
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started skill
    INFO  2026-01-22T15:17:17 +1ms service=tool.registry status=started background_task
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started background_output
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started background_cancel
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started lsp_goto_definition
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started lsp_find_references
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started lsp_diagnostics
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started lsp_rename
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started grep
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started ast_grep_search
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started ast_grep_replace
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started antigravity_quota
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started omos_skill
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=started omos_skill_mcp
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=2 invalid
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=2 question
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 read
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 glob
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 grep
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 edit
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 write
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 webfetch
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 todowrite
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 todoread
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=0 background_task
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=0 background_output
    INFO  2026-01-22T15:17:17 +1ms service=tool.registry status=completed duration=1 background_cancel
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 lsp_goto_definition
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 lsp_find_references
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 lsp_diagnostics
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 lsp_rename
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 grep
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 ast_grep_search
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 ast_grep_replace
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 antigravity_quota
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 omos_skill
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=1 omos_skill_mcp
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=3 bash
    INFO  2026-01-22T15:17:17 +0ms service=permission permission=task pattern=explorer ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:17 +0ms service=permission permission=task pattern=librarian ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:17 +0ms service=permission permission=task pattern=oracle ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:17 +0ms service=permission permission=task pattern=designer ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:17 +0ms service=permission permission=task pattern=fixer ruleset=[{"permission":"*","action":"allow","pattern":"*"},{"permission":"doom_loop","action":"ask","pattern":"*"},{"permission":"external_directory","pattern":"*","action":"ask"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"},{"permission":"question","action":"deny","pattern":"*"},{"permission":"plan_enter","action":"deny","pattern":"*"},{"permission":"plan_exit","action":"deny","pattern":"*"},{"permission":"read","pattern":"*","action":"allow"},{"permission":"read","pattern":"*.env","action":"ask"},{"permission":"read","pattern":"*.env.*","action":"ask"},{"permission":"read","pattern":"*.env.example","action":"allow"},{"permission":"question","action":"allow","pattern":"*"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output","action":"allow"},{"permission":"external_directory","pattern":"/home/rnwolfe/.local/share/opencode/tool-output/*","action":"allow"}] evaluate
    INFO  2026-01-22T15:17:17 +0ms service=tool.registry status=completed duration=2 task
    INFO  2026-01-22T15:17:17 +4ms service=tool.registry status=completed duration=6 skill
    INFO  2026-01-22T15:17:17 +6ms service=mcp key=websearch type=remote found
    INFO  2026-01-22T15:17:17 +4ms service=mcp key=context7 type=remote found
    INFO  2026-01-22T15:17:17 +1ms service=mcp key=grep_app type=remote found
    INFO  2026-01-22T15:17:17 +76ms service=mcp key=context7 transport=StreamableHTTP connected
    INFO  2026-01-22T15:17:17 +52ms service=mcp key=context7 toolCount=2 create() successfully created client
    INFO  2026-01-22T15:17:17 +68ms service=mcp key=grep_app transport=StreamableHTTP connected
    INFO  2026-01-22T15:17:18 +109ms service=mcp key=grep_app toolCount=1 create() successfully created client
    INFO  2026-01-22T15:17:18 +246ms service=mcp key=websearch transport=StreamableHTTP connected
    INFO  2026-01-22T15:17:18 +253ms service=mcp key=websearch toolCount=1 create() successfully created client
    INFO  2026-01-22T15:17:19 +684ms service=session.prompt status=completed duration=1521 resolveTools
    INFO  2026-01-22T15:17:19 +4ms service=session.processor process
    INFO  2026-01-22T15:17:19 +0ms service=llm providerID=google modelID=claude-opus-4-5-thinking sessionID=ses_419b7fd00ffegrNepjbO51h8Hq small=false agent=orchestrator mode=primary stream
    INFO  2026-01-22T15:17:19 +0ms service=provider status=started providerID=google getSDK
    INFO  2026-01-22T15:17:19 +0ms service=provider status=completed duration=0 providerID=google getSDK
    INFO  2026-01-22T15:17:19 +1ms service=bus type=session.status publishing
    INFO  2026-01-22T15:17:19 +3ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:19 +1ms service=llm providerID=google modelID=gemini-3-flash-preview sessionID=ses_419b7fd00ffegrNepjbO51h8Hq small=true agent=title mode=primary stream
    INFO  2026-01-22T15:17:19 +0ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:19 +0ms service=bus type=session.diff publishing
    INFO  2026-01-22T15:17:19 +78ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:19 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:19 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:19 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:19 +282ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:19 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:19 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:19 +1ms service=server status=completed duration=2 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:20 +686ms service=bus type=session.updated publishing
    INFO  2026-01-22T15:17:21 +1256ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:21 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:21 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:21 +1ms service=server status=completed duration=2 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:22 +953ms service=session.summary title=Greeting title
    INFO  2026-01-22T15:17:22 +0ms service=bus type=message.updated publishing
    INFO  2026-01-22T15:17:22 +218ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:22 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:22 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:22 +1ms service=server status=completed duration=2 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:24 +1363ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:24 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:24 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:24 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:25 +1059ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:25 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:25 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:25 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:26 +1350ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:26 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:26 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:26 +1ms service=server status=completed duration=2 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:27 +1062ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:27 +1ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:27 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:27 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:28 +1226ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:28 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:28 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:28 +1ms service=server status=completed duration=2 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:29 +1059ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:29 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:29 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:29 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:31 +1238ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:31 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:31 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:31 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:32 +1058ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:32 +1ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:32 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:32 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:33 +1227ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:33 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:33 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:33 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:34 +1065ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:34 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:34 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:34 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:35 +1214ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:35 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:35 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:35 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:36 +1060ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:36 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:36 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:36 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:38 +1234ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:38 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:38 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:38 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:39 +1065ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:39 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:39 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:39 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:40 +1234ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:40 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:40 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:40 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:41 +1058ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:41 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:41 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:41 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:42 +1238ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:42 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:42 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:42 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:43 +1055ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:43 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:43 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:43 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:44 +1233ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:44 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:44 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:44 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:45 +1058ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:45 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:45 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:45 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:47 +1234ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:47 +1ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:47 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:47 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:48 +1057ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:48 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:48 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:48 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:49 +1218ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:49 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:49 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:49 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:50 +1058ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:50 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:50 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:50 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:51 +1233ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:51 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:51 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:51 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:52 +1143ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:52 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:52 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:52 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:54 +1231ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:54 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:54 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:54 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:55 +1063ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:55 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:55 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:55 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:56 +1233ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:56 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:56 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:56 +1ms service=server status=completed duration=2 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:57 +1058ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:57 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:57 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:57 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:58 +1234ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:58 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:58 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:58 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:59 +1073ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:59 +1ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:17:59 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:17:59 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:01 +1234ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:01 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:01 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:01 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:02 +1063ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:02 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:02 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:02 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:03 +1233ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:03 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:03 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:03 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:04 +1063ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:04 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:04 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:04 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:05 +1233ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:05 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:05 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:05 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:06 +1054ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:06 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:06 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:06 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:07 +1212ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:07 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:07 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:07 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:08 +1063ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:08 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:08 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:08 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:10 +1232ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:10 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:10 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:10 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:11 +1055ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:11 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:11 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:11 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:12 +1232ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:12 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:12 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:12 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:13 +1062ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:13 +1ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:13 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:13 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:14 +1223ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:14 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:14 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:14 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:15 +1070ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:15 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:15 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:15 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:17 +1249ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:17 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:17 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:17 +0ms service=server status=completed duration=0 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:18 +1070ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:18 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:18 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:18 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:19 +1272ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:19 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:19 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:19 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:20 +1104ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:20 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:20 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:20 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:21 +1269ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:21 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:21 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:21 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:22 +1125ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:22 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:22 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:22 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:24 +1289ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:24 +1ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:24 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:24 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:25 +1084ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:25 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:25 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:25 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:26 +1269ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:26 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:26 +0ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:26 +1ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:27 +1053ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:27 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:27 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:27 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:28 +1270ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:28 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:28 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:28 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:29 +1060ms service=server method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:29 +0ms service=server status=started method=POST path=/tui/show-toast request
    INFO  2026-01-22T15:18:29 +1ms service=bus type=tui.toast.show publishing
    INFO  2026-01-22T15:18:29 +0ms service=server status=completed duration=1 method=POST path=/tui/show-toast request
    ^C%
  20. AT120 commented on Jan 24, 2026

    @AT120

    Encountered same issue on arch. TUI broke after updating to 1.1.34. Rolling back to the previous version I had been using (1.1.25) did not help. Launching opencode with a vpn helped, and it has been working after that with a vpn disabled. Couldn't reproduce this issue again even after reinstall, so not sure what resource was the culprit

  21. AT120 commented on Jan 24, 2026

    @AT120

    I was able to reproduce the issue again by running opencode in a docker container. In my case the problem was in models.dev. My provider apparently blocking access to this site, and opencode was not able to start without access to it

  22. sanchez1337 commented on Jan 28, 2026

    @sanchez1337

    I just had it happen on freshly updated homebrew version. Tried a couple of things which didn't work so eventually tried re-installing using script provided in the documentation which also didn't work.

    Then opened Activity Monitor on macOS and searched for opencode; saw two processes so killed one of them and then hanging TUI session actually rendered.

    EDIT: Screen capture:

    Image

  23. MrMarble commented on Feb 2, 2026

    @MrMarble

    I'm having the same issue, fresh installed with the curl script, I'm under a VPN, running opencode results in a blank screen, trying to run any hello commands with different models hangs:

    $ opencode run hello --print-logs --model github-copilot/gpt-4.1
    INFO  2026-02-02T08:47:31 +258ms service=default version=1.1.48 args=["run","hello","--print-logs","--model","github-copilot/gpt-4.1"] opencode
    INFO  2026-02-02T08:47:31 +1ms service=default directory=/home/atinocom creating instance
    INFO  2026-02-02T08:47:31 +0ms service=project directory=/home/atinocom fromDirectory
    INFO  2026-02-02T08:47:31 +6ms service=default directory=/home/atinocom bootstrapping
    INFO  2026-02-02T08:47:31 +3ms service=config path=/home/atinocom/.config/opencode/config.json loading
    INFO  2026-02-02T08:47:31 +1ms service=config path=/home/atinocom/.config/opencode/opencode.json loading
    INFO  2026-02-02T08:47:31 +0ms service=config path=/home/atinocom/.config/opencode/opencode.jsonc loading
    INFO  2026-02-02T08:47:31 +8ms service=bun cmd=["/home/atinocom/.opencode/bin/opencode","add","@opencode-ai/plugin@1.1.48","--exact"] cwd=/home/atinocom/.config/opencode running
    
  24. acbk2b commented on Feb 9, 2026

    @acbk2b

    @rekram1-node

    I saw on some other threads that .env files were causing issues, so I gave that a shot on my end.
    The projects I was having issues launching all had .env files, renaming them to something like .env.bak allowed opencode to launch successfully.
    I did also try modifying the file permissions (0644, 0755, 0777), but that did not work on my end. I suppose that could be a WSL 1 specific quirk, or something like that.

  25. hvdute commented on Feb 23, 2026

    @hvdute

    In my case it was because of this block in opencode.json. When this is enabled, only one instance of opencode can be launched. The second one will hang. --print-log shows nothing.

    {
      // "server": {
      //   "port": 4096,
      //   "hostname": "100.64.142.97",
      //   "mdns": false
      // },
      "autoupdate": false
    }
  26. bondtesty commented on Mar 24, 2026

    @bondtesty

    seems same here

  27. xkuznetc commented on Apr 18, 2026

    @xkuznetc

    Having same issue with (1.4.0), just hangs on Fedora 43 KDE with all latest updates:

    ERROR 2026-04-18T18:50:44 +12ms service=default e=Failed to initialize OpenTUI render library: Failed to open library "/tmp/.fea7bcdffff56fe7-00000001.so": /tmp/.fea7bcdffff56fe7-00000001.so: failed to map segment from shared object rejection
    ERROR 2026-04-18T18:50:44 +0ms service=default Error: Failed to initialize OpenTUI render library: Failed to open library "/tmp/.fea7bcdffff56fe7-00000001.so": /tmp/.fea7bcdffff56fe7-00000001.so: failed to map segment from shared object
    ERROR 2026-04-18T18:50:54 +9957ms service=models.dev error=The operation timed out. Failed to fetch models.dev

    kinfo:

    Operating System: Fedora Linux 43
    KDE Plasma Version: 6.6.4
    KDE Frameworks Version: 6.25.0
    Qt Version: 6.10.3

    installed via Homebrew (brew info opencode):

    ==> opencode ✔: stable 1.4.0 (bottled)
    AI coding agent, built for the terminal
    https://opencode.ai
    Installed (on request)
    /home/linuxbrew/.linuxbrew/Cellar/opencode/1.4.0 (12 files, 167.4MB) *
      Poured from bottle using the formulae.brew.sh API on 2026-04-15 at 17:39:23
    From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/o/opencode.rb
    License: MIT
    ==> Dependencies
    Required (2): node ✔, ripgrep ✔
    Recursive Runtime (36): 36 ✔, 0 ✘
    ==> Analytics
    install: 26,084 (30 days), 78,935 (90 days), 181,997 (365 days)
    install-on-request: 26,074 (30 days), 78,916 (90 days), 181,972 (365 days)
    build-error: 2 (30 days)

    and node:

    ==> node ✔: stable 25.9.0 (bottled), HEAD
    Open-source, cross-platform JavaScript runtime environment
    https://nodejs.org/
    Installed (as dependency)
    /home/linuxbrew/.linuxbrew/Cellar/node/25.9.0_2 (1,889 files, 105.2MB) *
      Poured from bottle using the formulae.brew.sh API on 2026-04-15 at 00:44:34
    From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/n/node.rb
    License: MIT
    ==> Dependencies
    Required (19): ada-url ✔, brotli ✔, c-ares ✔, hdrhistogram_c ✔, icu4c@78 ✔, libnghttp2 ✔, libnghttp3 ✔, libngtcp2 ✔, libuv ✔, llhttp ✔, merve ✔, nbytes ✔, openssl@3 ✔, simdjson ✔, sqlite ✔, uvwasi ✔, zstd ✔, zlib-ng-compat ✔, python ✔
    Recursive Runtime (33): 33 ✔, 0 ✘
    Dependents: 2
    ==> Options
    --HEAD
            Install HEAD version
    ==> Analytics
    install: 337,108 (30 days), 1,016,110 (90 days), 2,938,650 (365 days)
    install-on-request: 268,444 (30 days), 799,438 (90 days), 2,401,147 (365 days)
    build-error: 1,106 (30 days)
  28. removed
    bugSomething isn't working
    opentuiThis relates to changes in v1.0, now that opencode uses opentui
    on May 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions