chenhg5/cc-connect · error

qoder: %q not found in PATH, install with: curl -fsSL https:

Error message

qoder: %q not found in PATH, install with: curl -fsSL https://qoder.com/install | bash

What it means

New in agent/qoder/qoder.go fails during agent construction when exec.LookPath cannot find the configured qoder CLI binary in PATH. The error names the exact command looked up (from opts key "qodercli", default "qodercli") and includes the vendor install one-liner.

Source

Thrown at agent/qoder/qoder.go:43

	configEnv    []string // env vars from [projects.agent.options.env]
	model        string
	mode         string // "default" | "yolo"
	sessionEnv   []string
	mu           sync.Mutex
}

func New(opts map[string]any) (core.Agent, error) {
	workDir, _ := opts["work_dir"].(string)
	if workDir == "" {
		workDir = "."
	}
	model, _ := opts["model"].(string)
	mode, _ := opts["mode"].(string)
	mode = normalizeMode(mode)

	cmd, extraArgs := core.ParseCmdOpts(opts, "qodercli")
	if _, err := exec.LookPath(cmd); err != nil {
		return nil, fmt.Errorf("qoder: %q not found in PATH, install with: curl -fsSL https://qoder.com/install | bash", cmd)
	}

	return &Agent{
		workDir:      workDir,
		cmd:          cmd,
		cliExtraArgs: extraArgs,
		configEnv:    core.ParseConfigEnv(opts),
		model:        model,
		mode:         mode,
	}, nil
}

func normalizeMode(raw string) string {
	switch strings.ToLower(strings.TrimSpace(raw)) {
	case "yolo", "bypass", "dangerously-skip-permissions":
		return "yolo"
	default:
		return "default"

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Install the CLI: curl -fsSL https://qoder.com/install | bash
  2. Verify with `which qodercli` that the binary resolves in the same environment the daemon runs in
  3. If a custom binary is configured, check the "qodercli" option in config.toml for typos
  4. Fix the service PATH (systemd Environment= or absolute cmd path) if it differs from your shell PATH

Example fix

// config.toml before
[agents.qoder]
command = "qoder-cli-wrong"
// after
[agents.qoder]
command = "qodercli"  # or ensure it is installed and in PATH
Defensive patterns

Strategy: validation

Validate before calling

if _, err := exec.LookPath("qodercli"); err != nil {
    return errors.New("qoder CLI not installed; run: curl -fsSL https://qoder.com/install | bash")
}

Try / catch

agent, err := qoder.New(opts)
if err != nil {
    if strings.Contains(err.Error(), "not found in PATH") {
        // surface install instructions to the operator
    }
    return err
}

Prevention

When it happens

Trigger: Creating a qoder agent (core.CreateAgent("qoder", opts)) on a machine where the qoder binary is not installed, or where opts["qodercli"] names a binary that does not exist in PATH.

Common situations: Fresh server/container without the qoder CLI installed; PATH missing the install directory (e.g. ~/.local/bin not in PATH under systemd); typo'd custom command name in config.toml options.

Related errors


AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06). Data as JSON: /api/errors/4082205f1273e85e. Report an issue: GitHub.