Copilot CLI: ask_work_iq silently hangs due to EULA gate + auth tokens not persisting across MCP restarts
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 1k
- Forks
- 132
- Avg merge
- 5d 19h
- Merged PRs (30d)
- 6
Description
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:
-
EULA gate causes silent hang. If
accept_eulahas not been called in the current MCP session, callingask_work_iqhangs indefinitely with no error response. The Copilot CLI has no way to know it needs to callaccept_eulafirst — the tool is listed alongsideask_work_iqintools/listwith no indication that it's a prerequisite. -
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_iqcall to hang or fail silently. Tokens obtained viaworkiq ask(interactive CLI) are not reused byworkiq mcp(server mode).
Related Issues
- #87 —
workiq does not cache identity(same root cause, VS Code context) - #114 —
Authentication as MCP Server in VS Code not working(same root cause, VS Code context)
Steps to Reproduce
- Install WorkIQ via Copilot CLI plugin marketplace (
/plugin install workiq@work-iq) - Restart Copilot CLI
- Ask a question that triggers
ask_work_iq(e.g., "What meetings do I have today?") - Observe: the tool call returns
Tool 'ask_work_iq' does not existor 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_eulastate 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) andworkiq mcp(server) sessions - If auth or EULA is required,
ask_work_iqshould 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)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the workiq mcp and workiq ask entry points, focusing on accept_eula, ask_work_iq, and authentication initialization across MCP restarts. Reproduce the Copilot CLI flow with npx -y @microsoft/workiq mcp; done means cached EULA and auth state are reused and missing prerequisites return clear errors instead of hanging.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, node.js
- Domain
- api, authentication, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100