-
Notifications
You must be signed in to change notification settings - Fork 102
Open
Description
Summary
The cask, gask, and oask commands fail with "daemon required but not available" error, even when the unified askd daemon is running correctly.
Root Cause
Protocol mismatch between client commands and unified daemon:
| Component | Protocol Used |
|---|---|
cask command |
cask.request |
gask command |
gask.request |
oask command |
oask.request |
askd daemon |
expects ask.request |
In providers.py, the client specs point to the unified daemon:
CASK_CLIENT_SPEC = ProviderClientSpec(
...
daemon_bin_name="askd",
daemon_module="askd.daemon", # unified daemon
)But try_daemon_request() in askd_client.py sends:
payload = {
"type": f"{spec.protocol_prefix}.request", # "cask.request"
}While unified daemon in askd_server.py expects:
if msg_type != f"{protocol_prefix}.request": # "ask.request"
return errorAffected Files
lib/providers.py- Client specs reference unified daemon but use old protocol prefixesclaude_skills/all-plan/references/flow.md- Usescask/gask/oaskcommands
Steps to Reproduce
- Start unified daemon:
askd - Verify daemon is running:
cat ~/.cache/ccb/projects/*/askd.json - Try:
cask "test message" - Error:
[ERROR] cask daemon required but not available
Workaround
Use ask <provider> command instead:
ask codex "message"instead ofcask "message"ask gemini "message"instead ofgask "message"ask opencode "message"instead ofoask "message"
Suggested Fix
Option 1: Update skill files to use ask <provider> syntax
Option 2: Make unified daemon accept legacy protocol prefixes (cask.request, gask.request, etc.)
Environment
- OS: Linux (Arch)
- CCB Version: Latest from main branch
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels