feat(agents): allow WebSearch/WebFetch fallback for research agents#202
Open
darwin7381 wants to merge 1 commit into
Open
feat(agents): allow WebSearch/WebFetch fallback for research agents#202darwin7381 wants to merge 1 commit into
darwin7381 wants to merge 1 commit into
Conversation
Six research/coverage agents declare their `tools` allowlist as MCP-only: market-researcher: tools: Read, Write, Edit, mcp__capiq__*, mcp__factset__* earnings-reviewer: tools: Read, Write, Edit, mcp__factset__*, mcp__daloopa__* pitch-agent: tools: Read, Write, Edit, mcp__capiq__* model-builder: tools: Read, Write, Edit, mcp__capiq__*, mcp__daloopa__* meeting-prep-agent: tools: Read, Write, mcp__crm__*, mcp__capiq__* valuation-reviewer: tools: Read, Grep, Glob, mcp__portfolio__* For environments without the assumed third-party MCP subscriptions (CapIQ / FactSet / Daloopa / CRM), the agent has no way to source live data and fails or degrades to inline execution by the main session rather than the named subagent. Reproduced today against a fresh Claude Code install with no subscriptions: market-researcher subagent loaded — but provisioned without WebSearch/WebFetch, which made it unable to source live citations and therefore unable to run competitive-analysis/comps-analysis skills end-to-end. It correctly refused to fabricate URLs (no fabrication red line). Workaround: produced the primer from the main session with web tools. Adding WebSearch and WebFetch to the six research-oriented agents: - Restores the agent's ability to source primary public data (filings, press releases, news, regulatory documents) without proprietary subscriptions - Preserves the no-fabrication guardrails — the agents still refuse to invent figures; they cite what they fetch - Does not change behavior for subscribed users — MCP tools remain preferred where available (skills explicitly route to MCP first) Intentionally NOT modified — ops agents that work on internal data where web search would be inappropriate or a compliance risk: - kyc-screener (works on internal onboarding docs + screening MCP) - gl-reconciler (internal general ledger + subledger) - month-end-closer (internal general ledger) - statement-auditor (internal NAV pack) After fix, the market-researcher subagent loads with WebSearch and runs research end-to-end as a true subagent (verified with a fresh session — agent ID issued, 13 tool uses including WebSearch + Write, produced a 76-line cited primer).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Problem reproduction
Fresh Claude Code install, no third-party MCP subscriptions configured. Invoke market-researcher via slash command:
```
market-researcher subagent loaded — but provisioned without
WebSearch/WebFetch, which made it unable to source live citations
and therefore unable to run competitive-analysis/comps-analysis
skills end-to-end. It correctly refused to fabricate URLs (no
fabrication red line). Workaround: produced the primer from the
main session with web tools.
```
The subagent did the right thing (refused to fabricate), but the named-subagent invocation path doesn't actually work without subscriptions — the user has to bail out to the main session, defeating the point of a packaged research agent.
After fix
Re-ran the same invocation in a fresh session:
Design rationale
Changes
6 files, +6/-6 lines (just the `tools:` line in each agent's frontmatter):
Test plan
🤖 Generated with Claude Code