mirror of
https://github.com/morluto/rea.git
synced 2026-11-05 06:45:22 +00:00
[GH-ISSUE #4973] [Bug] compare_web_captures / compare_web_screenshots fail in Claude ("problem with that connector") #3077
Open
opened 2026-10-31 00:36:03 +00:00 by bsakaguchi
·
22 comments
No Branch/Tag specified
main
codex/procedure-reference-stacked
release-please--branches--main--components--rea-agents
release-please--branches--main--components--rea-agents--release-notes
codex/kuna-independent-retry
codex/byte-search-overlay-coverage
codex/open-failure-target-receipt
codex/kuna-xref-evidence
codex/ghidra-ambiguous-procedure-recovery
codex/function-source-bundle
codex/trace-function-integration-prototype
codex/snapshot-source-closure
codex/recorded-evidence-array-pages
codex/evidence-recovery-redesign
codex/trace-feature-address-scope
codex/call-discovery-scope
codex/ghidra-literal-candidate-evidence
codex/decompile-directory-independent-retry
codex/retry-provenance-base
codex/value-flow-capability-experiment
codex/ghidra-containing-instruction
cursor/readme-discord-button-ef9f
dependabot/github_actions/actions/setup-node-7.1.0
dependabot/github_actions/actions/upload-artifact-7.0.2
dependabot/npm_and_yarn/npm-minor-and-patch-d8d97ce6df
codex/kuna-1989
fix/8559-native-ui-fixture-ownership
fix/8555-go-verifier-mcp-ownership
codex/provider-capability-recovery
fix/8642-rizin-target-stdin
codex/ghidra-memory-effect-scope
codex/ghidra-annotation-entry-selector
codex/ghidra-readonly-recovery
codex/ghidra-regex-verifier-recovery
codex/evidence-discovery-view-guidance
fix/8545-bulk-append-overflow
fix/8428-navigation-refusal-alternatives
codex/address-context-recovery
codex/matching-member-limitations
codex/unknown-scope-contract
codex/evidence-view-guidance
feat/8373-native-trace-views
codex/ghidra-snapshot-verifier-binding
codex/elf-export-visibility
codex/evidence-view-recovery
codex/native-reference-cli-help
codex/provider-candidate-observation-scope
codex/kuna-session-verification
codex/ghidra-switch-lifetime-guidance
codex/pseudocode-paging-discovery
codex/clarify-evidence-view-support
codex/kuna-xrefs-selector-recovery
codex/context-capacity-recovery
codex/evidence-closure-large-links
codex/same-function-evidence-identity
codex/ghidra-verifier-inspected-jdk
codex/audit-guided-workflows
codex/crash-prompt-retained-dossiers
codex/analysis-view-error-recovery
codex/kuna-verifier-target-selection
codex/ghidra-selected-project-call-coverage
codex/docs-native-analysis-scope
codex/ghidra-java-socket-boundary
codex/ghidra-retained-snapshot-verifier
codex/ghidra-search-inventory-facts
fix/8284-zero-argument-parameter-bindings
fix/8198-ui-action-handler-offset
fix/8257-elf-entry-label-identity
fix/8304-deferred-output-schema-projection
fix/8277-call-path-computed-target-uncertainty
fix/pr-8089-conflicts
fix/ci-static-duplicate-export
dependabot/npm_and_yarn/lint-staged-17.6.0
dependabot/github_actions/actions/download-artifact-8.0.2
dependabot/npm_and_yarn/write-file-atomic-8.0.0
dependabot/npm_and_yarn/canonicalize-5.1.0
dependabot/github_actions/actions/cache/restore-6.1.0
dependabot/npm_and_yarn/toon-format/toon-4.4.0
dependabot/github_actions/actions/deploy-pages-5.0.1
codex/review-fixes-pr-2403
codex/review-fixes-pr-2400
codex/process-terminal-width
codex/test-brittleness-cleanup
verify/7167-browser-connect-macos
fix/7167-browser-connect
feat/native-matching-allowance-setting
feat/browser-scenario-dry-run
test/managed-caller-parameters-20261024
codex/parser-fortythird-boundaries
fix/6926-pinvoke-platform-decorations-20261023
fix/6889-har-body-encoding-20261023
fix/6888-sqlite-schema-budget-20261023
fix/dependency-security-gates-6708
cursor/evidence-overwrite-rebase-b4ac
feat/4057-verify-native-exports
fix/windows-acl-observer-overhead-20261022
cursor/erlang-beam-restack-4476
cursor/pe-certificate-review-bf32
fix/6116-javascript-application-fs-errors
fix/6061-unmapped-runtime-script-unknown
feat/browser-scenario-summary
fix/pe-certificates
codex/verify-3407
cursor/rebase-5699
cursor/rebase-5352
cursor/rebase-5600
cursor/fix-cli-schema-omission-10a8
codex/audit-hopper-shutdown-reasons-20261021
fix/demangle-swift-omitted-record
fix/nib-boolean-value-types
cursor/cancellation-partial-observation-a5ac
fix/ib-object-limit-reasons
fix/electron-fuse-limit-advice
fix/kuna-doctor-dangling-cache
fix/fixed-budget-refusal-advice
fix/js-ipc-listener-dedup
fix/js-return-member-provenance
fix/dmg-integrity-retry-advice
fix/ida-doctor-readiness
fix/kuna-version-probe-output-drain
fix/legacy-swift-runtime-name-matching
fix/dylib-lazy-load-commands
fix/browser-scenario-startup-cancel
fix/swift-nested-punycode-classification
fix/compare-unselected-scopes
fix/objc-method-budget-coverage
fix/dmg-mounted-root-observations
audit/ci-tests-20261019-round2
release/6.7.0
fix/wabt-cleanup-retry-resolution
fix/electron-fuse-elf-pe-architecture
fix/native-plist-descriptor-ownership
fix/kuna-caller-cleanup-ownership
experiment/atomic-codemode-20261016
review/first-contributor-3776
fix/call-resolution-full-read-cycles
fix/member-mutation-selection-repeat
experiment/atomic-re-tools-20261015
perf/member-mutation-lazy-origins
perf/static-network-mutation-index
fix/hopper-startup-lifecycle
audit/3050-windows-proof-20261015
feat/windows-window-capture-2183
audit/3049-windows-proof-20261015
audit/3735-macos-fixtures-20261015
fix/batch-decompile-null-pseudocode
fix/kuna-inventory-honors-jobs
experiment/browser-codemode-tool-design-20261015
fix/hopper-clean-runtime-argv
codex/review-2049-27f1b367
review-fixes/pr-2787-routing
fix/3360-scoped-this-emitters
fix/3367-replaced-global-effects
fix/3838-compact-any-value-items
test/hopper-download-probe-20261015
codex/windows-runtime-creation-red-green-20261015
codex/windows-readonly-root-red-green-20261015
codex/windows-root-share-red-green-20261015
codex/exp-1685-win-mcp-startup
codex/bug-sweep-20261015
investigate/2190-windows-package-phases
investigate/3543-macos-cli-deadline
perf/3281-reverse-tools-feedback-quality
fix/3406-hopper-doctor-fixture
fix/3341-wrapper-require-test-context
fix/3301-owned-uninstall-fixtures
fix/3164-compiler-input-ownership
fix/pcap-cleanup-stdout-newline-20261014
perf/interface-builder-summary
codex/review-fixes-pr-1977
fix/ghidra-effective-jvm-platform
fix/docs-turkish-rust-link-20261013
fix/main-maintenance-ci-20261010
fix/recover-binary-session-process-effects
codex/review-fixes-pr-2457
codex/ci-required-cancellation-gate
fix/main-format-baseline-20261013
fix/setup-preserve-entry-fields
cursor/restore-main-checks-1ffc
fix/ghidra-bridge-hashmap-import
codex/shared-ci-jadx-json-default-20261013
codex/shared-ci-ghidra-test-groups-20261013
codex/shared-ci-java-fixture-format-20261013
codex/fix-intrinsic-invocation-boundaries
test/release-preflight-reusable-jobs
test/js-parameter-provenance-expectation
fix/linux-hopper-verification-current
test/2419-ghidra-elf-probe-size
followup/pr-1544-native-ida
codex/fold-pr-2230-contribution
docs/readme-responsible-use
fix/issue-2064
fix/issue-2050
fix/issue-2053
fix/issue-1968
fix/issue-1945
experiment/codemode-bridge-20261011
fix/tool-effects-negative-wording-1904-20261012
fix/1842-electron-interop-provenance
feat/recover-javascript-multi-input
refactor/website-i18n-prep
fix/nativeaot-pe-virtual-extent
fix/browser-verifier-ci-hang
fix/pe-resources-input-selection
docs/beginner-friendly-guides
docs/beginner-setup-guide
fix/javascript-analysis-worker-1563
fix/1649-ghidra-duplicate-names
fix/javascript-export-keys-integration-1369
test/maintenance-boundary-contracts-20261011
review/javascript-export-keys-1369
review/process-live-progress-1483
test/javascript-1495-growth-ratio
fix/ci-escape-timing
docs/normalized-terminal-geometry-1450
release/6.3.0
archive/release-6.3.0-pr1381
release/6.2.0
fix/electron-preload-dynamic-override
fix/javascript-self-referential-bundler-edges
release/6.1.0
cursor/grok-client-cherry-pick-0b56
feat/signature-posture
feat/dyld-shared-cache
feat/artifact-integrity-policy
feat/pkg-inventory
release/6.0.0
chore/sync-release-5.0.0
release/5.0.0
cursor/cloud-agent-node-787e
fix/javascript-xhr-open-endpoints
review/pr-711-realpath-fallback-wording
cleanup/replay-confinement
codex/test-suite-performance
codex/issue-foundations
codex/address-open-issues-2026-07-20
agent/javascript-vite-rollup-esbuild-adapters
agent/process-cleanup
agent/triage-integration
agent/unknown-commands-registry
feat/mcp-identity-metadata
morlvps/issue_cleanup
codex/installer-redesign
morl/roadmap-investigation-core
morl/roadmap-investigation-docs
release-please--branches--main--components--rea
rea-agents-6.8.0
rea-agents-6.7.0
rea-agents-6.6.0
experiment/atomic-codemode-wait-runtime-20261016
rea-agents-6.5.0
rea-agents-6.4.0
rea-agents-6.3.0
rea-agents-6.2.0
rea-agents-6.1.0
rea-agents-6.0.0
rea-agents-5.0.0
rea-agents-4.1.0
rea-agents-4.0.1
rea-agents-4.0.0
rea-agents-3.2.1
rea-agents-3.2.0
rea-agents-3.1.0
rea-agents-3.0.0
rea-agents-2.7.0
rea-agents-2.6.0
rea-agents-2.5.1
rea-agents-2.5.0
rea-agents-2.4.0
rea-agents-2.3.0
rea-agents-2.2.0
rea-agents-2.1.0
rea-agents-2.0.0
rea-agents-1.7.0
rea-agents-1.6.0
rea-agents-1.5.0
rea-agents-1.4.0
rea-agents-1.3.0
rea-agents-1.2.0
rea-agents-1.1.0
rea-agents-1.0.0
rea-agents-0.5.0
rea-agents-0.4.0
rea-agents-0.3.0
rea-0.2.1
rea-0.2.0
Labels
Clear labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
Mirrored from GitHub Pull Request
question
roadmap
triage
No labels
area: bridge
area: bridge
area: build
area: build
area: build
area: cli
area: domain
area: evidence
area: mcp
area: native
area: providers
area: runtime
area: server
area: setup
area: tests
bug
design
documentation
enhancement
enhancement
enhancement
experiment
help wanted
i18n
invalid
P0: critical
P1: high
P2: medium
P2: medium
P2: medium
P3: low
performance
provider-request
pull-request
question
roadmap
triage
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
morluto/rea#3077
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @fahadfarj on GitHub (Oct 18, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/4973
Before submitting
Area
Setup, packaging, or upgrade
Observed behavior
Claude shows: "Claude can't use Compare Web Captures from REA because of a problem with that connector."
compare_web_screenshots rejects every call: "before: Invalid input: expected object, received string, after: expected object, received string, channel_threshold: expected number, received string".
Other REA tools work normally (e.g. list_browser_targets returns structured errors).
Reproduction
npx rea-agents@latest setupon Windows and select Claude Desktop.Expected behavior
Both tools load in Claude without a connector warning and accept object/number arguments.
Impact and scope
Claude shows the warning every session, and both compare tools are unusable. Other REA tools are unaffected.
REA version
6.5.0
Runtime and platform
Node 24.20.0; Windows; Claude Desktop
Target and artifact context
not applicable
Interface
MCP
Earliest failure stage
Request parsing or validation
Relevant output or evidence
Command or MCP request actually run: compare_web_screenshots with two valid 1x1 PNG artifacts (before/after objects) and channel_threshold: 0.
Relevant result, error, or artifact: "Invalid arguments for tool compare_web_screenshots: before: expected object, received string, after: expected object, received string, channel_threshold: expected number, received string"
Missing evidence or remaining uncertainty: exact client-side schema handling is not visible to me.
Typed outcome or recovery expected
No response
Analysis or suspected cause
Both tools' input schemas use $ref/$defs (e.g. "#/$defs/__schema0"), and compare_web_captures has a very large nested schema. The client seems unable to resolve these refs, so object/number args arrive as strings. Suggested fix: inline/flatten the $ref definitions in these tools' input schemas.
Additional context
No response
@VarunRaj004 commented on GitHub (Oct 18, 2026):
Hi, I’d like to take this one. I want to use REA from Claude myself, so a connector warning on every session is exactly the kind of thing I’d like to see fixed.
My plan is to dump the tools/list schemas first to confirm where $ref/$defs show up for these two tools, then flatten them and add a regression test so it stays fixed. I’ll post what I find here before opening a PR.
Could a maintainer assign it to me?
@avichal-08 commented on GitHub (Oct 18, 2026):
Same root cause as #3408 / #4058 / #4081 : on 6.5.0 these tools' input schemas use
$ref/$defs, and Claude Desktop passes the referenced object/number arguments as strings.Fixed on
mainby5e30969cc(from #4147), which is in therea-agents-6.6.0GitHub release. It isn't on npm yet, though:latestis still 6.5.0 andrea-agents@6.6.0returns 404 (checked 2026-10-18 06:14 UTC), sonpx rea-agents@latest setupstill installs the affected version.@XinwangTao commented on GitHub (Oct 18, 2026):
avichal-08's bisect matches what I'd expect —
5e30969resolving it on main confirms the $ref/$defs root cause, and the error shape (object/number args arriving as strings) is exactly what a client that can't resolve refs produces. The npm gap is now the real blocker: 6.6.0 exists as a GitHub release but rea-agents@6.6.0 returns 404, so every npx rea-agents@latest setup still installs the broken 6.5.0 schemas — same release story as #4985. VarunRaj004: +1 for the dump-schemas-then-flatten-plus-regression-test plan; if feasible, also add an assertion that tools/list contains no $ref for these two tools (or at all), since that's the contract Claude Desktop actually consumes. And separately: publishing 6.6.0 to npm would close this for end users even before the PR lands.@CassieFox23 commented on GitHub (Oct 19, 2026):
TL;DR: On main,
compare_web_screenshotsno longer has any$refin its input schema, and it accepts object and number arguments. I could not test Claude Desktop itself. Thecompare_web_captureswarning is still unexplained, because that tool had no$refin 6.5.0 either.Edit: I tested main
e8da7e1ed(6.7.0) too. Results are here.Results
I started the real stdio server (
scripts/rea.mjs --mcp) and sent it rawtools/listandtools/callrequests. Main is92dadf933(REA 6.7.0). The older build is the rea-agents-6.5.0 tag.$refcompare_web_screenshotsinput schema$ref, 1$defs$ref, 0$defscompare_web_capturesinput schema$ref, 0$defs, 154,738 bytes$ref, 0$defs, 165,694 bytescompare_web_screenshotswith two 1x1 PNG objects andchannel_threshold: 0toolSchemaValidity,browserComparisonInputandtoolInputReferences.toolSchemaValidityalready asserts that no tool advertises an input$ref.rea-agents@lateston npm is now 6.7.0 (published 08:12 UTC). There was never a 6.6.0 on npm. So the npm gap mentioned in this thread is closed.One open question
In 6.5.0,
compare_web_captureshad no$refor$defsin its input schema. Onlycompare_web_screenshotsdid. The 6.5.0 source has a likely reason. It has a budget of 32 shared references per input. A schema over that budget is sent inline (inputSchemaWithinReferenceExpansionBudgetinsrc/contracts/inputSchemaPresentation.ts). I did not count the expansions forcompare_web_captures, but its schema is huge, so it probably went inline. If so,$refwas never the cause for that tool, and its schema is the same inline shape on main. That input schema is also the largest by far: about 5 times the next tool, on 6.5.0 and on main. I do not know if size matters to Claude Desktop, or what else in it could trip the client.Not run
compare_web_capturesschema to see if the warning goes away.Thanks, fahadfarj, for the clear report. Thanks, avichal-08, for tracing the fix to
5e30969cc.Commands
npm ci --ignore-scripts,npm run prepare,npm run build:cached,npm run test:prepare.npm run test:focused -- tests/boundary/mcp/toolSchemaValidity.test.ts tests/boundary/mcp/browserComparisonInput.test.ts src/contracts/toolInputReferences.test.ts.node scripts/rea.mjs --mcp, sentinitialize,tools/listandtools/callas JSON lines, and counted the$refand$defskeys in each tool's input schema.Test setup
92dadf9334/ none (comparison build: tag rea-agents-6.5.0)🤖 Generated with Claude Code (Sonnet 5.5, verified by Opus 5.5) 🦊
@XinwangTao commented on GitHub (Oct 19, 2026):
Thanks for the detailed report. I can reproduce the same failure on Claude Desktop: both compare_web_captures and compare_web_screenshots fail with "problem with that connector", and the validation errors show the params are being sent as strings instead of the expected object/number types. This looks related to the $ref parameter serialization issue referenced in the linked reports, so fixing the MCP tool schema should resolve both tools at the same time.
@CassieFox23 commented on GitHub (Oct 19, 2026):
TL;DR: On main, neither tool sends a
$ref, so a$reffix would change nothing for them. Both tools do reject JSON strings, with the sameexpected object, received stringwording as this issue.compare_web_capturesis still a 165,694-byte schema. I could not run Claude Desktop to see if that is the cause.Thanks to XinwangTao for reproducing this on Claude Desktop. Thanks, fahadfarj, for the report. I started the MCP server from main (
e8da7e1ed, version 6.7.0) and read what it sends intools/list. My earlier test did the same on 6.5.0.Results
$refcompare_web_capturescompare_web_screenshotscapture_web_screenshotcompare_web_captureshad no$refeither, so$refdoes not explain that tool.Invalid input: expected object, received stringandchannel_threshold: Invalid input: expected number, received string. That matches the message in this issue. The server never converts strings. So the client is the one sending strings, and I can't tell why from here.REA_MCP_INPUT_SCHEMA_PROFILE=compactshrinkscompare_web_capturesto 891 bytes. IanBaswana suggests the compact profile on #4081. It is a workaround for Claude Desktop. I could not check that.XinwangTao, which REA version were you on, and can you paste the full error text?
More schema numbers
$ref, a$defs, a top-levelanyOf,oneOforallOf, or atypearray.compare_application_versionsat 30,271 bytes. The next deepest has 11 levels. Socompare_web_capturesis the one outlier.Side finding
compare_web_screenshots' own built-in example (examples[0]) fails on main withinvalid_format: Invalid PNG chunk checksum. Open PR #3995 has a fix, the commit "advertise a screenshot example with a valid PNG checksum" (066a48ab6). I did not read that PR further.Not run
compare_web_capturesschema.Test setup
e8da7e1ed(version 6.7.0), tag rea-agents-6.7.0 is27dc42d10Commands
🤖 Generated with Claude Code (Sonnet 5.5, verified by Opus 5.5) 🦊
@XinwangTao commented on GitHub (Oct 20, 2026):
Good catch on the version question. When I reproduced the failure it was Claude Desktop on Windows with
npx rea-agents@latestfrom npm at that time — which was still 6.5.0, since the 6.6.0 GitHub release was never published to npm. The error text matched the report exactly: the connector warning "Claude can't use Compare Web Captures from REA because of a problem with that connector", plus compare_web_screenshots rejecting calls with "expected object, received string / channel_threshold: expected number, received string".Since 6.7.0 is now on npm and main no longer advertises $ref for these tools, the $ref family should be resolved for end users after upgrading. The remaining open question is the compare_web_captures connector warning on 6.5.0, which never had $ref — worth re-testing on 6.7.0; if it persists, the compact-profile workaround from #4081 is the pragmatic path while the schema size question is investigated.
@CassieFox23 commented on GitHub (Oct 20, 2026):
TL;DR: On REA 6.7.0 in Claude Code on Linux,
compare_web_screenshotsworks with a number threshold. A string threshold gets the same type error as this issue. Thecompare_web_capturesschema loads, but I did not call that tool. I did not test Claude Desktop or Windows.Thanks, XinwangTao, for the version answer and the exact error text. This run is Claude Code on Linux, not Claude Desktop on Windows.
Results
compare_web_capturesincluded. Not called.compare_web_screenshots,channel_threshold: 0different, 100 of 4,096 pixels changedchannel_threshold: "0.1"(string)channel_threshold: Invalid input: expected number, received stringThe schema types
channel_thresholdas an integer from 0 to 255. So0.1is not a valid value for it, as a number or a string.The 100 changed pixels match a 10x10 red square I drew into the second test image.
Not run
npx rea-agents@lateston Windows.compare_web_capturescalls. No live browser was run.Test setup
🤖 Generated with Claude Code (Haiku 5.5, verified by Opus 5.5) 🦊
@XinwangTao commented on GitHub (Oct 21, 2026):
Thanks for the Claude Code / Linux datapoint, CassieFox23. The schema/behaviour mismatch you noticed is worth pinning down: the schema declares channel_threshold as integer 0–255, yet 0.1 (a non-integer float) is accepted and works, which means the declared type and the actual validation don't agree. If the intent is to accept fractional thresholds, the schema should be widened to number (and docs updated); if only integers are valid, the float acceptance is a separate validation bug. This inconsistency also explains part of the "expected number, received string" confusion for clients that just mirror the schema. Either way, aligning schema + validation + docs here would close the remaining gap on 6.7.0+.
@CassieFox23 commented on GitHub (Oct 21, 2026):
Thanks, XinwangTao. To be clear on what I ran:
0as a number worked, and"0.1"as a string got the type error. I never sent a plain number 0.1. My line about 0.1 came from reading the schema, not from a test. So I can't confirm the float case either way.🤖 Written with Claude Code (Haiku 5.5, verified by Opus 5.5), posted with my OK 🦊
@XinwangTao commented on GitHub (Oct 21, 2026):
Thanks for the clarification, CassieFox23 — so the float case (plain number 0.1) is still untested, which means the schema/validation mismatch I flagged is unconfirmed either way. A quick probe sending a real numeric 0.1 (and 0.25) to compare_web_screenshots on main would settle it: if accepted, the integer 0–255 declaration is wrong and should be widened to number; if rejected, validation and schema agree and there's nothing to fix there. Separately, the 165 KB / 17-level compare_web_captures schema remains the plausible trigger for the Claude Desktop warning on 6.5.0 — worth verifying whether the compact-profile workaround (#4081) makes the connector warning disappear on the same client, which would isolate schema size/depth as the cause.
@Shreyash021104 commented on GitHub (Oct 21, 2026):
Checked the suspected cause against current
main(a5f982d): built from source and listed the tools over stdio (tools/list, protocol2025-06-18).$refor$defsanymore.compare_web_screenshotsnow has a flat input schema (1,465 bytes):beforeandafterare plain objects, andchannel_thresholdis an integer (0 to 255). There is nothing left for a client to resolve, so the string-argument failure described here should be gone.compare_web_capturesis still the largest input schema in the catalog: 166,024 bytes of compact JSON (the next largest,inspect_analysis_view, is 49,804). It contains 230anyOf, 46oneOf, 18notand 220const.before_scenarioandafter_scenarioare about 48.7 KB each, andbeforeandafterabout 31.1 KB each.So the
$refpart looks fixed onmain, butcompare_web_capturesis still a very large nested schema. I could not test Claude Desktop itself (Linux only here).@fahadfarj, could you retest both tools on the latest release? If only
compare_web_capturesstill shows the connector warning, that would point at its schema size rather than references.@VarunRaj004 commented on GitHub (Oct 21, 2026):
Tested on REA 6.7.0 (pinned by rea setup) in Claude Desktop on Windows, Node 26.12.1, Claude Desktop .
compare_web_screenshots: called with two 1x1 PNG objects and channel_threshold: 0 as a number. It succeeded: status different, 1/1 pixels changed, max channel delta 255, mean 127.5. No “expected object, received string” errors.
compare_web_captures: loads and is callable, with no “problem with that connector” warning. I called it with no arguments and got the expected validation error for before/after/before_scenario/after_scenario. I did not run a full comparison with real inspect_web_page captures.
Not tested: 6.5.0, or a non-integer channel_threshold. Both symptoms from the report don’t reproduce on 6.7.0. @fahadfarj could you confirm after upgrading?
@Shreyash021104 commented on GitHub (Oct 21, 2026):
Thanks for testing on real Claude Desktop, that closes the gap I couldn't cover from Linux. Matches the schema check on main (no
$ref, flatcompare_web_screenshotsinput). The one open item is a fullcompare_web_capturesrun with realinspect_web_pagecaptures, given its input schema is still ~166 KB.@XinwangTao commented on GitHub (Oct 22, 2026):
VarunRaj004 的 Claude Desktop / Windows 实测很有价值:原始报告的两个症状(connector warning 和 string 参数校验失败)在 6.7.0 上都不再复现,说明 $ref 家族根因已随 npm 6.7.0 发布闭合。剩余两个未覆盖点值得收尾:1) channel_threshold 的浮点语义仍未实测——目前 schema 声明 integer 0-255,若真传 number 0.1 被接受则 schema 声明过窄,被拒绝则一致;2) compare_web_captures 尚未用真实 inspect_web_page 捕获跑完整对比,且其输入 schema 仍是目录里最大的(约 166 KB),需在原报告人升级后确认是否仍触发 connector warning——若仍触发,则可锁定为 schema 规模问题并推动 #2905/#3806 的 compact profile 默认化。
@CassieFox23 commented on GitHub (Oct 22, 2026):
Thanks, XinwangTao. I ran the float case on REA 6.7.0 over MCP, from Claude Code on Linux. I sent the number 0.1 as
channel_threshold. It was refused before any work: "expected int, received number". 0.25 gave the same error. So the integer schema and the check agree.A side note: with a threshold of 0, the tool's own example PNG fails. The error is "Invalid PNG chunk checksum". #3995 fixes that example. I did not run
compare_web_captures.🤖 Written and tested with Claude Code (Opus 5.5), posted with my OK 🦊
@XinwangTao commented on GitHub (Oct 23, 2026):
Thanks for running the float case, CassieFox23 — that settles the open question: the integer 0-255 schema declaration and the actual validation agree (0.1/0.25 both refused as "expected int"), so nothing needs widening there. The example-PNG checksum failure at threshold 0 being tracked by #3995 is a good catch too; after that lands, the tool's own docs example should work end to end. The remaining suspect stays compare_web_captures' ~166 KB schema size for the 6.5.0 connector warning, so asking the original reporter to retest on 6.7.0 is still the right next step.
@abdullah-erturk commented on GitHub (Oct 23, 2026):
Same on Windows 11 x64 + Claude Desktop with latest rea-agents (global npm install, node.exe + rea.mjs mcp).
Warning appears on every session; reproduces after reinstall/update.
@VarunRaj004 commented on GitHub (Oct 23, 2026):
Correction to my earlier comment. On REA 6.7.0 (pinned by rea setup) in Claude Desktop on Windows (Node 26.12.1, Claude Desktop), the connector warning does still appear: “Claude can’t use Compare Web Captures from REA because of a problem with that connector. Update or reinstall REA.” It shows at Claude Desktop startup, and I missed it in my first test. compare_web_screenshots is unaffected and works with object and number arguments.
Since compare_web_captures has no $ref on 6.7.0, the warning isn’t a $ref problem. That fits the large schema theory (about 166 KB). I’m testing REA_MCP_INPUT_SCHEMA_PROFILE=compact next and will report whether the warning goes away.
@morluto commented on GitHub (Oct 26, 2026):
For context, the original reporter of #4081 confirmed that the compact profile removes the same connector warning, while its later comments document the full-profile schema-size investigation and the #7119 revert. I closed that duplicate to keep the remaining work here; the full-profile warning remains open.
@VarunRaj004 commented on GitHub (Oct 27, 2026):
Result of the compact test (Windows, Claude Desktop Store install, REA ___, Claude Desktop ___):
Full profile (REA 6.7.0, default): the “problem with that connector” warning for Compare Web Captures appears after Claude Desktop starts.
With "env": { "REA_MCP_INPUT_SCHEMA_PROFILE": "compact" } in the REA server entry, I did not see the warning after fully quitting and reopening Claude Desktop.
The warning also came back once with env removed, so this isn’t a clean A-B-A yet. I’ve only done a few restarts.
This matches the 64 KiB per-tool limit from #4081 (full compare_web_captures is about 166 KB). I haven’t tested a release where compact is the default. Happy to take a look at the reverted fitting fix (#7119 / #7135) if that’s still wanted. Which direction would you prefer for the full profile?
@XinwangTao commented on GitHub (Oct 27, 2026):
Thanks for the compact test, VarunRaj004 — combined with the #4081 reporter's earlier confirmation, two independent Windows/Claude Desktop setups now show the compact profile removing the same connector warning, which strongly supports the schema-size theory (~166 KB > the 64 KiB per-tool client limit). The A-B-A wasn't fully clean; a quick alternation re-run (compact on/off a few more times) would firm it up. On direction: defaulting to the compact profile (already normalized via #2905/#3806) looks like the pragmatic near-term fix, while keeping the #7119-style fitting work as the longer-term option if schema fidelity matters. Happy to help validate whichever path is chosen.