Skip to content

OC fails with socket connection error when operating in a directory with a .git folder #2304

Closed

Description

@danriedl

Description

OpenCode encounters a fatal socket connection error when running in a directory that contains a .git folder.
The error manifests as a 30-second hang followed by "The socket connection was closed unexpectedly."
Renaming the .git folder (e.g., to .gitx) resolves the issue and allows OpenCode to function normally.

Steps to Reproduce

  1. Navigate to a directory that contains a .git folder (e.g., a Git repository)
  2. Run: opencode run --print-logs --log-level=DEBUG --model='github-copilot/gpt-4.1' "hi"
  3. Observe the 30-second hang and subsequent error
  4. Rename the .git folder to something else (e.g., mv .git .gitx)
  5. Run the same command again
  6. Observe that OpenCode works normally

Environment

• OpenCode version: 0.5.28
• Platform: macOS (Darwin) (Darwin 24.6.0 Darwin Kernel Version 24.6.0: Mon Jul 14 11:28:30 PDT 2025; root:xnu-11417.140.69~1/RELEASE_ARM64_T6030 arm64)
• Model: all

Logs

proj on  main is 📦 v2.0.1 via 🐍 v3.13.5
❯ opencode run --print-logs --log-level=DEBUG --model='github-copilot/gpt-4.1' "hi"
INFO  2025-08-29T05:23:56 +44ms service=default version=0.5.28 args=["run","--print-logs","--log-level=DEBUG","--model=github-copilot/gpt-4.1","hi"]
opencode
INFO  2025-08-29T05:23:56 +0ms service=app cwd=/Users/dan/Documents/git/proj creating
INFO  2025-08-29T05:23:56 +1ms service=app git=/Users/dan/Documents/git/proj git
INFO  2025-08-29T05:23:56 +3ms service=app name=plugin registering service
INFO  2025-08-29T05:23:56 +1ms service=app name=config registering service
INFO  2025-08-29T05:23:56 +8ms service=config path=/Users/dan/.config/opencode/config.json loading
INFO  2025-08-29T05:23:56 +13ms service=config path=/Users/dan/.config/opencode/opencode.json loading
INFO  2025-08-29T05:23:56 +0ms service=config path=/Users/dan/.config/opencode/opencode.jsonc loading
INFO  2025-08-29T05:23:56 +2ms service=config $schema=http://json-schema.org/draft-07/schema# provider={} mcp={} agent={} mode={} command={} plugin=[]
username=dan loaded
INFO  2025-08-29T05:23:56 +0ms service=plugin path=opencode-copilot-auth@0.0.2 loading plugin
INFO  2025-08-29T05:23:56 +26ms service=plugin path=opencode-anthropic-auth@0.0.2 loading plugin
INFO  2025-08-29T05:23:56 +432ms service=bus type=* subscribing
INFO  2025-08-29T05:23:56 +0ms service=app name=bus registering service
INFO  2025-08-29T05:23:56 +0ms service=bus type=storage.write subscribing
INFO  2025-08-29T05:23:56 +0ms service=format init
INFO  2025-08-29T05:23:56 +0ms service=bus type=file.edited subscribing
INFO  2025-08-29T05:23:56 +0ms service=config.hooks init
INFO  2025-08-29T05:23:56 +0ms service=bus type=file.edited subscribing
INFO  2025-08-29T05:23:56 +0ms service=bus type=session.idle subscribing
INFO  2025-08-29T05:23:56 +1ms service=app name=lsp registering service
INFO  2025-08-29T05:23:56 +2ms service=session id=ses_70bb7aebeffe7m7NgHnN9NXeqG version=0.5.28 title=New session - 2025-08-29T05:23:56.865Z
time={"created":1756445036865,"updated":1756445036865} created
INFO  2025-08-29T05:23:56 +0ms service=app name=session registering service
INFO  2025-08-29T05:23:56 +1ms service=app name=storage registering service
INFO  2025-08-29T05:23:56 +0ms service=lsp serverIds=typescript, vue, eslint, golang, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd enabled LSP
servers
INFO  2025-08-29T05:23:56 +4ms service=storage index=0 running migration
INFO  2025-08-29T05:23:56 +2ms service=storage index=1 running migration
INFO  2025-08-29T05:23:56 +1ms service=storage index=2 running migration
INFO  2025-08-29T05:23:56 +3ms service=bus type=storage.write publishing
INFO  2025-08-29T05:23:56 +1ms service=bus type=session.updated publishing
INFO  2025-08-29T05:23:56 +0ms service=app name=agent registering service
INFO  2025-08-29T05:23:56 +1ms service=bus type=message.part.updated subscribing
INFO  2025-08-29T05:23:56 +0ms service=bus type=session.error subscribing
INFO  2025-08-29T05:23:56 +2ms service=session session=ses_70bb7aebeffe7m7NgHnN9NXeqG chatting
INFO  2025-08-29T05:23:56 +2ms service=bus type=storage.write publishing
INFO  2025-08-29T05:23:56 +1ms service=bus type=message.updated publishing
INFO  2025-08-29T05:23:56 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:23:56 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:23:56 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:23:56 +0ms service=bus type=session.updated publishing
INFO  2025-08-29T05:23:56 +0ms service=app name=provider registering service
INFO  2025-08-29T05:23:56 +3ms service=models.dev file={} refreshing
INFO  2025-08-29T05:23:56 +34ms service=provider init
INFO  2025-08-29T05:23:56 +0ms service=provider providerID=opencode found
INFO  2025-08-29T05:23:56 +0ms service=provider providerID=github-copilot found
INFO  2025-08-29T05:23:56 +0ms service=provider providerID=github-copilot modelID=gpt-4.1 getModel
INFO  2025-08-29T05:23:56 +1ms service=provider status=started providerID=github-copilot getSDK
INFO  2025-08-29T05:23:57 +796ms service=provider status=completed duration=796 providerID=github-copilot getSDK
INFO  2025-08-29T05:23:57 +2ms service=provider providerID=github-copilot modelID=gpt-4.1 found
INFO  2025-08-29T05:23:57 +8ms service=session session=ses_70bb7aebeffe7m7NgHnN9NXeqG sessionID=ses_70bb7aebeffe7m7NgHnN9NXeqG locking
INFO  2025-08-29T05:24:27 +30256ms service=session session=ses_70bb7aebeffe7m7NgHnN9NXeqG sessionID=ses_70bb7aebeffe7m7NgHnN9NXeqG unlocking
INFO  2025-08-29T05:24:27 +1ms service=bus type=session.idle publishing
INFO  2025-08-29T05:24:27 +0ms service=app name=lsp shutdown
INFO  2025-08-29T05:24:27 +1ms service=app name=session shutdown
ERROR 2025-08-29T05:24:27 +7ms service=default name=Error message=The socket connection was closed unexpectedly. For more information, pass `verbose:
true` in the second argument to fetch() fatal
Error: Unexpected error, check log file at  for more details
proj on  main is 📦 v2.0.1 via 🐍 v3.13.5 took 2m7s
❯ mv .git .gitx
Documents/git/proj is 📦 v2.0.1 via 🐍 v3.13.5
❯ opencode run --print-logs --log-level=DEBUG --model='github-copilot/gpt-4.1' "hi"
INFO  2025-08-29T05:27:20 +43ms service=default version=0.5.28 args=["run","--print-logs","--log-level=DEBUG","--model=github-copilot/gpt-4.1","hi"]
opencode
INFO  2025-08-29T05:27:20 +0ms service=app cwd=/Users/dan/Documents/git/proj creating
INFO  2025-08-29T05:27:20 +2ms service=app git
INFO  2025-08-29T05:27:20 +3ms service=app name=plugin registering service
INFO  2025-08-29T05:27:20 +0ms service=app name=config registering service
INFO  2025-08-29T05:27:20 +1ms service=config path=/Users/dan/.config/opencode/config.json loading
INFO  2025-08-29T05:27:20 +3ms service=config path=/Users/dan/.config/opencode/opencode.json loading
INFO  2025-08-29T05:27:20 +0ms service=config path=/Users/dan/.config/opencode/opencode.jsonc loading
INFO  2025-08-29T05:27:20 +2ms service=config $schema=http://json-schema.org/draft-07/schema# provider={} mcp={} agent={} mode={} command={} plugin=[]
username=dan loaded
INFO  2025-08-29T05:27:20 +0ms service=plugin path=opencode-copilot-auth@0.0.2 loading plugin
INFO  2025-08-29T05:27:20 +3ms service=plugin path=opencode-anthropic-auth@0.0.2 loading plugin
INFO  2025-08-29T05:27:20 +46ms service=bus type=* subscribing
INFO  2025-08-29T05:27:20 +0ms service=app name=bus registering service
INFO  2025-08-29T05:27:20 +0ms service=bus type=storage.write subscribing
INFO  2025-08-29T05:27:20 +0ms service=format init
INFO  2025-08-29T05:27:20 +0ms service=bus type=file.edited subscribing
INFO  2025-08-29T05:27:20 +0ms service=config.hooks init
INFO  2025-08-29T05:27:20 +0ms service=bus type=file.edited subscribing
INFO  2025-08-29T05:27:20 +0ms service=bus type=session.idle subscribing
INFO  2025-08-29T05:27:20 +0ms service=app name=lsp registering service
INFO  2025-08-29T05:27:20 +0ms service=session id=ses_70bb492f5ffeIcjVx9wM5seY24 version=0.5.28 title=New session - 2025-08-29T05:27:20.586Z
time={"created":1756445240586,"updated":1756445240586} created
INFO  2025-08-29T05:27:20 +1ms service=app name=session registering service
INFO  2025-08-29T05:27:20 +0ms service=app name=storage registering service
INFO  2025-08-29T05:27:20 +0ms service=lsp serverIds=typescript, vue, eslint, golang, ruby-lsp, pyright, elixir-ls, zls, csharp, rust, clangd enabled LSP
servers
INFO  2025-08-29T05:27:20 +4ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:20 +0ms service=bus type=session.updated publishing
INFO  2025-08-29T05:27:20 +0ms service=app name=agent registering service
INFO  2025-08-29T05:27:20 +1ms service=bus type=message.part.updated subscribing
INFO  2025-08-29T05:27:20 +0ms service=bus type=session.error subscribing
INFO  2025-08-29T05:27:20 +1ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 chatting
INFO  2025-08-29T05:27:20 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:20 +1ms service=bus type=message.updated publishing
INFO  2025-08-29T05:27:20 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:20 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:20 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:20 +0ms service=bus type=session.updated publishing
INFO  2025-08-29T05:27:20 +0ms service=app name=provider registering service
INFO  2025-08-29T05:27:20 +2ms service=models.dev file={} refreshing
INFO  2025-08-29T05:27:20 +1ms service=provider init
INFO  2025-08-29T05:27:20 +1ms service=provider providerID=opencode found
INFO  2025-08-29T05:27:20 +0ms service=provider providerID=github-copilot found
INFO  2025-08-29T05:27:20 +0ms service=provider providerID=github-copilot modelID=gpt-4.1 getModel
INFO  2025-08-29T05:27:20 +0ms service=provider status=started providerID=github-copilot getSDK
INFO  2025-08-29T05:27:20 +36ms service=provider status=completed duration=36 providerID=github-copilot getSDK
INFO  2025-08-29T05:27:20 +0ms service=provider providerID=github-copilot modelID=gpt-4.1 found
INFO  2025-08-29T05:27:20 +9ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 sessionID=ses_70bb492f5ffeIcjVx9wM5seY24 locking
INFO  2025-08-29T05:27:20 +5ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:20 +0ms service=bus type=message.updated publishing
INFO  2025-08-29T05:27:31 +1412ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=start part
INFO  2025-08-29T05:27:35 +3777ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=start-step part
INFO  2025-08-29T05:27:35 +9ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-start part
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-delta part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=text-end part
INFO  2025-08-29T05:27:35 +0ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing

