Skip to content

CLI reference

List of all verbs and flags for rayrf command line use. Workflows and examples are on CLI overview, spec details on Scripting and specs.

Local verbs

`rayrf benchmark`

Run CPU and/or CUDA benchmark pass. The command uses bundled geometry and prints one JSON result to stdout.

FlagValueDefaultMeaning
--backendcpu / cuda / bothbothBackend ladder to run (default: both available backends).
--device-indexDEVICE_INDEXReported GPU index for CUDA cases.
--qualityapproximate / standard / precisestandardStep count: approximate 100, standard 1000, precise 10000.
--single-size, --sizeSIZERun only one memory rung: 100MB, 1GB, 3GB, 10GB, 20GB, 40GB, 80GB, 100GB, 150GB, or 200GB.

`rayrf auth`

Manage the local license cache. Activation binds the key + machine id pair on the RayRF licensing service and persists the result for both the desktop UI and CLI. The auth subcommand does not require Pro.

FlagValueDefaultMeaning
--license-keyLICENSE_KEYLicense key to activate on this machine. Format: the same string you received by email after subscribing. Case is normalized to upper, surrounding whitespace stripped.
--machine-nameMACHINE_NAMEOptional human-readable label for this machine (shown in the account dashboard's seat list). Defaults to the host name.
--statusPrint the cached license state and perform a fresh server check. Default action when no other flag is given.
--deactivateRelease this machine's seat on the licensing service and clear the local cache.

`rayrf run`

Run one project or all projects in a folder (sequential). Exit codes on both forms: 0 all projects ran clean, 1 at least one failed at runtime, 2 no runtime failures but at least one was refused by validation (the same fixable-invocation code validate and --dry-run use). A folder batch keeps going past a bad project and reports the worst outcome.

FlagValueDefaultMeaning
--project, -pPROJECTPath to a single .rfsim/.emflux project file.
--folder, -fFOLDERPath to a folder containing .rfsim/.emflux projects.
--jobJOB_FILEPath to a YAML/JSON JobSpec.
--recursiveWhen using --folder, search recursively.
--backendBACKENDBackend to run: cpu, cuda, or a path to a backend executable. Overrides the job file's backend field. If omitted, auto-detected next to the app (CUDA preferred).
--air-around, --air-around-mmAIR_AROUND_MMOverride FDTD air around (mm).
--air-above, --air-above-mmAIR_ABOVE_MMOverride FDTD air above (mm).
--air-below, --air-below-mmAIR_BELOW_MMOverride FDTD air below (mm).
--dx, --dx-mmDX_MMOverride dx (mm).
--dy, --dy-mmDY_MMOverride dy (mm).
--dz, --dz-mmDZ_MMOverride dz (mm).
--meshuniform / gradedMesh-style override for this run. Both choices explicitly select Ratio strategy while retaining any Custom profile as an inactive draft. 'uniform' sets x/y/z multipliers to 1, so dx/dy/dz are literal everywhere. 'graded' uses the saved per-axis Ratio multipliers. Default: use the project's saved strategy.
--freq-min, --freq-min-mhzFREQ_MIN_MHZOverride frequency band minimum in MHz.
--freq-max, --freq-max-mhzFREQ_MAX_MHZOverride frequency band maximum in MHz.
--boundary-conditionBC_ALLOverride boundary condition (e.g. PML8).
--eps-rEPS_ROverride dielectric eps_r.
--thickness, --thickness-mmTHICKNESS_MMOverride dielectric thickness (mm).
--loss-tangentLOSS_TANGENTOverride every dielectric layer's loss tangent (tan d). 0 is lossless. FR4 is typically ~0.02, low-loss substrates ~0.001-0.005.
--loss-tangent-atLOSS_TANGENT_REF_HZOverride every dielectric layer's loss reference frequency, in Hz: the frequency its loss tangent is exact at. Required alongside a positive --loss-tangent on a stackup that carries no reference. It may lie outside the simulated band.
--fft-length-multiplier, --fft-multFFT_LENGTH_MULTIPLIERForce override FFT length multiplier used for S-parameter post-processing (zero-padding). Must be >= 1.
--qualityQUALITYAuto-mode quality. Name ("low"|"medium"|"high"|"very-high"|"med-high") or float in [0,3]. The effective project mode must be auto.
--quality-fracQUALITY_FRACAuto-mode quality as a slider fraction in [0, 1] (multiplied by 3).
--sim-modeauto / advancedForce simulation mode. Use auto with --quality. Advanced keeps the explicit settings.
--convergence, --no-convergenceEnable or disable the mesh-convergence study (--convergence / --no-convergence). When enabled the run repeats up to conv_max_passes backend passes, refining dx/dy/dz by conv_mesh_refine_factor per pass, until the deepest S-parameter dips stabilize within the conv_* thresholds. Omit to use the project's saved setting.
--perf-modePerformance-benchmark mode: keep mesh/domain at the chosen quality but loosen ringdown to a fixed -20 dB (1e-2 energy ratio) and disable the convergence study so a high-quality CPU run finishes in minutes instead of 30+ minutes.
--max-stepsMAX_STEPSHard cap on this run's backend steps in either simulation mode. It does not change the stored auto_max_steps or adv_max_steps setting. If the cap is hit before ring-down, the time record is truncated before the fields settle, so the S-parameter and radiation results are not converged.
--ringdown-min-stepsRINGDOWN_MIN_STEPSOptional minimum step before energy ringdown may stop the run, above the built-in floor of two excitation lengths every run keeps. Zero adds nothing above that floor. Omit to use the project value, which defaults to 0.
--vram-budget-mbVRAM_BUDGET_MBPost-export memory budget in MB. The CLI reads the realized GPU VRAM or CPU RAM estimate for the selected backend and refuses before launch when it exceeds this value (writes a manifest with status='vram_overflow_predicted'). Applies in auto and advanced modes. Default: no budget check.
--no-surface-currentsForce-disable surface current capture regardless of the project's saved setting.
--no-nf2ffForce-disable NF2FF far-field capture regardless of the project's saved setting. The far-field DFT is VRAM-resident and scales with the Huygens surface x frequency count, so skipping it on an S-parameter-only run avoids large VRAM use for results that are not needed.
--no-raw-fieldsForce-disable all 3D field frame exports regardless of the project's saved setting.
--export-port-csvAlso write the raw port time-series CSVs (port_signals_raw.csv and the per-port voltage CSVs), for debugging and external post-processing. Off by default. The S-parameters are stored from the backend's sparams.csv either way.
--skip-geometry-exportDo not write geometry.vtk/geometry.vdb when NF2FF or 3D field export would normally request it. Useful for very large domains when the mesh is not needed.
--dry-runApply overrides, validate, export the case, and print its exact mesh dimensions, cell count, timestep, and memory, then stop before launching the backend. Exit 2 if validation finds a blocking error.
--per-face-bcFACE=TYPE[:MM][]Set a per-face boundary condition (repeatable). FACE is one of x_lo, x_hi, y_lo, y_hi, z_lo, z_hi. TYPE is PML, PEC, or PMC. An optional :MM sets a fixed gap from the geometry to that face, realized exactly as given and overriding the air margins there. Faces without :MM follow the air margins. Example: --per-face-bc z_lo=PEC:2.0. Any per-face setting forces bc_all to Custom. Always give PEC/PMC faces an explicit gap.
--mesh-preview-sizeMESH_PREVIEW_SIZEPixel size of the mesh-preview PNG written by --export-mesh.
--save-after-runAfter the run, save the updated project (in-place unless --save-as is given).
--save-asSAVE_ASPath to save the project as after the run (implies --save-after-run).
--record-historyAppend the completed run to the project's GUI Run History rail. Off by default and does not imply --save-after-run.
--externalize-resultsproject / run / offWhere to store run results when the project is saved. 'project' writes results to a sidecar .rfsimout next to the .rfsim and makes that the project's saved default (so the .rfsim can be committed and the .rfsimout gitignored). 'run' does the same for this run only without changing the saved default. 'off' keeps results inside the .rfsim. Omit to use the project's own setting.
--out-dirOUT_DIRDirectory to write exports + run_manifest.json. Default: <project_dir>/_sim_result/<case>. With --folder, each project gets its own subdirectory here so no two runs share a manifest.
--export-sparamsall / s11 / s21 / noneallS-parameter CSV/PNG export selection.
--export-touchstoneAlso write Touchstone (.s1p/.s2p).
--export-smithWrite Smith chart PNG.
--export-polarWrite polar radiation pattern PNG (E-plane + H-plane).
--polar-freq-mhzPOLAR_FREQ_MHZTarget frequency (MHz) for the polar plot. The nearest recorded pattern frequency is used. Default: the centre of the simulated band.
--export-rad3dWrite 3D radiation pattern PNG (PyVista off-screen).
--rad3d-freq-mhzRAD3D_FREQ_MHZTarget frequency (MHz) for the 3D radiation plot. The nearest recorded pattern frequency is used. Default: the centre of the simulated band.
--export-rad3d-vtkAlso write radiation pattern as a VTK/VTP file.
--export-rad-patternWrite a flat radiation-pattern CSV (freq_hz,theta,phi,gain) from NF2FF data. Not a 3D render, so it runs under --no-3d-renders.
--export-meshWrite mesh preview PNG (PyVista off-screen).
--export-mesh-vtkAlso copy geometry.vtk into the out dir.
--export-currentsWrite surface-currents heatmap PNG at nearest frequency.
--currents-freq-mhzCURRENTS_FREQ_MHZTarget frequency (MHz) for surface currents. The nearest recorded frequency is used. Default: the centre of the simulated band.
--export-allConvenience: enable every export artifact.
--no-3d-rendersSkip PyVista off-screen exports (mesh preview, rad3d).
--setVAR_SET[]Variable override name=value applied before the run (repeatable, parametric-studio).
--settingNAME=VALUE[]Set any FDTD setting by name (repeatable), gated by the same value gate as the GUI. An unknown name, bad type/enum, or hard-bound value exits 2. A soft-bound value prints one warning and runs as set. See 'rayrf schema --what settings' for the field list.

`rayrf sweep`

Run the same strict sweep definition and sequential engine as the desktop app. By default state is kept under _sim_result and does not enter the GUI History rail. --record-history explicitly uses the project's History store.

`rayrf sweep preview`

Validate and print the mandatory per-point cost preview.

FlagValueDefaultMeaning
--project, -pPROJECTSaved project (.rfsim).
--accountACCOUNTRemote runner account. Defaults to saved config.
--fingerprintFINGERPRINTExpected remote runner identity fingerprint.
--jsonEmit machine-readable JSON events.
--definitionDEFINITIONStrict SweepDefinition JSON/YAML file.
--axisNAME=V1,V2,...[]Inline list axis (repeat for a second axis).
--combinegrid / zipTwo-axis combination (default: grid).
--all-portsDrive every port at each point.
--backendcpu / cudaSweep backend (default: cpu).
--targetTARGETlocal or remote:HOST:PORT (default: local).
--deviceDEVICERunner device for a remote target: auto (default), cpu, or cuda:INDEX.

`rayrf sweep run`

Preview, persist state, and run every sweep point.

FlagValueDefaultMeaning
--project, -pPROJECTSaved project (.rfsim).
--accountACCOUNTRemote runner account. Defaults to saved config.
--fingerprintFINGERPRINTExpected remote runner identity fingerprint.
--jsonEmit machine-readable JSON events.
--definitionDEFINITIONStrict SweepDefinition JSON/YAML file.
--axisNAME=V1,V2,...[]Inline list axis (repeat for a second axis).
--combinegrid / zipTwo-axis combination (default: grid).
--all-portsDrive every port at each point.
--backendcpu / cudaSweep backend (default: cpu).
--targetTARGETlocal or remote:HOST:PORT (default: local).
--deviceDEVICERunner device for a remote target: auto (default), cpu, or cuda:INDEX.
--nameNAMESweep name (default: project stem plus timestamp).
--state-dirSTATE_DIRDurable CLI sweep-state directory. Default: project _sim_result.
--record-historyWrite the sweep into the project's GUI Run History rail.

`rayrf sweep resume`

Resume failed or missing points from an exact saved base.

FlagValueDefaultMeaning
--project, -pPROJECTSaved project (.rfsim).
--accountACCOUNTRemote runner account. Defaults to saved config.
--fingerprintFINGERPRINTExpected remote runner identity fingerprint.
--jsonEmit machine-readable JSON events.
--sweep-idSWEEP_IDPersisted sweep id, such as s0001.
--state-dirSTATE_DIRCLI sweep-state directory used by the original run.
--record-historyRead the sweep from the project's GUI Run History rail.

`rayrf sweep retry`

Retry one failed point from an exact saved base.

FlagValueDefaultMeaning
--project, -pPROJECTSaved project (.rfsim).
--accountACCOUNTRemote runner account. Defaults to saved config.
--fingerprintFINGERPRINTExpected remote runner identity fingerprint.
--jsonEmit machine-readable JSON events.
--sweep-idSWEEP_IDPersisted sweep id, such as s0001.
--state-dirSTATE_DIRCLI sweep-state directory used by the original run.
--record-historyRead the sweep from the project's GUI Run History rail.
--point-indexPOINT_INDEXZero-based failed point index to run again.

`rayrf network`

Inspect, preview, or report port matching networks.

`rayrf network show`

The resolved ladder per networked port, with the compiled companion at the project timestep.

FlagValueDefaultMeaning
--projectPROJECTProject file (.rfsim).
--portPORTLimit to one 1-based port number.
--jsonMachine-readable rayrf-network/v1 envelope.

`rayrf network preview`

The ladder's continuous and dt-companion two-port response, plus the predicted matched S11 when recorded results exist for the port.

FlagValueDefaultMeaning
--projectPROJECTProject file (.rfsim).
--portPORT1-based port number.
--jsonMachine-readable rayrf-network/v1 envelope.

`rayrf network report`

Recorded per-part loss, totals, and the energy-balance residual from the last run.

FlagValueDefaultMeaning
--projectPROJECTProject file (.rfsim).
--jsonMachine-readable rayrf-network/v1 envelope.

`rayrf reprocess`

Recompute S-parameter CSV/PNG from embedded port time-series without running the backend. Updates the project file with refreshed embedded outputs.

FlagValueDefaultMeaning
--project, -pPROJECTPath to a single .rfsim/.emflux project file.
--folder, -fFOLDERPath to a folder containing .rfsim/.emflux projects.
--recursiveWhen using --folder, search recursively.
--fmin, --fmin-mhzFMIN_MHZOverride fmin (MHz).
--fmax, --fmax-mhzFMAX_MHZOverride fmax (MHz).
--fft-length-multiplier, --fft-multFFT_LENGTH_MULTIPLIEROverride FFT length multiplier used for reprocessing (>= 1).

`rayrf project`

Build, import, inspect, or mutate a project.

`rayrf project build`

Build a project from a spec file.

FlagValueDefaultMeaning
--specSPECSpec file (.json/.yaml).
--outOUTOutput project (.rfsim).

`rayrf project import`

Build or extend a project from a strict board-import JSON spec. The spec explicitly selects detected or enumerated row roles, Gerber copper polarity, drill plating, the dielectric source, any undeclared DXF unit, the KiCad or openEMS destination, and optional project settings and authored shapes. Existing project and result-sidecar paths refuse unless --replace is set.

FlagValueDefaultMeaning
--specSPECBoard-import spec JSON (schema --what board-import).
--outOUTOutput project (.rfsim).
--replaceReplace an existing output project and its result sidecar.
--jsonEmit the effective assignments and import report as JSON.

`rayrf project import-openems`

Import openEMS / CSXCAD XML through the same strict assignment and destination contract as project import. This alias requires format openems in the board-import spec.

FlagValueDefaultMeaning
--specSPECBoard-import spec JSON (schema --what board-import).
--outOUTOutput project (.rfsim).
--replaceReplace an existing output project and its result sidecar.
--jsonEmit the effective assignments and import report as JSON.

`rayrf project export-dxf`

Export selected project layers and explicitly selected utility geometry to one DXF or one file per selection. Existing targets refuse unless --replace is set.

FlagValueDefaultMeaning
--projectPROJECTSaved project (.rfsim).
--outOUTOutput DXF drawing (.dxf).
--replaceReplace an existing DXF drawing.
--jsonEmit the structured DXF export report as JSON.
--layerLAYER[]Project layer name to export, repeatable. Defaults to all layers.
--separateWrite filename-[layer].dxf for each selected layer/utility.
--no-outlineDo not export the Board Outline utility layer or the board cutouts.
--no-portsDo not export the Ports utility layer.
--no-drillsDo not export via drills or holes.

`rayrf project export-openems`

Export supported project geometry, materials, vias, holes and cutouts, one active axis-aligned lumped port, boundaries, mesh, and a Gaussian band to openEMS XML. Unsupported electrical content refuses the whole export. Text output is one outcome plus actionable warnings, and --json retains structured details. An existing XML file refuses unless --replace is set.

FlagValueDefaultMeaning
--projectPROJECTSaved project (.rfsim).
--outOUTOutput openEMS XML file (.xml).
--replaceReplace an existing openEMS XML file.
--jsonEmit the complete openEMS export report as JSON.

`rayrf project save-point`

Append a restorable project save point to Run History.

FlagValueDefaultMeaning
--projectPROJECTSaved project (.rfsim).
--jsonEmit the created record as JSON.

`rayrf project import-reference`

Import Touchstone or explicitly mapped CSV data into Run History.

FlagValueDefaultMeaning
--projectPROJECTSaved project (.rfsim).
--fileFILEReference data file.
--formatauto / touchstone / csvautoInput format. Auto recognizes .sNp, .csv, and .txt.
--nameNAMEHistory record name. Default: input filename.
--csv-kinddb-phase / real-imag / impedanceCSV value representation (required for CSV).
--freq-columnHEADER_OR_INDEXCSV frequency column name or zero-based index.
--value-columnHEADER_OR_INDEXCSV magnitude, real-S, or real-Z column.
--second-columnHEADER_OR_INDEXOptional CSV phase, imaginary-S, or imaginary-Z column.
--freq-unitauto / ghz / mhz / khz / hzautoCSV frequency unit. Auto reads the header first.
--parameterPARAMETERS11CSV S-parameter label, such as S11 or S10,2.
--z0-ohmsZ0_OHMS50CSV reference impedance in ohm (default: 50).
--accept-guessed-unitAccept Auto's magnitude-based frequency unit when no header names one.
--allow-many-skippedImport when more mapped CSV rows are skipped than used.
--jsonEmit the created record and effective mapping as JSON.

`rayrf project export-spec`

Export a project back to a spec.

FlagValueDefaultMeaning
--projectPROJECTProject (.rfsim).
--outOUTOutput spec (.json/.yaml).

`rayrf project query`

Project readout: shapes, variables, and settings.

FlagValueDefaultMeaning
--projectPROJECTProject (.rfsim).
--jsonEmit the full rayrf-query/v1 JSON document instead of the short human summary.

`rayrf project dump-settings`

Print every FDTD setting with its value, default, units, and description.

FlagValueDefaultMeaning
--projectPROJECTProject (.rfsim).
--jsonEmit a machine-readable JSON list.
--changed-onlyOnly show settings that differ from their default.
--categoryCATEGORYOnly show one category (e.g. boundary, mesh, frequency, field_export).
--advanced, --no-advancedRestrict to advanced-only (--advanced) or to non-advanced (--no-advanced) settings.

`rayrf project set`

Set variable values (validated).

FlagValueDefaultMeaning
--projectPROJECTProject (.rfsim).
--varVAR_SET[]name=value (repeatable).
--outOUTOutput project (defaults to in-place).

`rayrf project transfer-to-advanced`

Materialize auto-derived values as editable Advanced settings.

FlagValueDefaultMeaning
--projectPROJECTProject (.rfsim).
--outOUTOutput project (defaults to in-place).

`rayrf fields`

Inspect, convert, or view 3D field frames.

`rayrf fields inspect`

Print the field archive metadata as JSON.

FlagValueDefaultMeaning
pathPATHRFF field archive.

`rayrf fields convert`

Write a compressed field archive from a VTK or VDB frame.

FlagValueDefaultMeaning
pathPATHInput VTK or VDB frame.
--outOUTNew RFF output file. Existing files are refused.
--sourceE_mag / H_mag / U / Ex / Ey / Ez / Hx / Hy / HzE_magField quantity (default: E_mag).

`rayrf fields view`

Open a result directory in the standalone field viewer.

FlagValueDefaultMeaning
pathPATHResult directory containing frames.json.
--photorealistic-geometry, --no-photorealistic-geometrytrueUse studio lighting, cream dielectric, rough copper, field illumination, and contact shading with visual copper bevels.
--show-meshing, --no-show-meshingShow mesh cell outlines on geometry, independently of material lighting.
--max-fpsMAX_FPS30Maximum playback frames per second (default: 30). Loading and rendering can reduce the rate.

`rayrf schema`

Print the JSON Schema / reference for a file format or contract.

FlagValueDefaultMeaning
--whatfields / spec / board-import / query / settings / shapes / ports / boundaries / mesh / manifest / allallfields, spec, board-import, query, settings, shapes, ports, boundaries, mesh, manifest, or all.

`rayrf guide`

Built-in reference: orientation and topics (fields, workflow, geometry, ports, networks, boundaries, meshing, settings, diagnostics, remote, sweeps, pitfalls).

FlagValueDefaultMeaning
TOPICTOPICTopic to print. Omit it for the orientation and the topic list.

`rayrf validate`

Validate a project, spec, or job without running the backend. Prints blocking errors and advisory warnings.

FlagValueDefaultMeaning
--project, -pPROJECTProject (.rfsim) to validate.
--specSPECProject spec (.json/.yaml) to build and validate.
--jobJOBJobSpec (.json/.yaml) to validate.
--jsonEmit a machine-readable JSON report.

`rayrf estimate`

Derive the auto-mode mesh and print cell count, VRAM, boundary sizing, and runtime cost without running the backend.

FlagValueDefaultMeaning
--project, -pPROJECTProject (.rfsim).
--qualityQUALITYQuality name or 0..3 to estimate at (default: the project's saved quality).
--jsonEmit a machine-readable JSON report.

`rayrf mesh`

Explain, print, or compare the exact realized mesh.

`rayrf mesh explain`

Explain mesh regions, faces, cost, and timestep ownership.

FlagValueDefaultMeaning
--project, -pPROJECTProject (.rfsim).
--qualityQUALITYQuality name or 0..3 to realize at. This reports an auto-derived override even for an advanced project. Omitted uses saved settings.
--jsonEmit a rayrf-mesh/v1 JSON report.

`rayrf mesh lines`

Print the exact mesh-line arrays a run will consume.

FlagValueDefaultMeaning
--project, -pPROJECTProject (.rfsim).
--qualityQUALITYQuality name or 0..3 to realize at. Omitted uses saved settings.
--axisx / y / zLimit output to one axis.
--jsonEmit a rayrf-mesh-lines/v1 JSON document.

`rayrf mesh diff`

Compare mesh lines with a project or exported case. Per-line drift up to 1e-12 of the smaller adjacent local pitch is treated as serialization noise. The report keeps the actual maximum delta.

FlagValueDefaultMeaning
--project, -pPROJECTProject (.rfsim).
--againstAGAINSTProject, mesh-lines JSON, files.json, or case dir.
--qualityQUALITYQuality name or 0..3 for every project side. Fixed JSON and case lines are unchanged.
--jsonEmit a rayrf-mesh-diff/v1 JSON report.

`rayrf calc`

RF transmission-line and antenna calculators (microstrip, patch with inset feed, quarter-wave, Smith, cpw, ...). Frequencies in GHz, lengths in mm, impedances in ohm.

FlagValueDefaultMeaning
calc_kindmicrostrip / stripline / cpw / gcpw / diff / embedded / patch / lambda / lambda-diel / qwt / smithWhich calculator to run.
--freqFREQFrequency (GHz).
--erERSubstrate relative permittivity.
--hHSubstrate height (mm).
--wWStrip width (mm). Omit it to solve from --z0.
--z0Z0Target/reference impedance (ohm). The patch feed and smith use 50 when it is omitted.
--sSGap/spacing (mm) for cpw/gcpw/diff.
--bBPlate spacing (mm) for stripline.
--tTCopper thickness (mm) for stripline. Omitted, the result uses and prints 0.035 mm (1 oz). 0 is a strip of no thickness.
--h2H2Cover height (mm) for embedded microstrip.
--er2ER2Cover permittivity for embedded microstrip.
--tandTANDDielectric loss tangent. Given, the line calculators report dielectric loss. Omitted, the model runs lossless and prints no loss field.
--z1Z1Source impedance (ohm) for qwt.
--z2Z2Load impedance (ohm) for qwt.
--rRResistance (ohm) for smith.
--xXReactance (ohm) for smith.
--jsonEmit a machine-readable JSON report.

Remote verbs

The serve and remote verb group runs and drives remote runner boxes. Setup walkthrough: Runner setup.

`rayrf serve`

Run the remote-runner daemon.

FlagValueDefaultMeaning
--state-dirSTATE_DIR
--nameNAMErunner name (default: computer name)
--ownerOWNERowner account email. Only this account gets control, everyone else connects view-only
--hostHOSTbind address (default 0.0.0.0)
--portPORTTCP port (default 8787)
--slotsSLOTSat most this many jobs at once, on top of one job per device (default: one per exposed device)
--devicesDEVICESthe devices jobs may run on, as a comma-separated list of cpu and cuda:<index> (for example cpu,cuda:0). Omitted, the runner exposes every device this box can run on: the CPU when the CPU backend is present and each NVIDIA GPU when the CUDA backend answers. A job names one of them or auto, which takes the first free one, GPUs first. --install persists it to runner.json.
--backend-dirBACKEND_DIRdirectory containing the backend binary (searched first)
--advertiseADVERTISEauto (default), explicit host:port, or off
--license-keyLICENSE_KEYaccount license key (or set RAYRF_LICENSE_KEY). A Pro account key licenses the runner with no seat consumed: the website signs a machine-bound token per job, and the same key registers with the broker for 'discover by account'. --install persists it to runner.json. The key is never sent to a peer.
--allow-unlicenseddevelopment option for a trusted LAN: run jobs without the backend license gate on a runner with no activated license. Without this flag an unlicensed runner refuses to serve. The mode is reported to every connecting client in the handshake.
--open-ownertrusted-LAN option: with no --owner configured, grant owner control to any connecting peer instead of the default view-only role
--installgenerate identity + config, print fingerprint
--autostartalso emit a run-on-startup service unit
--healthprint status JSON and exit
--serversprint this box's hardware and current load, then exit
--windowrun the runner with a status window instead of the console. The editor's "Use this computer as a runner" button starts this.

`rayrf remote`

Drive a remote runner.

`rayrf remote ls-jobs`

List jobs on a runner.

FlagValueDefaultMeaning
--hostHOST
--portPORT8787
--fingerprintFINGERPRINTpinned runner SPKI fingerprint (hex)
--accountACCOUNT

`rayrf remote status`

Job status.

FlagValueDefaultMeaning
--hostHOST
--portPORT8787
--fingerprintFINGERPRINTpinned runner SPKI fingerprint (hex)
--accountACCOUNT
job_idJOB_ID

`rayrf remote info`

The runner's advertised hardware and version.

FlagValueDefaultMeaning
--hostHOST
--portPORT8787
--fingerprintFINGERPRINTpinned runner SPKI fingerprint (hex)
--accountACCOUNT

`rayrf remote submit`

Submit a pre-exported case dir.

FlagValueDefaultMeaning
--hostHOST
--portPORT8787
--fingerprintFINGERPRINTpinned runner SPKI fingerprint (hex)
--accountACCOUNT
--case-dirCASE_DIR
--specSPECsimulation runner JSON with only job_kind and device
--metaMETAmetadata JSON
--deviceDEVICEthe runner device to run on: auto (a free device, GPUs first), cpu, or cuda:<index>. The runner queues the job until that device is free
--waitattach and stream to completion

`rayrf remote poll`

Poll status until terminal or timeout.

FlagValueDefaultMeaning
--hostHOST
--portPORT8787
--fingerprintFINGERPRINTpinned runner SPKI fingerprint (hex)
--accountACCOUNT
job_idJOB_ID
--intervalINTERVAL5seconds between status checks (default 5)
--timeoutTIMEOUTgive up after this many seconds (0 = no limit)

`rayrf remote list-files`

List a finished job's result files.

FlagValueDefaultMeaning
--hostHOST
--portPORT8787
--fingerprintFINGERPRINTpinned runner SPKI fingerprint (hex)
--accountACCOUNT
job_idJOB_ID

`rayrf remote fetch`

Download results.

FlagValueDefaultMeaning
--hostHOST
--portPORT8787
--fingerprintFINGERPRINTpinned runner SPKI fingerprint (hex)
--accountACCOUNT
job_idJOB_ID
--destDEST
--artifactsauto / ports / pattern / mesh / currents / fields / all

`rayrf remote cancel`

Cancel a job.

FlagValueDefaultMeaning
--hostHOST
--portPORT8787
--fingerprintFINGERPRINTpinned runner SPKI fingerprint (hex)
--accountACCOUNT
job_idJOB_ID

`rayrf remote describe-schema`

Print the JobSpec / ExportSpec / telemetry contract (no connection)