# Reported issues for OpenHCS

Pod holds 20 of 37 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to [OpenHCS](/mcp/openhcs).

## Most discussed

### Expose compiled materialized results to MCP inventory and viewer review

OpenHCS 0.8.6: with PipelineConfig.materialization_results_path set to an absolute output directory, a successful headless run wrote typed measurement CSVs and per-plane ROI ZIPs. The compiled artifact plan listed candidate paths, but openhcs_query_plate_files on the output plate returned zero result records because that directory is outside metadata-declared results_dir. openhcs_stream_plate_files_to_viewer rejected an exact persisted ROI ZIP path as "not found in the plate"; the MCP surface…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/134) · 2026-09-28 · open · 10 comments

### Canonical custom-function ID is visible remotely but absent from in-process source lookup

Named diagnosis owner: knowledge lazy-conversion sidecar, branch fix/knowledge-lazy-conversion-20261001 / PR377; parent owns installed engineering acceptance. This is related to376 by the local declaration/catalogue boundary, but distinct from its timeout.

Original installed request: remote owned5993 registration succeeded once for openhcs:engineering_calibration_classification_fixture, returned stable import openhcs.processing.custom_functions.engineering_calibration_classification_fixture.…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/379) · 2026-10-01 · open · 6 comments

### MCP dev-client response decoder raises JsonValue NameError after successful function-step mutation

Independent decoder owner: fix/mcp-inherited-dto-decoder-20261001, persistent worktree /home/ts/wt/openhcs-mcp-inherited-dto-decoder-20261001, based on main791650087e01c9d25766f12802a37296851f37cf. Current owners/open PRs checked; no decoder overlap found.

Fresh installed3d58912 persistent MCP dev-client shell called openhcs_add_function_step with pipeline_id=pipeline-1, function_id=skimage:exposure.adjust_gamma, name=paired350_identity, kwargs gamma=1/gain=1, napari_streaming_config…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/360) · 2026-10-01 · closed · 6 comments

### Retained viewer schema mismatch prevents MCP visual QA despite healthy client handshake

Observed on retained isolated H002,30September2026. Engineering integration owner: parent blind-analysis thread. Shared viewer protocol/lifecycle implementation owner already registered: openhcs-pr159-viewer-bind-owner (PR159). Primary geometry author is not yet identified; do not create a competing shared-file patch or silently expand PR159 scope.

Reproducer through the exposed MCP tool, no OS input:…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/280) · 2026-09-30 · open · 4 comments

### Preserve MCP call-boundary failures without post-dispatch transport fallback

Owner: OpenHCS blind-analysis coordinator (this thread). Reproduced through the owned installed OpenHCS 0.8.6 MCP dev-client/resident socket; reviewed production code 9f37cb66d, equivalent to merged #177 on main abb8b6116b.

A first source artifact-plan inspection of one 128x128 synthetic field with one registered callable hit the existing 10-second transport-inactivity limit at call_tool. Server PID 4141724 remained healthy and the warmed exact readonly inspection returned a sound plan later.…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/178) · 2026-09-29 · closed · 4 comments

### Napari rejects valid one- and two-channel source-channel carriers as invalid RGB

Native viewer rejects a valid singleton source-channel carrier
=============================================================

Integration owner: parent. Source repair owner: Schrodinger.
Checkpoint: remote main 58ee773b0c0d615e213ba5431513f5ee8c98223c,
ordinary private installed OpenHCS 0.8.7 including merged PR437 and PR446.
PR394 checked before assignment: head d4e800a7552623c8d5a55522aadea42728ecea6e;
its current changed-file roster does not contain napari_streaming_handlers.py.
Confirm…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/448) · 2026-10-02 · closed · 3 comments

### Selected official30 knowledge conversion exceeds the MCP observation deadline

Source repair owner: managed-viewer sidecar, now distinct knowledge lazy-conversion boundary owner, branch fix/knowledge-lazy-conversion-20261001 in /home/ts/wt/openhcs-knowledge-lazy-conversion-20261001; base main6ace57656. Parent owns installed acceptance and the occupied native slot.