Hello! How can I help you today?

INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=finish-step part
INFO  2025-08-29T05:27:35 +2ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.part.updated publishing
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 type=finish part
INFO  2025-08-29T05:27:35 +1ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.updated publishing
INFO  2025-08-29T05:27:35 +13ms service=bus type=storage.write publishing
INFO  2025-08-29T05:27:35 +0ms service=bus type=message.updated publishing
INFO  2025-08-29T05:27:35 +0ms service=session session=ses_70bb492f5ffeIcjVx9wM5seY24 sessionID=ses_70bb492f5ffeIcjVx9wM5seY24 unlocking
INFO  2025-08-29T05:27:35 +0ms service=bus type=session.idle publishing
INFO  2025-08-29T05:27:35 +0ms service=app name=lsp shutdown
INFO  2025-08-29T05:27:35 +0ms service=app name=session shutdown

Activity

  1. github-actions commented on Aug 29, 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. rekram1-node commented on Aug 29, 2025

    @rekram1-node
    Contributor

    Hmm is this a really large git project?

    you could try deleting the snapshot maybe:

    rm -rf ~/.local/share/opencode/project/<project-name>/snapshots/
    
  3. deleted a comment from linear on Aug 29, 2025
  4. rekram1-node commented on Aug 29, 2025

    @rekram1-node
    Contributor

    You could also try setting "snapshot": false in your opencode config.

  5. TangTangH commented on Oct 16, 2025

    @TangTangH

    Brother, I ran into the same problem as you. How did you end up solving it?

  6. danriedl commented on Jan 7, 2026

    @danriedl
    Author

    Works on new versions.
    @TangTangH , try removing cache and snapshots and upgrade to newest version.

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions