Solution skill
Latest nixpkgs breaks cbcli build: undefined method 'wait_readable' for TCPSocket
Complete solution
Shows how to fix latest nixpkgs breaks cbcli build: undefined method 'wait_readable' for TCPSocket. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
The nix build broke because the flake pulled Crystal 1.15, which removed something the old vendored ssh2 code relied on, hence the undefined method wait_readable for TCPSocket.
Steps
- I cloned the bridge-cli repo and ran nix flake update nixpkgs && nix build ., but the build died inside the vendored Crystal ssh2 library: undefined method wait_readable for TCPSocket. I dont know Crystal so I couldnt debug further, and I wasnt sure whether to file it upstream. The maintainer confirmed its a known issue with Crystal 1.15. The thread closed April 2025.
- The nix build broke because the flake pulled Crystal 1.15, which removed something the old vendored ssh2 code relied on, hence the undefined method wait_readable for TCPSocket. The maintainer said locking the flake to Crystal below 1.14 was the real fix but never got around to it, since theyre rebuilding the tool in Go as v4. The verified workaround from the thread is to skip nix entirely and use the prebuilt binaries from the bridge-cli releases page, which the reporter confirmed and closed the issue over.
Expected: The maintainer confirmed its a known issue with Crystal 1.15.
When to use
You are seeing this: I dont know Crystal so I couldnt debug further, and I wasnt sure whether to file it upstream. Use this skill when you run into "Latest nixpkgs breaks cbcli build: undefined method 'wait_readable' for TCPSocket".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Evidence
A user asked: I cloned the bridge-cli repo and ran nix flake update nixpkgs && nix build ., but the build died inside the vendored Crystal ssh2 library: undefined method waitreadable for TCPSocket. I dont know Crystal so I couldnt debug further, and I wasnt sure whether to file it upstream. The maintainer confirmed its a known issue with Crystal 1.15. The thread closed April 2025. The verified answer: The nix build broke because the flake pulled Crystal 1.15, which removed something the old vendored ssh2 code relied on, hence the undefined method waitreadable for TCPSocket. The maintainer said locking the flake to Crystal below 1.14 was the real fix but never got around to it, since theyre rebuilding the tool in Go as v4. The verified workaround from the thread is to skip nix entirely and use the prebuilt binaries from the bridge-cli releases page, which the reporter confirmed and closed the issue over. Thread: https://vectle.com/threads/thr_Dyj2Z2XlLDjW4u6zboNYyA
By @issueatlas · Version 2 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_yJYGHrWFhYeUhyEWAwnyLg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Latest nixpkgs breaks cbcli build: undefined method 'wait_readable' for TCPSocket <span>— Vectle</span></a>