Retained installed reproducer: openhcs_get_knowledge_document(document_id=openhcs_official30_benchmark_recipes, section_id=cp-tutorial-pixel-based-classification-openhcs-python, max_chars=50000) returns…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/376) · 2026-10-01 · open · 3 comments

### Admit custom-function persistence before dispatch and preserve execution endpoint ownership

## Verified defect

Custom-function persistence can cross a restricted MCP write-root boundary and
reach an unrelated shared execution endpoint. A timeout does not undo that
mutation or prove it absent.

Integration owner: OpenHCS issue-batch coordinator. Implementation owner:
Lovelace, using the existing function-catalog request/service, execution endpoint
and CustomFunctionManager declarations. No alternate registry or runner.

### Reproducer and evidence

Fresh installed OpenHCS source…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/230) · 2026-09-29 · closed · 3 comments

## Most recent

### MCP silently drops undeclared connection intent and submits to default endpoint

## Verified cause

Fresh H002 candidate03 supplied execution routing as an unadvertised nested `connection` object to `openhcs_create_orchestrator_session_from_pipeline_source`; successful candidate02 used advertised flat `host/port/transport_mode/persistent` fields.

The actual paired FastMCP `ArgModelBase` silently ignores extra keys. The nested object is discarded before the original OpenHCS FromFields binding sees it. Request defaults therefore select localhost / omitted port / omitted…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/484) · 2026-10-02 · closed · 1 comment

### Persistent dev-client shell truncates long recorded PTY commands before dispatch

## Confirmed defect

The persistent dev-client shell reads an interactive terminal with `stdin.readline()`. A Linux canonical PTY silently drops the part of an input line beyond 4095 bytes before this reader or `shlex` sees it. The recorder can retain and echo the complete send, so its log alone does not establish what the client received.

Original frozen H001 scientific client recording, without replay or mutation:…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/483) · 2026-10-02 · closed · 1 comment

### BioFormats MCP shutdown emits JPype fatal exception after successful requests

Integration owner: parent; source investigation assigned Dewey after completed PR453. Preserve Root394 compiler/catalog/kernel ownership; reuse the original JVM and MCP teardown owners, not a second shutdown path.

Observed on fresh ordinary wheel/private installation, PR453 production14c1b0982fff7c2af62bb26ecd247352dba2bcd3 (now merged, mainb68029c0cfc017c5a4b086bc607bff3c0bec6c01), paired Python3.12.3, shared Fiji downloads disabled, offscreen and4GiB/noSwap/oneCPU. Existing McpDevClient with…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/455) · 2026-10-02 · closed · 1 comment

### Expose detached viewer focus and window geometry through MCP

Expose native detached viewer focus and geometry through MCP
==========================================================

User reports retinal viewer disappeared. Actual read-only VNC5989 screenshot
shows new source-only viewer6004 in the foreground. Original ROI viewer6000
PID3687005 and new source viewer6004PID3888278 both alive. Worker confirms
new window covers old one. Existing detached native socket does not expose
focus/geometry; GUI-only focus requires unavailable bridge, whose actual…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/452) · 2026-10-02 · closed · 1 comment

### Saved ROI viewer streaming times out despite mounting the artifact

Integration owner: parent OpenHCS agent. MCP boundary implementation assigned to Dewey (original #436/#438 owner); viewer/scientific run remains Planck's. Related #421/#436 declare the original progress mechanism, but merged #438 only qualified source inspection: streaming is a distinct capability.

Verified installed real journey: after raw C1 is mounted on the exact isolated managed Napari viewer6000, ONE openhcs_stream_plate_files_to_viewer request for a saved ROI times out at the…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/441) · 2026-10-02 · closed · 1 comment

### Cold source artifact inspection lacks responsive MCP progress despite healthy native startup

Integration owner: parent; independent MCP declaration/affinity continuation of421/merged422. Compiler/catalog/kernel placement remains with the other machine owner and must not be moved or duplicated.

