BloopAI/vibe-kanban · error

Provide `prompt`, or `issue_id` that has a non-empty title/d

Error message

Provide `prompt`, or `issue_id` that has a non-empty title/description.

What it means

The MCP `start_workspace` tool requires an execution prompt. It accepts either an explicit `prompt` argument or an `issue_id` whose linked issue yields a non-empty prompt (built from the issue's title/description via `build_workspace_prompt_from_issue`). If both resolve to nothing — no prompt passed, no issue_id passed, or the issue's title/description are empty — the tool returns this error instead of starting a workspace.

Source

Thrown at crates/mcp/src/task_server/tools/task_attempts.rs:172

                Ok(issue) => issue,
                Err(e) => return Ok(Self::tool_error(e)),
            };

            (
                Some(LinkedIssueInfo {
                    remote_project_id: issue.project_id,
                    issue_id,
                }),
                build_workspace_prompt_from_issue(&issue),
            )
        } else {
            (None, None)
        };

        let workspace_prompt = match prompt.or(issue_prompt) {
            Some(prompt) => prompt,
            None => {
                return Self::err(
                    "Provide `prompt`, or `issue_id` that has a non-empty title/description.",
                    None::<&str>,
                );
            }
        };

        let create_and_start_payload = CreateAndStartWorkspaceRequest {
            name: Some(name.clone()),
            repos: workspace_repos,
            linked_issue,
            executor_config: ExecutorConfig {
                executor: base_executor,
                variant,
                model_id: None,
                agent_id: None,
                reasoning_id: None,
                permission_policy: None,
            },

View on GitHub (pinned to 4deb7eca8f)

Solutions

  1. Pass a non-empty `prompt` argument describing the task to start_workspace.
  2. If using `issue_id`, verify the issue has a non-empty title or description via GET /api/remote/issues/{issue_id} before calling.
  3. Fill in the issue's title/description, or pass both prompt and issue_id so the prompt is always present.

Example fix

// before
start_workspace({ name: "fix-bug", repositories: [{ repo_id: "r1" }] })

// after
start_workspace({ name: "fix-bug", repositories: [{ repo_id: "r1" }], prompt: "Fix the login redirect bug described in issue #42" })
Defensive patterns

Strategy: validation

Validate before calling

// Rust caller, before invoking start_workspace
fn ensure_prompt(prompt: &Option<String>, issue: &Option<Issue>) -> Result<String, String> {
    if let Some(p) = prompt {
        if !p.trim().is_empty() { return Ok(p.clone()); }
    }
    if let Some(iss) = issue {
        let derived = format!("{} {}", iss.title, iss.description.as_deref().unwrap_or(""));
        if !derived.trim().is_empty() { return Ok(derived); }
    }
    Err("Provide a non-empty prompt, or an issue_id with non-empty title/description".into())
}

Type guard

fn has_prompt_input(prompt: &Option<String>, issue_title: &str, issue_desc: &str) -> bool {
    prompt.as_deref().map(|p| !p.trim().is_empty()).unwrap_or(false)
        || !issue_title.trim().is_empty()
        || !issue_desc.trim().is_empty()
}

Prevention

When it happens

Trigger: Calling start_workspace with neither `prompt` nor `issue_id`; calling with `issue_id` pointing to an issue whose title AND description are empty/whitespace so `build_workspace_prompt_from_issue` returns None; passing a whitespace-only `prompt` that trims to nothing.

Common situations: Agents/LLM clients invoking the MCP tool with only name/repositories filled in; automation scripts referencing issues created without descriptions; assuming any issue_id works when the issue is essentially blank.

Understand the failure class

Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.

Related errors


AI-assisted analysis of BloopAI/vibe-kanban@4deb7eca8f (2026-08-29). Data as JSON: /api/errors/130cf40aab12ca03. Report an issue: GitHub.