[BUG] DXT Extension Tools Not Permitted in Claude Desktop Co-work Sessions
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Summary
DXT extension tools are connected and initialized successfully in Claude Desktop, but the model cannot use them. This affects both regular chat and Co-work modes, through two distinct mechanisms:
- Regular chat: Tools are not indexed in the model's deferred tool registry (ToolSearch returns empty)
- Co-work mode: Tools are explicitly excluded from the
--allowedToolswhitelist passed to the Claude subprocess
What Should Happen?
The Gap
The server is connected (in --mcp-config) but its tools are not permitted (missing from --allowedTools). The Co-work orchestrator connects to DXT extensions but never adds their tools to the subprocess permission list.
Impact
| Interface | Tools Work? | Prompts Work? | Resources Work? |
|-----------|------------|---------------|-----------------|
| Claude Desktop (chat) | No | No | No |
| Claude Desktop (Co-work) | No | No | No |
| Claude Code (CLI) | Yes | Yes | Yes |
| Cursor | Yes | Yes | Yes |
DXT extensions are completely non-functional in Claude Desktop. This defeats the purpose of the DXT packaging format, which is specifically designed for Claude Desktop distribution.
DXT Extension Details
{
"name": "ask-data-mcp",
"display_name": "Ask Data MCP",
"version": "4.0.0",
"tools": [
"list_tableau_datasources",
"get_datasource_metadata",
"validate_query",
"query_datasource",
"resolve_view_url",
"search_metadata",
"get_metadata_entity",
"list_bigquery_datasets",
"get_bigquery_table_schema",
"validate_bigquery_query",
"execute_bigquery_query"
]
}
The extension also exposes:
- 2 MCP Prompts (
tableau-analytics-guide,data-catalog-guide) - 5 MCP Resources (skill reference documents)
None of these are accessible to the model in any Claude Desktop mode.
Workarounds Attempted
| Approach | Result |
|----------|--------|
| DXT extension (.mcpb) | Tools connected but not indexed/permitted |
| Manual mcpServers in claude_desktop_config.json | Same behavior — tools connected, not usable |
| Adding tool names to Custom Instructions | Model still can't find tools |
| Splitting into 3 separate DXT extensions | Not attempted (wouldn't help — same permission mechanism) |
| Disabling DXT + manual config only | Same behavior |
Expected Fix
The Co-work orchestrator should:
- Include DXT extension tools in
--allowedTools— when a DXT extension is installed and running, its tools should be added to the subprocess whitelist - Index DXT tools in ToolSearch — so the model can discover tools in regular chat mode
- Make prompts and resources accessible — the model should be able to invoke
prompts/getandresources/readfor installed extensions
Error Messages/Logs
### Evidence from MCP Server Logs
**File:** `~/Library/Logs/Claude/mcp-server-Ask Data MCP.log`
The MCP protocol handshake completes successfully:
Message from client: {"method":"initialize",...}
Message from server: {"result":{"capabilities":{"tools":{},"prompts":{"listChanged":false},"resources":{}},"serverInfo":{"name":"ask-data-mcp","version":"4.0.0"},...}}
Message from client: {"method":"tools/list",...}
Message from server: {"result":{"tools":[{"name":"list_tableau_datasources",...},...]}} // 11 tools listed
Message from client: {"method":"prompts/list",...}
Message from server: {"result":{"prompts":[{"name":"tableau-analytics-guide",...},{"name":"data-catalog-guide",...}]}}
Message from client: {"method":"resources/list",...}
Message from server: {"result":{"resources":[...]}} // 5 resources listed
All three capabilities (tools, prompts, resources) are returned correctly. The server is fully operational.
### Evidence from Co-work Spawn Logs
**File:** `~/Library/Logs/Claude/cowork_vm_node.log`
Every Co-work subprocess is spawned with an explicit `--allowedTools` flag:
--allowedTools Task,Bash,Glob,Grep,Read,Edit,Write,NotebookEdit,WebFetch,
TodoWrite,WebSearch,Skill,REPL,JavaScript,ToolSearch,
mcp__mcp-registry__search_mcp_registry,
mcp__mcp-registry__suggest_connectors,
mcp__plugins__search_plugins,
mcp__plugins__suggest_plugin_install,
mcp__scheduled-tasks__list_scheduled_tasks,
mcp__computer-use,
mcp__cowork__present_files,
mcp__session_info__list_sessions,
mcp__session_info__read_transcript
**The DXT extension tools are NOT in this list.** Only system MCPs are whitelisted:
- `mcp-registry` (search/suggest)
- `plugins` (search/suggest)
- `scheduled-tasks`
- `computer-use`
- `cowork`
- `session_info`
Meanwhile, the MCP config correctly includes the DXT server:
--mcp-config {"mcpServers":{
"Ask Data MCP":{"type":"sdk","name":"Ask Data MCP"},
"mcp-registry":{"type":"sdk","name":"mcp-registry"},
...
}}
Steps to Reproduce
Reproduction Steps
Setup
- Build a DXT extension (.mcpb) with tools defined in manifest.json and server/index.js
- Install the DXT in Claude Desktop (Settings > Extensions > drag .mcpb file)
- Verify the extension shows as "Running" in Settings > Extensions
Regular Chat Mode
- Open a new conversation
- Ask Claude to use one of the DXT extension tools (e.g., "list my Tableau datasources")
- Expected: Claude calls the tool directly
- Actual: Claude searches the MCP registry for connectors or says "I don't have access to that tool"
Co-work Mode
- Open a Co-work session
- Ask the coworker to use a DXT extension tool
- Expected: Claude calls the tool
- Actual: Claude cannot find or use the tool — it's not in the allowed tools list
Claude Model
None
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.84
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