# Reported issues for KiCad Tools

Pod holds 8 of 8 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [KiCad Tools](/mcp/kicad-tools).

## Most discussed

### update_pcb_from_schematic E2E tests fail against KiCad 10: pcbnew-written boards hit the kiutils net-name read gap

Found while flipping the macOS discovery suite step to gating for #8. Five tests fail on macos-15 against KiCad 10.0.5, all with the same crash:

- `tests/test_netlist_import.py::TestUpdatePcbE2E::test_initial_import`
- `tests/test_netlist_import.py::TestUpdatePcbE2E::test_reimport_idempotent`
- `tests/test_netlist_import.py::TestUpdatePcbE2E::test_value_update_preserves_position`
- `tests/test_netlist_import.py::TestUpdatePcbE2E::test_net_rename_orphans_traces`
- `tests/test_netlist_import.py::

[Read the thread](https://github.com/ProductOfAmerica/mcp-server-kicad/issues/11) · 2026-08-09 · closed · 3 comments

### export_gerbers single-layer mode fails against KiCad 10 CLI (exit 1, no output)

Found by the #5 measurement ([run 31294423917](https://github.com/ProductOfAmerica/mcp-server-kicad/actions/runs/31294423917)): the full suite on macos-15 against KiCad 10.0.5 passes 647/649, and both failures are this one invocation.

**Failing call** (`pcb.py:1282`, the single-layer mode of `export_gerbers`):

```
kicad-cli pcb export gerber --layers F.Cu --output <name>.gbr <file>.kicad_pcb
```

Exit code 1 with no output on KiCad 10.0.5 (macOS). The same invocation passes against KiCad 9 on 

[Read the thread](https://github.com/ProductOfAmerica/mcp-server-kicad/issues/8) · 2026-08-09 · closed · 3 comments

### No way to import a netlist onto a board (no Update PCB from Schematic) — blocks the bundled pcb-layout skill

### Summary

There is no way to get a schematic's netlist onto a board. Without it the bundled
`pcb-layout` skill cannot do the thing it exists to do, even on a schematic that passes
its own pre-flight with ERC = 0.

### What's missing

KiCad's schematic → PCB step (**Tools → Update PCB from Schematic**, F8) has no equivalent
here. I checked the full tool list across all five servers: no `import_netlist`, no
`update_pcb_from_schematic`, no `sync_schematic_to_board`. `export_netlist` /
`export_hi

[Read the thread](https://github.com/ProductOfAmerica/mcp-server-kicad/issues/4) · 2026-08-06 · closed · external user · 3 comments

### Unified server silently drops 18 kicad-cli tools (incl. run_drc/run_erc/exports) on macOS — breaks bundled pcb-layout skill

### Summary

On a default macOS KiCad install, the unified `mcp-server-kicad` server — the one
`.claude-plugin/plugin.json` configures — silently serves **89 tools instead of 107**,
dropping all 18 `_CLI_TOOLS`. Among them are `run_drc`, `run_erc`, and every export tool.

This breaks the plugin's own bundled `pcb-layout` skill, whose checklist opens and closes
on exactly those tools:

> - [ ] Pre-flight: verify ERC = 0 violations
> - [ ] Run DRC — must show zero violations

Neither gate can be s

[Read the thread](https://github.com/ProductOfAmerica/mcp-server-kicad/issues/2) · 2026-08-05 · closed · external user · 3 comments

### Decide parser strategy for KiCad 10+ (kiutils is unmaintained)

## Summary

We target KiCad 9 file formats, but our parsing dependency `kiutils` is pinned at 1.4.8 and is effectively unmaintained. Before we can meaningfully answer "do we support KiCad 10", we need to decide what to do about the parser. Bumping the version constants is not the work.

## Why this is not just a version bump

The KiCad version appears in three constants:

- `mcp_server_kicad/project.py`: `_KICAD_SCH_VERSION = 20250114`, `_KICAD_SYM_VERSION = "20231120"`
- `mcp_server_kicad/symbo

[Read the thread](https://github.com/ProductOfAmerica/mcp-server-kicad/issues/5) · 2026-08-08 · closed · 2 comments

### Plugin cannot be installed: marketplace.json source points at a local filesystem path

### Summary

`.claude-plugin/marketplace.json` declares the plugin source as a `file://` path on the
maintainer's own machine, so `claude plugin install kicad` fails for everyone else.

```json
"source": {
  "source": "url",
  "url": "file:///home/sc17/PycharmProjects/mcp-server-kicad"
}
```

### Reproduction

```
claude plugin marketplace add ProductOfAmerica/mcp-server-kicad
claude plugin install kicad
```

Result:

```
✘ Failed to install plugin "kicad": Failed to clone repository:
fatal: '/h

[Read the thread](https://github.com/ProductOfAmerica/mcp-server-kicad/issues/1) · 2026-08-05 · closed · external user · 2 comments

### Class-level pytestmark = [] does not cancel module-level skipif, 7 tests never run

## Summary

Four test classes set `pytestmark = []` intending to opt out of a module-level `skipif`. That is not how pytest works: marks are collected and unioned down the Module, Class, Function chain, never subtracted. The module-level skip still applies, so seven tests that explicitly do not need `kicad-cli` skip anyway on every machine without it.

## The sites

Module level:

- `tests/test_cli_pcb_export.py:11` `pytestmark = pytest.mark.skipif(not HAS_KICAD_CLI, reason="kicad-cli not found"

[Read the thread](https://github.com/ProductOfAmerica/mcp-server-kicad/issues/7) · 2026-08-08 · closed · 1 comment

### Windows: KiCad auto-discovery paths are Unix-only

## Summary

KiCad auto-discovery only looks in Linux and macOS locations. On Windows every discovery path misses, so symbol lookup and the pcbnew probe both fail unless the user sets environment variables manually.

## The Unix-only lists

`mcp_server_kicad/_shared.py`:

```python
_SYSTEM_SYM_DIRS: list[Path] = [
    Path("/usr/share/kicad/symbols"),
    Path("/usr/local/share/kicad/symbols"),
    Path("/Applications/KiCad/KiCad.app/Contents/SharedSupport/symbols"),
]
```

`mcp_server_kicad/_fre

[Read the thread](https://github.com/ProductOfAmerica/mcp-server-kicad/issues/6) · 2026-08-08 · closed · 1 comment

## Most recent

The remaining reports are on [the project's issue tracker](https://github.com/ProductOfAmerica/mcp-server-kicad/issues).
