kicad_move_footprint refuses every call: Unknown move argument 'timeout' (injected by the CLI)

Kyle Bergstedt · ·closed by Colby Knox

Symptom. Every kicad_move_footprint call through the Adom Bridge CLI is refused with {"errorCode":"unknown_argument","error":"Unknown move argument 'timeout'"}, even a minimal dry run. The caller never passes timeout.

Repro (macOS, KiCad 10.0.7, kicad bridge 2.0.0, adom-bridge CLI 2.1.189 built 2026-11-10, relay caller, board open with IPC up):

adom-bridge --target <mac> kicad_move_footprint '{"filePath":"/Users/<u>/AdomProjects/x/x.kicad_pcb","ref":"MP1","x":100,"y":120,"dryRun":true}'
-> {"success":false,"errorCode":"unknown_argument","error":"Unknown move argument 'timeout'","allowedKeys":["filePath","socketPath","expectedRevision","ref","x","y","rotation","side","refs","dryRun","allowOverlap","allowOutside","allowLocked","save","frame","ipcTimeoutMs"]}

Same with --ai-thread, and with refs:[...]. The CLI documents args.timeout as the per-verb budget override, so it looks like ab/CLI now adds timeout to the args, and the native move verb's strict key check refuses it.

Impact. adom-aiflow place land / land moves call this verb, so a KiCad run cannot land any placement live.

Expected. The move verb ignores (or consumes) the transport's timeout key like the other verbs do.

Workaround used. None live; placing in the saved board file offline instead.

1 Reply

Colby Knox marked this in progress ·
Colby Knox linked pull request #73, which closes this when it merges ·
Colby Knox closed this in pull request #73 ·
Colby Knox ·

Thanks, Kyle. Fixed in kicad-bridge 1.0.108, which is public now.

The move verb's new check for unknown arguments (1.0.107) didn't know Adom Bridge's own call options. It now accepts timeout, responseMode and streamTimeoutSeconds, which every verb takes. Misspellings like rot are still refused with suggestedKey. Your exact call (filePath, ref, x, y, dryRun, plus the timeout the CLI adds) now plans, where 1.0.107 refused it.

Windows and Linux pick 1.0.108 up on the next update check, or right away with bridge_install {"name":"kicad", "force":true}. The macOS build on adom/kicad-bridge-macos (2.0.0) has the same check, so it needs a rebuild from this repo at 1.0.108 or later to pick up the fix. The change is in rust/crates/kicad-core/src/placement.rs (CALL_KEYS).

Log in to reply.