Skip to content

Protocol mismatch: cask/gask/oask commands incompatible with unified askd daemon #66

@gokmensercan

Description

@gokmensercan

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 error

Affected Files

  1. lib/providers.py - Client specs reference unified daemon but use old protocol prefixes
  2. claude_skills/all-plan/references/flow.md - Uses cask/gask/oask commands

Steps to Reproduce

  1. Start unified daemon: askd
  2. Verify daemon is running: cat ~/.cache/ccb/projects/*/askd.json
  3. Try: cask "test message"
  4. Error: [ERROR] cask daemon required but not available

Workaround

Use ask <provider> command instead:

  • ask codex "message" instead of cask "message"
  • ask gemini "message" instead of gask "message"
  • ask opencode "message" instead of oask "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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions