# remove_case

Take one numbered case out of a proposal this connection filed. Name the number the review page shows, so P2 is caseNumber 2 of the passing list. A promise has to say both what must happen and what must never happen, so the last case in either list cannot be removed. Same limits as update_proposal.

Reviewed 2026-10-01. Read the [current operating instructions](https://app.balladeer.ai/agent) and the [tool index](/docs/mcp-reference.md). This reference does not authorize the action.

## Parameters

```json
{
  "type": "object",
  "properties": {
    "proposalId": {
      "description": "The proposal this connection filed, from propose_promise.",
      "type": "string",
      "pattern": "^cand_[a-z0-9]{8,64}$"
    },
    "reason": {
      "description": "Why you are changing it, in the person's own words where they gave you any. It is recorded on the proposal and read by whoever decides it. Name nobody in it: Balladeer records who connected you as the person behind this act, and a name from git, a commit or a file is not the person in the conversation. Say \"the person\" or quote their words.",
      "type": "string",
      "minLength": 1,
      "maxLength": 2000
    },
    "kind": {
      "description": "Which numbered list: passing is what must keep working, failing is what must be caught.",
      "type": "string",
      "enum": [
        "passing",
        "failing"
      ]
    },
    "caseNumber": {
      "description": "The number on the review page, counting from 1 within its own list.",
      "type": "integer",
      "minimum": 1,
      "maximum": 12
    }
  },
  "required": [
    "proposalId",
    "reason",
    "kind",
    "caseNumber"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
```

## Effect annotations

```json
{
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": false,
  "openWorldHint": false
}
```