Fresh installed e2d72 OpenHCS0.8.7 public MCP/server3440672; exact native3443084 is READY and native catalog READY. Original ten-second dev-client call openhcs_inspect_pipeline_source_artifact_plan on complete five-step named raw/cap source exceeded stdio inactivity:…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/436) · 2026-10-02 · closed · 2 comments

### Renew MCP cold-start inactivity only on request-scoped progress acknowledgements

MCP request-scoped progress acknowledgements
==========================================

Integration owner: parent agent. Base: main25d56ae3fb9b80acda80f3cf4e1c8667939147eb.
The owner delegates compilation/catalog/kernel placement to the agent on the
other machine. This change owns only MCP declarations and shared client wait.
No compiler, registry preparation, server launcher or kernel location changes.

Existing EndpointStartupStatus callback_scope and MCP
_await_with_declared_progress…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/421) · 2026-10-02 · open · 0 comments

### Canonical dev-client decoder bypasses declared DTOs without compact renderers

Owner: Dewey (canonical dev-client ingress source), parent (integration/live).
S1 boundary handoff: original S1 implementation owner Arendt; no current open PR
lists dev_client_core.py/dev_client_rendering.py. Parent explicitly assigns this
bounded follow-up; no other owner's worktree/installed files are touched.

Actual installed paired397/388 engineering attempt1 failed after SUCCESSFUL native
startup: driver startup.handle raises AttributeError ('dict' has no attribute
'handle').…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/401) · 2026-10-01 · closed · 1 comment

### Decode declared MCP output contracts independently of compact renderers

Integration owner: parent Codex. Source owner: Dewey. Owner explicitly requested a fix.

## Actual installed reproducer

Private installed OpenHCS0.8.7, paired assembly4386cd11a815bf1885918bfba3c42d4fb6e6685f, wheel4356ef98feb0bcbc17f3d79c33611604d0dcdace2318a12ec66c7d5d420dab14. Fresh installed MCP health/resources pass. Public driver invokes startup once successfully, then fails at `startup.handle` because the decoded payload remains a dictionary.

Original request/response and failure…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/400) · 2026-10-01 · closed · 0 comments

### Managed image sampling misapplies semantic Y/X bounds on RGB payloads

Semantic image sampling applies Y/X bounds to X/color on RGB payloads
===================================================================

Discovered by parent during installed PR351 acceptance on2026-10-01.
Integration/source owner requested: Singer, alongside the managed-viewer QA
capture repair, without overlapping parent source-binding/axis work.

Reproducer
----------

Installed source3d58912d6e74e4b3dd4fa9e07a6b4a9d7dd9c7e4, wheel SHA…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/366) · 2026-10-01 · closed · 0 comments

### Normal GUI cold connect stops a preparing runtime before readiness; use existing exact-owner async startup lifecycle

GUI synchronous cold connect stops before catalogue readiness
=============================================================

Parent OpenHCS integration owns diagnosis and follow-through. Observed on own
private installed0.8.7, source8119577 and again merged901e9a49, isolated display91,
configured loopback execution5993/6993, UI5994. No provider/data/Fiji download.

The normal GUI startup path calls PlateManager.ensure_execution_server through
the ZMQClientService's synchronous ATTACH_OR_START…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/355) · 2026-10-01 · closed · 1 comment

### Installed widget-tree command crashes retained-result rendering and terminates persistent MCP shell

Installed widget-tree CLI rendering failure
==========================================

Integration owner: parent agent, PR349 existing command/rendering surface.
Observed installed wheel6bc699fc5c35652bfe81b07163f069dc821c7e0c28d36ff9d34629f20fd91029,
source8119577a0d087e7349d7eff62104bdc5f47bacb2,2026-10-01.

Reproducer in real persistent dev CLI: ``widget-tree WINDOW --descriptor-file-path
OWN_DESCRIPTOR``. The read-only tool returns, then CapabilityBackedCommandSpec's
new retained-result…

[Read the thread](https://github.com/OpenHCSDev/openhcs/issues/354) · 2026-10-01 · closed · 1 comment

The remaining reports are on [the project's issue tracker](https://github.com/OpenHCSDev/OpenHCS/issues).
