> For the complete documentation index, see [llms.txt](https://support.attackforge.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://support.attackforge.com/app/modules/ai-mcp-and-skills/update-project-test-case-lock.md).

# Update Project Test Case Lock

#### Description <a href="#description" id="description"></a>

Locks or unlocks an AttackForge project test case. Locking freezes the test case against further editing in the project. This is a **write** operation.

Use this tool - **not** `patch_project_testcase` - whenever you want to lock or unlock a project test case: `patch_project_testcase` cannot change the lock, and refuses to touch a test case while it is locked.

The shape of `args` is declared inline (see Building args for Write Tools), so no preparatory call is needed.

Preconditions: the caller must have at least View access to the project and be an Admin or Project Coordinator. On success the project test case id is returned.

#### How To Enable <a href="#how-to-enable" id="how-to-enable"></a>

1. Go to `Users`
2. Select the user you would like to provide access to this tool
3. Click on `Access > MCP`
4. Click on `Add Tools`
5. Select the tool `update_project_testcase_lock` and click `Add`

#### Example Prompts <a href="#example-prompts" id="example-prompts"></a>

* *Lock this test case in project X.*
* *Unlock the SQL injection test case so I can update it.*
* *Lock all the completed test cases on this project.*
* *Which test cases are locked, and can you unlock them?*

#### Parameters <a href="#parameters" id="parameters"></a>

| Parameter | Type   | Required | Description                                   |
| --------- | ------ | -------- | --------------------------------------------- |
| `args`    | object | Yes      | The lock-update payload - see the keys below. |

**`args` keys:**

| Key                   | Type    | Required | Description                                                                                                                                                             |
| --------------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `project_id`          | string  | Yes      | Id (24-hex) of the project the test case is allocated to. Source: `find_projects`.                                                                                      |
| `project_testcase_id` | string  | Yes      | Id (24-hex) of the project test case to lock or unlock - the per-project instance, NOT the parent library test case. Source: `find_project_testcases` (its `id` field). |
| `locked`              | boolean | Yes      | `true` to lock the test case, `false` to unlock it.                                                                                                                     |

> A locked test case is **excluded from the project's test case counters**, so locking or unlocking shifts the project's tested / not tested / total figures.

#### Example Response

```json
{
  "id": "656168055d7035a12ade4cb3"
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://support.attackforge.com/app/modules/ai-mcp-and-skills/update-project-test-case-lock.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
