Skip to content

Copilot CLI: ask_work_iq silently hangs due to EULA gate + auth tokens not persisting across MCP restarts #116

@lcwright

Description

@lcwright

Description

When the WorkIQ MCP server is spawned by GitHub Copilot CLI (via the plugin marketplace config), two issues prevent ask_work_iq from working:

  1. EULA gate causes silent hang. If accept_eula has not been called in the current MCP session, calling ask_work_iq hangs indefinitely with no error response. The Copilot CLI has no way to know it needs to call accept_eula first — the tool is listed alongside ask_work_iq in tools/list with no indication that it's a prerequisite.

  2. Auth tokens are not cached across MCP server restarts. Each time the Copilot CLI spawns the MCP server process, a new browser sign-in prompt is triggered. When the CLI spawns the server as a background process, this prompt may not be visible to the user, causing the ask_work_iq call to hang or fail silently. Tokens obtained via workiq ask (interactive CLI) are not reused by workiq mcp (server mode).

Related Issues

Steps to Reproduce

  1. Install WorkIQ via Copilot CLI plugin marketplace (/plugin install workiq@work-iq)
  2. Restart Copilot CLI
  3. Ask a question that triggers ask_work_iq (e.g., "What meetings do I have today?")
  4. Observe: the tool call returns Tool 'ask_work_iq' does not exist or hangs

Manual MCP verification (proves the server works)

npx -y @microsoft/workiq mcp
# Send JSON-RPC initialize -> works
# Send tools/list -> returns accept_eula, ask_work_iq, get_debug_link
# Send accept_eula -> works
# Send ask_work_iq (after completing browser sign-in) -> works

Expected Behavior

  • accept_eula state should persist across MCP server restarts (or EULA acceptance should be handled during plugin install)
  • Auth tokens should be cached and reused between workiq ask (CLI) and workiq mcp (server) sessions
  • If auth or EULA is required, ask_work_iq should return a clear error message instead of hanging silently

Environment

  • WorkIQ version: 0.4.1
  • Node.js: v24.13.0
  • OS: Windows 11
  • Client: GitHub Copilot CLI v1.0.41
  • MCP config: npx -y @microsoft/workiq mcp (stdio transport)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions