block / block/buzz

Self hosted relay update on 2026/08/07 or client update causes Claude Code agents to fail completely

Open
#5,260 5 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

**Describe the bug**
All tool calls rejected for Claude by harness, says it is running in "Don't ask mode" even though the launch command is clearly not that. Apparently it is not responding correctly to callbacks and this confuses the harness.

**Steps to reproduce**
1. upgrade your relay docker compose today and pray (./run.sh upgrade)
2. do anything with a claude code agent
3. it never responds because all shell commands fail

**Expected behavior**
Claude to still work.

**Version and platform**
Find your version at the bottom of the Settings sidebar. Write "unknown" if you can't determine it.
- Buzz version: 0.5.6 client, 2026-08-07 images from docker compose
- OS: linux

**Logs / additional context**
...
```
Smoking gun confirmed. The fresh session's effective runtime state:

"permissionMode":"dontAsk" ← effective mode
"entrypoint":"sdk-ts" ← buzz's TypeScript Agent SDK

The process was launched with --permission-mode bypassPermissions, but the SDK is running the session in dontAsk mode. That's the whole bug in one field. dontAsk = auto-deny anything that would otherwise prompt. The CLI flag is overridden by what buzz's SDK passes over the control channel.

Final verdict

This is a buzz bug from the upgrade — you called it. buzz's sdk-ts harness now initializes sessions with permissionMode: 'dontAsk' (or omits the approver so the SDK falls back to it), which supersedes the --permission-mode bypassPermissions launch flag. Every tool call auto-denies; since buzz messages send rides on Bash, agents go completely mute at the first call — exactly the "jail."

Everything else is cleared, with proof:
- Not Anthropic / not retribution — the "403" was the session-id prefix, no server rejection anywhere.
- Not subscription — I ran buzz's exact flags on pure subscription → pong, zero denials.
- Not auth at all — the model responds fine; only tool execution is gated.
- "API key works" is a confound — those agents moved to opencode's harness, which sets the mode correctly. It's the harness, not the credential.
- Restart never could've fixed it — it's code, not process state.

Fixes

Durable (buzz-side, the real fix): buzz must pass permissionMode: 'bypassPermissions' in its SDK query() options — or supply a canUseTool that approves — instead of letting it default to dontAsk. File it against the upgrade / downgrade buzz until patched.
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.