stablyai/orca · error · RuntimeClientError

invalid_argument

invalid_argument

Error message

${remotePathSubject} requires --path to be an absolute path on the remote server.

What it means

Thrown by resolveRepoPathArgument when the runtime is remote (`isRemote` true) and the supplied `--path` is not an absolute server-side path. The local CLI's cwd is irrelevant to a paired runtime's filesystem, so a relative path would silently target the wrong machine; the builder rejects it. The check uses isAbsoluteServerPath and accepts a customizable `remotePathSubject` for callers that want a tailored message.

Source

Thrown at src/cli/repo-path-arguments.ts:25

    /^[A-Za-z]:[\\/]/.test(value) ||
    value.startsWith('\\\\') ||
    value.startsWith('//')
  )
}

export function resolveRepoPathArgument(
  inputPath: string,
  cwd: string,
  isRemote: boolean,
  remotePathSubject = 'Remote repo path'
): string {
  if (!isRemote) {
    return resolvePath(cwd, inputPath)
  }
  // Why: the local CLI cwd is unrelated to a paired runtime's filesystem.
  // Relative remote paths would silently target the wrong machine.
  if (!isAbsoluteServerPath(inputPath)) {
    throw new RuntimeClientError(
      'invalid_argument',
      `${remotePathSubject} requires --path to be an absolute path on the remote server.`
    )
  }
  return inputPath
}

View on GitHub (pinned to 1136503c6a)

Solutions

  1. Pass an absolute path on the remote machine: `--path /home/user/my-repo`.
  2. On Windows remote targets, use a server-style absolute path (`C:\\...` or the platform's server-path convention).
  3. If you intended a local operation, ensure the runtime is not paired/remote.

Example fix

// before (remote runtime)
linear ... --path ./my-repo
// after
linear ... --path /home/user/my-repo
Defensive patterns

Strategy: validation

Validate before calling

import { isAbsolute } from 'node:path'
// Use isAbsoluteServerPath() from the codebase for cross-platform server paths
if (isRemote && !isAbsolute(inputPath)) {
  throw new Error('Remote --path must be absolute on the remote server')
}

Type guard

function isRemoteAbsolute(path: string, isRemote: boolean): boolean {
  return !isRemote || isAbsolute(path) // or isAbsoluteServerPath(path) for server conventions
}

Prevention

When it happens

Trigger: Passing a relative repo path (e.g. `--path ./my-repo` or `--path ../sibling`) to any command operating against a remote Orca runtime. Any call to resolveRepoPathArgument with isRemote=true and a non-absolute inputPath.

Common situations: Running the same command against local and remote runtimes and forgetting that remote needs an absolute path. Assuming the CLI resolves remote paths relative to the remote user's home. SSH/relay sessions where the local cwd differs from the remote cwd.

Related errors


AI-assisted analysis of stablyai/orca@1136503c6a (2026-08-12). Data as JSON: /api/errors/6814de051dea7363. Report an issue: GitHub.